├── Assets ├── Images │ ├── Question-Main.blp │ ├── CHATBUBBLE-TAIL.BLP │ ├── Question-HTile.blp │ ├── Question-VTile.blp │ ├── ReadyCheck-Ready.blp │ ├── Locations │ │ ├── Durotar.blp │ │ ├── Duskwood.blp │ │ ├── Felwood.blp │ │ ├── Feralas.blp │ │ ├── Mulgore.blp │ │ ├── Silithus.blp │ │ ├── Standard.blp │ │ ├── Tanaris.blp │ │ ├── Westfall.blp │ │ ├── Wetlands.blp │ │ ├── Ashenvale.blp │ │ ├── DunMorogh.blp │ │ ├── Ironforge.blp │ │ ├── LochModan.blp │ │ ├── Moonglade.blp │ │ ├── Teldrassil.blp │ │ ├── TheBarrens.blp │ │ ├── Undercity.blp │ │ ├── DeadwindPass.blp │ │ ├── ElwynnForest.blp │ │ ├── SearingGorge.blp │ │ ├── StormwindCity.blp │ │ ├── UngoroCrater.blp │ │ ├── Winterspring.blp │ │ ├── AlteracMountains.blp │ │ ├── ArathiHighlands.blp │ │ ├── BurningSteppes.blp │ │ ├── DustwallowMarsh.blp │ │ ├── SilverpineForest.blp │ │ ├── TheHinterlands.blp │ │ ├── BlackrockMountain.blp │ │ ├── EasternPlaguelands.blp │ │ ├── HillsbradFoothills.blp │ │ ├── RedridgeMountains.blp │ │ ├── StranglethornVale.blp │ │ ├── WesternPlaguelands.blp │ │ ├── StonetalonMountains.blp │ │ └── BackgroundPicturesources.txt │ ├── ReadyCheck-NotReady.blp │ ├── question-background.blp │ ├── PetBattle-SelectedPetGlow.blp │ ├── UI-Achievement-IconFrame.blp │ ├── GarrZoneAbility-TradingPost.blp │ ├── GarrMission_RewardsBanner-Desaturate.tga │ ├── PandarenTrainingLarge_Circular_Flash.blp │ ├── PandarenTrainingLarge_Circular_Frame.blp │ └── UI-GuildAchievement-Parchment-Horizontal.blp ├── Animations.lua ├── Localisation.lua └── Models.lua ├── .gitattributes ├── VanillaStoryline.toc ├── .gitignore ├── README.md └── VanillaStoryline.lua /Assets/Images/Question-Main.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Question-Main.blp -------------------------------------------------------------------------------- /Assets/Images/CHATBUBBLE-TAIL.BLP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/CHATBUBBLE-TAIL.BLP -------------------------------------------------------------------------------- /Assets/Images/Question-HTile.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Question-HTile.blp -------------------------------------------------------------------------------- /Assets/Images/Question-VTile.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Question-VTile.blp -------------------------------------------------------------------------------- /Assets/Images/ReadyCheck-Ready.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/ReadyCheck-Ready.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Durotar.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Durotar.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Duskwood.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Duskwood.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Felwood.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Felwood.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Feralas.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Feralas.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Mulgore.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Mulgore.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Silithus.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Silithus.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Standard.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Standard.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Tanaris.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Tanaris.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Westfall.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Westfall.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Wetlands.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Wetlands.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Ashenvale.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Ashenvale.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/DunMorogh.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/DunMorogh.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Ironforge.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Ironforge.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/LochModan.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/LochModan.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Moonglade.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Moonglade.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Teldrassil.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Teldrassil.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/TheBarrens.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/TheBarrens.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Undercity.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Undercity.blp -------------------------------------------------------------------------------- /Assets/Images/ReadyCheck-NotReady.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/ReadyCheck-NotReady.blp -------------------------------------------------------------------------------- /Assets/Images/question-background.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/question-background.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/DeadwindPass.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/DeadwindPass.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/ElwynnForest.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/ElwynnForest.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/SearingGorge.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/SearingGorge.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/StormwindCity.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/StormwindCity.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/UngoroCrater.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/UngoroCrater.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/Winterspring.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/Winterspring.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/AlteracMountains.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/AlteracMountains.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/ArathiHighlands.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/ArathiHighlands.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/BurningSteppes.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/BurningSteppes.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/DustwallowMarsh.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/DustwallowMarsh.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/SilverpineForest.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/SilverpineForest.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/TheHinterlands.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/TheHinterlands.blp -------------------------------------------------------------------------------- /Assets/Images/PetBattle-SelectedPetGlow.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/PetBattle-SelectedPetGlow.blp -------------------------------------------------------------------------------- /Assets/Images/UI-Achievement-IconFrame.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/UI-Achievement-IconFrame.blp -------------------------------------------------------------------------------- /Assets/Images/GarrZoneAbility-TradingPost.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/GarrZoneAbility-TradingPost.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/BlackrockMountain.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/BlackrockMountain.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/EasternPlaguelands.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/EasternPlaguelands.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/HillsbradFoothills.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/HillsbradFoothills.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/RedridgeMountains.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/RedridgeMountains.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/StranglethornVale.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/StranglethornVale.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/WesternPlaguelands.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/WesternPlaguelands.blp -------------------------------------------------------------------------------- /Assets/Images/Locations/StonetalonMountains.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/Locations/StonetalonMountains.blp -------------------------------------------------------------------------------- /Assets/Images/GarrMission_RewardsBanner-Desaturate.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/GarrMission_RewardsBanner-Desaturate.tga -------------------------------------------------------------------------------- /Assets/Images/PandarenTrainingLarge_Circular_Flash.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/PandarenTrainingLarge_Circular_Flash.blp -------------------------------------------------------------------------------- /Assets/Images/PandarenTrainingLarge_Circular_Frame.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/PandarenTrainingLarge_Circular_Frame.blp -------------------------------------------------------------------------------- /Assets/Images/UI-GuildAchievement-Parchment-Horizontal.blp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tubtubs/VanillaStoryline/HEAD/Assets/Images/UI-GuildAchievement-Parchment-Horizontal.blp -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /VanillaStoryline.toc: -------------------------------------------------------------------------------- 1 | ## Interface: 11200 2 | ## Title: VanillaStoryline |ccf3CE13FV2 3 | ## Author: |cffABD473Renew @ nostalrius.org - updated by |ccf3CE13Ftubtubs 4 | ## Version: 2.1 5 | ## Notes: VanillaStoryline - by |cff00FF00Renew |r@ nostalrius.org updated by |ccf3CE13Ftubtubs 6 | ## DefaultState: Enabled 7 | ## LoadOnDemand: 0 8 | ## SavedVariables: StorylineOptions, UserNPCModels, UserPlayerModels 9 | 10 | Assets\Localisation.lua 11 | Assets\Animations.lua 12 | Assets\Models.lua 13 | VanillaStoryline.lua 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # VanillaStoryline 2 | An enhanced version of the original vanilla wow gossip/quest dialog replacer. 3 | 4 | # Installation: 5 | 1. Click the Code button to the upper right hand corner and select download or click [here](https://github.com/tubtubs/VanillaStoryline/archive/refs/heads/master.zip). 6 | 2. Unzip the download into your Interface/Addons folder in your WoW directory. Eg: *C:\Games\WoW\Interface\Addons* 7 | 3. Rename the folder from *VanillaStoryline-master* to *VanillaStoryline* 8 | 4. Restart WoW and enable the addon from the character selection screen. Ensure your addon memory cap is set to 0 (no limit) as well. 9 | 10 | You can also use the [GitAddonsManager](https://gitlab.com/woblight/GitAddonsManager) to install this addon. 11 | 12 | -If there are any further issues with installation, ensure that *VanillaStoryline.toc* is in the root folder. There should be no subdirectories. Eg: *C:\Games\WoW\Interface\Addons\VanillaStoryline\VanillaStoryline.toc* 13 | 14 | # Improvements: 15 | - v2.1 16 | Fixed many models for creature/misc NPC models. Something like 150+ vanilla models are properly supported now 17 | Can rotate, scale and move around NPC models and have it save. Player models can scale and rotate, however moving doesn't save 18 | Fixed PFui gossip setting, should work the first time now 19 | Fixed minor word wrapping issue in the clickable dialog area 20 | Default Window level of 6 will prevent unit frames and XP bar text from drawing over it 21 | Added more options relating to model manipulation to locally save move models 22 | - v2.0 23 | - Disabled click through to avoid issues with spamming interact through the window 24 | - Re-aligned the quest description text to avoid overlapping with the continue prompt 25 | - Added an option to disable pfUIs gossip/quest skin, offering a solution to the blank window that spawns otherwise when using pfUI. This option is hidden if pfUI is not installed. The original option to hide the quest log exists seperately for compability. 26 | -------------------------------------------------------------------------------- /Assets/Images/Locations/BackgroundPicturesources.txt: -------------------------------------------------------------------------------- 1 | http://kanaru92.deviantart.com/art/Ironforge-329663154 2 | http://wowwiki.wikia.com/wiki/Burning_Steppes 3 | http://us.battle.net/wow/en/media/artwork/wow-cataclysm?view=cin-durotar 4 | http://majamcgowan.deviantart.com/art/Lion-s-Pride-Inn-Elwynn-Forest-423767910 5 | http://superphazed.deviantart.com/art/I-remember-Mulgore-347651373 6 | http://www.deviantart.com/art/Teldrassil-forest-494496367 7 | http://www.artfind.co.nz/artwork/rspanekiri 8 | http://spellbound.nu/wp-content/uploads/2011/10/WoWScrnShot_052211_183456.jpg 9 | http://www.buffed.de/screenshots/original/2015/07/WoW_UnrealEngine4__3_-buffed_b2article_artwork.jpg 10 | https://www.reddit.com/comments/zfqtj 11 | http://3.bp.blogspot.com/_ThoOa2JpDFM/TNfOX3eBuqI/AAAAAAAABDI/Qsd7DjhzkNk/s1024/stonetalon2.jpg 12 | http://jkroots.deviantart.com/art/Duskwood-409484952 13 | http://pre09.deviantart.net/fcec/th/pre/f/2013/178/5/a/wetlands_by_chromatinker-d6art2r.jpg 14 | http://kardonn.deviantart.com/art/Dawn-in-Alterac-Valley-WIP-371572542 15 | http://img01.deviantart.net/d168/i/2008/162/e/3/arathi_highlands_by_vailed_twilight.jpg 16 | https://bnetcmsus-a.akamaihd.net/cms/gallery/9TPIPJ6XH5MD1369244322118.jpg 17 | http://media.moddb.com/images/mods/1/16/15243/dustwallowmarshshow.jpg 18 | http://cunningfox.deviantart.com/art/Fun-in-Feralas-494122899 19 | http://www.pcgames.de/screenshots/original/2014/06/dragon_age_inquisition_hinterlands-pc-games_b2article_artwork.jpg 20 | https://cdn1.artstation.com/p/assets/images/images/001/743/969/large/majore-chris-tanaris7.jpg?1452097117 21 | http://wolfgan.deviantart.com/art/Searing-Gorge-Speed-Painting-487523374 22 | http://breath-art.deviantart.com/art/hunting-287467594 23 | http://www.deviantart.com/art/Plaguelands-203033541 24 | http://the-bells-of-luin.deviantart.com/art/The-Eastern-Plaguelands-88875455 25 | http://www.blogcdn.com/wow.joystiq.com/media/2011/08/morgansplot580.jpg 26 | http://www.deviantart.com/browse/all/?offset=20&view_mode=2&order=9&q=winterspring#skins 27 | http://majamcgowan.deviantart.com/art/Moonglade-421614290 28 | http://nienor.deviantart.com/art/Silithus-529367462 29 | http://artofjokinen.deviantart.com/art/Dwarven-Caverns-Concept-Art-2-340137545 30 | http://reganov.deviantart.com/art/Old-WoW-Environment-Paintsketch-274839012 31 | http://pre00.deviantart.net/eac7/th/pre/f/2012/319/7/5/75b96547ab10b18405b924b44997767c-d5l2zxy.png 32 | http://nibinlondien.deviantart.com/art/Shadows-of-Ashenvale-497801631 33 | http://kuthinks.deviantart.com/art/Durotar-Concept-467184947 34 | http://www.scrollsoflore.com/gallery/albums/wow_art/felwood.jpg 35 | http://media.blizzard.com/wow/media/artwork/trading-card-game/series7/tcg-series7-069-full.jpg 36 | http://bnetcmsus-a.akamaihd.net/cms/blog_header/b5/B5574N7RYBL41426279415991.jpg -------------------------------------------------------------------------------- /Assets/Animations.lua: -------------------------------------------------------------------------------- 1 | -- original idea source: https://github.com/Lanrutcon/Backport-Storyline/blob/master/structures.lua 2 | 3 | local EXCLAME_ID = "64" -- EmoteTalkExclamation 4 | local QUESTION_ID = "65" -- EmoteTalkQuestion 5 | local TALK_ID = "60" -- EmoteTalk 6 | local YES_ID = "185" -- EmoteYes 7 | local NOPE_ID = "186" -- EmoteNo 8 | local ACLAIM_ID = "68" -- EmoteCheer 9 | local BOW_ID = "66" -- EmoteBow 10 | local WAVE_ID = "67" -- EmoteWave 11 | local LAUGH_ID = "70" -- EmoteLaugh 12 | local SALUTE_ID = "113" -- EmoteSalute 13 | 14 | -- duration comes from models.MPQ -> number of animation length 15 | Storyline_ANIMATION_SEQUENCE_DURATION_BY_MODEL = { 16 | -- NIGHT ELVES 17 | ["Character\\NightElf\\Female\\NightElfFemale"] = { -- readout 18 | [EXCLAME_ID] = 2000, 19 | [QUESTION_ID] = 1600, 20 | [TALK_ID] = 2100, 21 | [YES_ID] = 2000, 22 | [NOPE_ID] = 1600, 23 | [ACLAIM_ID] = 800, 24 | [BOW_ID] = 2300, 25 | [WAVE_ID] = 2000, 26 | [LAUGH_ID] = 2400, 27 | [SALUTE_ID] = 2000, 28 | }, 29 | ["Character\\NightElf\\Male\\NightElfMale"] = { -- readout 30 | [EXCLAME_ID] = 2000, 31 | [QUESTION_ID] = 2000, 32 | [TALK_ID] = 2000, 33 | [YES_ID] = 1200, 34 | [NOPE_ID] = 1500, 35 | [ACLAIM_ID] = 2000, 36 | [BOW_ID] = 2000, 37 | [WAVE_ID] = 1300, 38 | [LAUGH_ID] = 2300, 39 | [SALUTE_ID] = 1700, 40 | }, 41 | -- DWARF 42 | ["Character\\Dwarf\\Male\\DwarfMale"] = { -- readout 43 | [EXCLAME_ID] = 2000, 44 | [QUESTION_ID] = 1800, 45 | [TALK_ID] = 2000, 46 | [YES_ID] = 2000, 47 | [NOPE_ID] = 2000, 48 | [ACLAIM_ID] = 3000, 49 | [BOW_ID] = 2000, 50 | [WAVE_ID] = 2000, 51 | [LAUGH_ID] = 3000, 52 | [SALUTE_ID] = 1700, 53 | }, 54 | ["Character\\Dwarf\\Female\\DwarfFemale"] = { -- readout 55 | [EXCLAME_ID] = 2000, 56 | [QUESTION_ID] = 1800, 57 | [TALK_ID] = 2000, 58 | [YES_ID] = 2000, 59 | [NOPE_ID] = 2000, 60 | [ACLAIM_ID] = 2000, 61 | [BOW_ID] = 2000, 62 | [WAVE_ID] = 2000, 63 | [LAUGH_ID] = 3300, 64 | [SALUTE_ID] = 2000, 65 | }, 66 | -- GNOMES 67 | ["Character\\Gnome\\Male\\GnomeMale"] = { -- readout 68 | [EXCLAME_ID] = 1867, 69 | [QUESTION_ID] = 2300, 70 | [TALK_ID] = 4000, 71 | [YES_ID] = 1000, 72 | [NOPE_ID] = 1000, 73 | [ACLAIM_ID] = 2000, 74 | [BOW_ID] = 2000, 75 | [WAVE_ID] = 2840, 76 | [LAUGH_ID] = 3200, 77 | [SALUTE_ID] = 1500, 78 | }, 79 | ["Character\\Gnome\\Female\\GnomeFemale"] = { -- readout 80 | [EXCLAME_ID] = 1867, 81 | [QUESTION_ID] = 2300, 82 | [TALK_ID] = 4000, 83 | [YES_ID] = 1000, 84 | [NOPE_ID] = 1660, 85 | [ACLAIM_ID] = 2000, 86 | [BOW_ID] = 2000, 87 | [WAVE_ID] = 2840, 88 | [LAUGH_ID] = 2300, 89 | [SALUTE_ID] = 1500, 90 | }, 91 | -- HUMAN 92 | ["Character\\Human\\Male\\HumanMale"] = {-- readout 93 | [EXCLAME_ID] = 2000, 94 | [QUESTION_ID] = 1800, 95 | [TALK_ID] = 2000, 96 | [YES_ID] = 2667, 97 | [NOPE_ID] = 3300, 98 | [ACLAIM_ID] = 2500, 99 | [BOW_ID] = 2167, 100 | [WAVE_ID] = 2667, 101 | [LAUGH_ID] = 3300, 102 | [SALUTE_ID] = 1533, 103 | }, 104 | ["Character\\Human\\Female\\HumanFemale"] = { -- readout 105 | [EXCLAME_ID] = 2833, 106 | [QUESTION_ID] = 1800, 107 | [TALK_ID] = 2667, 108 | [YES_ID] = 2000, 109 | [NOPE_ID] = 1600, 110 | [ACLAIM_ID] = 2330, 111 | [BOW_ID] = 2667, 112 | [WAVE_ID] = 2667, 113 | [LAUGH_ID] = 3333, 114 | [SALUTE_ID] = 2000, 115 | }, 116 | -- ORCS 117 | ["Character\\Orc\\Female\\OrcFemale"] = { -- readout 118 | [EXCLAME_ID] = 2000, 119 | [QUESTION_ID] = 1800, 120 | [TALK_ID] = 2000, 121 | [YES_ID] = 1466, 122 | [NOPE_ID] = 1466, 123 | [ACLAIM_ID] = 1333, 124 | [BOW_ID] = 1134, 125 | [WAVE_ID] = 1333, 126 | [LAUGH_ID] = 3300, 127 | [SALUTE_ID] = 1667, 128 | }, 129 | 130 | ["Character\\Orc\\Male\\OrcMale"] = { --readout 131 | [EXCLAME_ID] = 2000, 132 | [QUESTION_ID] = 1800, 133 | [TALK_ID] = 2000, 134 | [YES_ID] = 2000, 135 | [NOPE_ID] = 2000, 136 | [ACLAIM_ID] = 2766, 137 | [BOW_ID] = 1200, 138 | [WAVE_ID] = 1667, 139 | [LAUGH_ID] = 3000, 140 | [SALUTE_ID] = 1833, 141 | }, 142 | -- GOBLIN 143 | ["Character\\Goblin\\Male\\GoblinMale"] = { -- readout 144 | [EXCLAME_ID] = 2000, 145 | [QUESTION_ID] = 1800, 146 | [ACLAIM_ID] = 3000, 147 | [BOW_ID] = 2000, 148 | [WAVE_ID] = 2000, 149 | [LAUGH_ID] = 3300, 150 | [SALUTE_ID] = 1667, 151 | }, 152 | ["Character\\Goblin\\Female\\GoblinFemale"] = { -- readout 153 | [EXCLAME_ID] = 2000, 154 | [QUESTION_ID] = 1800, 155 | [ACLAIM_ID] = 3000, 156 | [BOW_ID] = 2000, 157 | [WAVE_ID] = 2000, 158 | [LAUGH_ID] = 3300, 159 | [SALUTE_ID] = 1667, 160 | }, 161 | -- Tauren 162 | ["Character\\Tauren\\Female\\TaurenFemale"] = { -- readout 163 | [EXCLAME_ID] = 2000, 164 | [QUESTION_ID] = 1800, 165 | [TALK_ID] = 2934, 166 | [YES_ID] = 2000, 167 | [NOPE_ID] = 2000, 168 | [ACLAIM_ID] = 2000, 169 | [BOW_ID] = 3100, 170 | [WAVE_ID] = 2500, 171 | [LAUGH_ID] = 3300, 172 | [SALUTE_ID] = 2000, 173 | }, 174 | ["Character\\Tauren\\Male\\TaurenMale"] = { -- readout 175 | [EXCLAME_ID] = 2000, 176 | [QUESTION_ID] = 1800, 177 | [TALK_ID] = 2934, 178 | [YES_ID] = 2000, 179 | [NOPE_ID] = 2000, 180 | [ACLAIM_ID] = 2000, 181 | [BOW_ID] = 2667, 182 | [WAVE_ID] = 2500, 183 | [LAUGH_ID] = 3300, 184 | [SALUTE_ID] = 1833, 185 | }, 186 | -- Troll 187 | ["Character\\Troll\\Female\\TrollFemale"] = { -- readout 188 | [EXCLAME_ID] = 2333, 189 | [QUESTION_ID] = 1500, 190 | [TALK_ID] = 2500, 191 | [YES_ID] = 2000, 192 | [NOPE_ID] = 2000, 193 | [ACLAIM_ID] = 2166, 194 | [BOW_ID] = 2167, 195 | [WAVE_ID] = 2500, 196 | [LAUGH_ID] = 2333, 197 | [SALUTE_ID] = 1833, 198 | }, 199 | ["Character\\Troll\\Male\\TrollMale"] = { -- readout 200 | [EXCLAME_ID] = 2667, 201 | [QUESTION_ID] = 2000, 202 | [TALK_ID] = 2500, 203 | [YES_ID] = 1666, 204 | [NOPE_ID] = 1667, 205 | [ACLAIM_ID] = 3300, 206 | [BOW_ID] = 2667, 207 | [WAVE_ID] = 2667, 208 | [LAUGH_ID] = 3000, 209 | [SALUTE_ID] = 2200, 210 | }, 211 | -- Scourge 212 | ["Character\\Scourge\\Male\\ScourgeMale"] = { -- readout 213 | [EXCLAME_ID] = 2334, 214 | [QUESTION_ID] = 2333, 215 | [TALK_ID] = 2667, 216 | [YES_ID] = 2000, 217 | [NOPE_ID] = 2000, 218 | [ACLAIM_ID] = 2333, 219 | [BOW_ID] = 2666, 220 | [WAVE_ID] = 2000, 221 | [LAUGH_ID] = 3333, 222 | [SALUTE_ID] = 1833, 223 | }, 224 | ["Character\\Scourge\\Female\\ScourgeFemale"] = { -- readout 225 | [EXCLAME_ID] = 2000, 226 | [QUESTION_ID] = 2000, 227 | [TALK_ID] = 2000, 228 | [YES_ID] = 2000, 229 | [NOPE_ID] = 2000, 230 | [ACLAIM_ID] = 2000, 231 | [BOW_ID] = 2666, 232 | [WAVE_ID] = 1500, 233 | [LAUGH_ID] = 3000, 234 | [SALUTE_ID] = 1666, 235 | }, 236 | 237 | --*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 238 | -- NPC 239 | --*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 240 | -- Blood Elfes 241 | ["Creature\\HighElf\\HighElfFemale_Mage"] = { -- readout 242 | [TALK_ID] = 2334, 243 | [ACLAIM_ID] = 800, 244 | [BOW_ID] = 2333, 245 | [WAVE_ID] = 2000, 246 | }, 247 | ["Creature\\HighElf\\HighElfFemale_Hunter"] = { 248 | [TALK_ID] = 2334, 249 | [ACLAIM_ID] = 800, 250 | [BOW_ID] = 2333, 251 | [WAVE_ID] = 2000, 252 | }, 253 | ["Creature\\HighElf\\HighElfFemale_Priest"] = { 254 | [TALK_ID] = 2334, 255 | [ACLAIM_ID] = 800, 256 | [BOW_ID] = 2333, 257 | [WAVE_ID] = 2000, 258 | }, 259 | ["Creature\\HighElf\\HighElfFemale_Warrior"] = { 260 | [TALK_ID] = 2334, 261 | [ACLAIM_ID] = 800, 262 | [BOW_ID] = 2333, 263 | [WAVE_ID] = 2000, 264 | }, 265 | ["Creature\\HighElf\\HighElfMale_Hunter"] = { -- readout 266 | [TALK_ID] = 2000, 267 | [ACLAIM_ID] = 2000, 268 | [BOW_ID] = 2000, 269 | [WAVE_ID] = 1334, 270 | }, 271 | ["Creature\\HighElf\\HighElfMale_Mage"] = { 272 | [TALK_ID] = 2000, 273 | [ACLAIM_ID] = 2000, 274 | [BOW_ID] = 2000, 275 | [WAVE_ID] = 1334, 276 | }, 277 | ["Creature\\HighElf\\HighElfMale_Priest"] = { 278 | [TALK_ID] = 2000, 279 | [ACLAIM_ID] = 2000, 280 | [BOW_ID] = 2000, 281 | [WAVE_ID] = 1334, 282 | }, 283 | ["Creature\\HighElf\\HighElfMale_Warrior"] = { 284 | [TALK_ID] = 2000, 285 | [ACLAIM_ID] = 2000, 286 | [BOW_ID] = 2000, 287 | [WAVE_ID] = 1334, 288 | }, 289 | } 290 | -------------------------------------------------------------------------------- /Assets/Localisation.lua: -------------------------------------------------------------------------------- 1 | -- Translations from Babble-Zone-2.2 2 | StorylineTrans = {} 3 | if GetLocale() == "enUS" then 4 | StorylineTrans["Dun Morogh"] = "Dun Morogh" 5 | StorylineTrans["Durotar"] = "Durotar" 6 | StorylineTrans["Elwynn Forest"] = "Elwynn Forest" 7 | StorylineTrans["Mulgore"] = "Mulgore" 8 | StorylineTrans["Teldrassil"] = "Teldrassil" 9 | StorylineTrans["Tirisfal Glades"] = "Tirisfal Glades" 10 | StorylineTrans["Darkshore"] = "Darkshore" 11 | StorylineTrans["Loch Modan"] = "Loch Modan" 12 | StorylineTrans["Silverpine Forest"] = "Silverpine Forest" 13 | StorylineTrans["Westfall"] = "Westfall" 14 | StorylineTrans["The Barrens"] = "The Barrens" 15 | StorylineTrans["Redridge Mountains"] = "Redridge Mountains" 16 | StorylineTrans["Stonetalon Mountains"] = "Stonetalon Mountains" 17 | StorylineTrans["Ashenvale"] = "Ashenvale" 18 | StorylineTrans["Duskwood"] = "Duskwood" 19 | StorylineTrans["Hillsbrad Foothills"] = "Hillsbrad Foothills" 20 | StorylineTrans["Wetlands"] = "Wetlands" 21 | StorylineTrans["Thousand Needles"] = "Thousand Needles" 22 | StorylineTrans["Alterac Mountains"] = "Alterac Mountains" 23 | StorylineTrans["Arathi Highlands"] = "Arathi Highlands" 24 | StorylineTrans["Desolace"] = "Desolace" 25 | StorylineTrans["Stranglethorn Vale"] = "Stranglethorn Vale" 26 | StorylineTrans["Dustwallow Marsh"] = "Dustwallow Marsh" 27 | StorylineTrans["Badlands"] = "Badlands" 28 | StorylineTrans["Swamp of Sorrows"] = "Swamp of Sorrows" 29 | StorylineTrans["Feralas"] = "Feralas" 30 | StorylineTrans["The Hinterlands"] = "The Hinterlands" 31 | StorylineTrans["Tanaris"] = "Tanaris" 32 | StorylineTrans["Searing Gorge"] = "Searing Gorge" 33 | StorylineTrans["Azshara"] = "Azshara" 34 | StorylineTrans["Blasted Lands"] = "Blasted Lands" 35 | StorylineTrans["Un'Goro Crater"] = "Un'Goro Crater" 36 | StorylineTrans["Felwood"] = "Felwood" 37 | StorylineTrans["Burning Steppes"] = "Burning Steppes" 38 | StorylineTrans["Western Plaguelands"] = "Western Plaguelands" 39 | StorylineTrans["Deadwind Pass"] = "Deadwind Pass" 40 | StorylineTrans["Eastern Plaguelands"] = "Eastern Plaguelands" 41 | StorylineTrans["Winterspring"] = "Winterspring" 42 | StorylineTrans["Moonglade"] = "Moonglade" 43 | StorylineTrans["Silithus"] = "Silithus" 44 | StorylineTrans["Blackrock Mountain"] = "Blackrock Mountain" 45 | StorylineTrans["Darnassus"] = "Darnassus" 46 | StorylineTrans["City of Ironforge"] = "City of Ironforge" 47 | StorylineTrans["Orgrimmar"] = "Orgrimmar" 48 | StorylineTrans["Stormwind City"] = "Stormwind City" 49 | StorylineTrans["Thunder Bluff"] = "Thunder Bluff" 50 | StorylineTrans["Undercity"] = "Undercity" 51 | StorylineTrans["Alterac Valley"] = "Alterac Mountains" 52 | 53 | elseif GetLocale() == "deDE" then 54 | StorylineTrans["Dun Morogh"] = "Dun Morogh" 55 | StorylineTrans["Durotar"] = "Durotar" 56 | StorylineTrans["Wald von Elwynn"] = "Elwynn Forest" 57 | StorylineTrans["Mulgore"] = "Mulgore" 58 | StorylineTrans["Teldrassil"] = "Teldrassil" 59 | StorylineTrans["Tirisfal"] = "Tirisfal Glades" 60 | StorylineTrans["Dunkelk\195\188ste"] = "Darkshore" 61 | StorylineTrans["Loch Modan"] = "Loch Modan" 62 | StorylineTrans["Silberwald"] = "Silverpine Forest" 63 | StorylineTrans["Westfall"] = "Westfall" 64 | StorylineTrans["Brachland"] = "The Barrens" 65 | StorylineTrans["Rotkammgebirge"] = "Redridge Mountains" 66 | StorylineTrans["Steinkrallengebirge"] = "Stonetalon Mountains" 67 | StorylineTrans["Ashenvale"] = "Ashenvale" 68 | StorylineTrans["D\195\164mmerwald"] = "Duskwood" 69 | StorylineTrans["Vorgebirge von Hillsbrad"] = "Hillsbrad Foothills" 70 | StorylineTrans["Sumpfland"] = "Wetlands" 71 | StorylineTrans["Tausend Nadeln"] = "Thousand Needles" 72 | StorylineTrans["Alteracgebirge"] = "Alterac Mountains" 73 | StorylineTrans["Arathihochland"] = "Arathi Highlands" 74 | StorylineTrans["Desolace"] = "Desolace" 75 | StorylineTrans["Schlingendorntal"] = "Stranglethorn Vale" 76 | StorylineTrans["Marschen von Dustwallow"] = "Dustwallow Marsh" 77 | StorylineTrans["\195\150dland"] = "Badlands" 78 | StorylineTrans["S\195\188mpfe des Elends"] = "Swamp of Sorrows" 79 | StorylineTrans["Feralas"] = "Feralas" 80 | StorylineTrans["Hinterland"] = "The Hinterlands" 81 | StorylineTrans["Tanaris"] = "Tanaris" 82 | StorylineTrans["Sengende Schlucht"] = "Searing Gorge" 83 | StorylineTrans["Azshara"] = "Azshara" 84 | StorylineTrans["Verw\195\188stete Lande"] = "Blasted Lands" 85 | StorylineTrans["Un'Goro-Krater"] = "Un'Goro Crater" 86 | StorylineTrans["Teufelswald"] = "Felwood" 87 | StorylineTrans["Brennende Steppe"] = "Burning Steppes" 88 | StorylineTrans["Westliche Pestl\195\164nder"] = "Western Plaguelands" 89 | StorylineTrans["Gebirgspass der Totenwinde"] = "Deadwind Pass" 90 | StorylineTrans["\195\150stliche Pestl\195\164nder"] = "Eastern Plaguelands" 91 | StorylineTrans["Winterspring"] = "Winterspring" 92 | StorylineTrans["Moonglade"] = "Moonglade" 93 | StorylineTrans["Silithus"] = "Silithus" 94 | StorylineTrans["Darnassus"] = "Darnassus" 95 | StorylineTrans["Ironforge"] = "Ironforge" 96 | StorylineTrans["Orgrimmar"] = "Orgrimmar" 97 | StorylineTrans["Stormwind"] = "Stormwind City" 98 | StorylineTrans["Thunder Bluff"] = "Thunder Bluff" 99 | StorylineTrans["Undercity"] = "Undercity" 100 | 101 | elseif GetLocale() == "frFR" then 102 | StorylineTrans["Dun Morogh"] = "Dun Morogh" 103 | StorylineTrans["Durotar"] = "Durotar" 104 | StorylineTrans["For\195\170t d'Elwynn"] = "Elwynn Forest" 105 | StorylineTrans["Mulgore"] = "Mulgore" 106 | StorylineTrans["Teldrassil"] = "Teldrassil" 107 | StorylineTrans["Clairi\195\168res de Tirisfal"] = "Tirisfal Glades" 108 | StorylineTrans["Sombrivage (Darkshore)"] = "Darkshore" 109 | StorylineTrans["Loch Modan"] = "Loch Modan" 110 | StorylineTrans["For\195\170t des Pins argent\195\169s (Silverpine Forest)"] = "Silverpine Forest" 111 | StorylineTrans["Marche de l'Ouest (Westfall)"] = "Westfall" 112 | StorylineTrans["Les Tarides (the Barrens)"] = "The Barrens" 113 | StorylineTrans["Les Carmines (Redridge Mts)"] = "Redridge Mountains" 114 | StorylineTrans["Les Serres-Rocheuses (Stonetalon Mts)"] = "Stonetalon Mountains" 115 | StorylineTrans["Ashenvale"] = "Ashenvale" 116 | StorylineTrans["Bois de la P\195\169nombre (Duskwood)"] = "Duskwood" 117 | StorylineTrans["Contreforts d'Hillsbrad"] = "Hillsbrad Foothills" 118 | StorylineTrans["Les Paluns (Wetlands)"] = "Wetlands" 119 | StorylineTrans["Mille pointes (Thousand Needles)"] = "Thousand Needles" 120 | StorylineTrans["Montagnes d'Alterac"] = "Alterac Mountains" 121 | StorylineTrans["Bassin d'Arathi"] = "Arathi Highlands" 122 | StorylineTrans["D\195\169solace"] = "Desolace" 123 | StorylineTrans["Vall\195\169e de Strangleronce (Stranglethorn Vale)"] = "Stranglethorn Vale" 124 | StorylineTrans["Mar\195\169cage d'\195\130prefange (Dustwallow Marsh)"] = "Dustwallow Marsh" 125 | StorylineTrans["Terres ingrates (Badlands)"] = "Badlands" 126 | StorylineTrans["Marais des Chagrins (Swamp of Sorrows)"] = "Swamp of Sorrows" 127 | StorylineTrans["Feralas"] = "Feralas" 128 | StorylineTrans["Les Hinterlands"] = "The Hinterlands" 129 | StorylineTrans["Tanaris"] = "Tanaris" 130 | StorylineTrans["Gorge des Vents br\195\187lants (Searing Gorge)"] = "Searing Gorge" 131 | StorylineTrans["Azshara"] = "Azshara" 132 | StorylineTrans["Terres foudroy\195\169es (Blasted Lands)"] = "Blasted Lands" 133 | StorylineTrans["Crat\195\168re d'Un'Goro"] = "Un'Goro Crater" 134 | StorylineTrans["Gangrebois (Felwood)"] = "Felwood" 135 | StorylineTrans["Steppes ardentes"] = "Burning Steppes" 136 | StorylineTrans["Maleterres de l'ouest (Western Plaguelands)"] = "Western Plaguelands" 137 | StorylineTrans["D\195\169fil\195\169 de Deuillevent (Deadwind Pass)"] = "Deadwind Pass" 138 | StorylineTrans["Maleterres de l'est (Eastern Plaguelands)"] = "Eastern Plaguelands" 139 | StorylineTrans["Berceau-de-l'Hiver (Winterspring)"] = "Winterspring" 140 | StorylineTrans["Reflet-de-lune"] = "Moonglade" 141 | StorylineTrans["Silithus"] = "Silithus" 142 | StorylineTrans["Darnassus"] = "Darnassus" 143 | StorylineTrans["Ironforge"] = "Ironforge" 144 | StorylineTrans["Orgrimmar"] = "Orgrimmar" 145 | StorylineTrans["Cit\195\169 de Stormwind"] = "Stormwind City" 146 | StorylineTrans["Thunder Bluff"] = "Thunder Bluff" 147 | StorylineTrans["Undercity"] = "Undercity" 148 | 149 | end -------------------------------------------------------------------------------- /Assets/Models.lua: -------------------------------------------------------------------------------- 1 | 2 | -- Default facing seems fine, no need to define for now. 3 | -- Don't know why, but can only scale and orient/face player models. Other settings don't seem to stick 4 | -- For players, not NPCs 5 | PlayerModelsFacing = 0.8 6 | PlayerModels = { 7 | ["Character\\Dwarf\\Female\\DwarfFemale"]={s=0.9}, 8 | ["Character\\Dwarf\\Male\\DwarfMale" ]={s=0.9}, 9 | ["Character\\Gnome\\Female\\GnomeFemale" ]={s=0.75}, 10 | ["Character\\Gnome\\Male\\GnomeMale" ]={s=0.75}, 11 | ["Character\\Human\\Female\\HumanFemale" ]={s=0.95}, 12 | ["Character\\Human\\Male\\HumanMale" ]={s=1.02}, 13 | ["Character\\NightElf\\Male\\NightElfMale" ]={s=1.07}, 14 | ["Character\\Orc\\Female\\OrcFemale" ]={s=0.95}, 15 | ["Character\\Orc\\Male\\OrcMale" ]={s=0.97}, 16 | ["Character\\Scourge\\Female\\ScourgeFemale" ]={s=1.02}, 17 | ["Character\\Scourge\\Male\\ScourgeMale" ]={s=0.97}, 18 | ["Character\\Tauren\\Female\\TaurenFemale" ]={s=1.12}, 19 | ["Character\\Tauren\\Male\\TaurenMale" ]={s=1.14}, 20 | ["Character\\Troll\\Female\\TrollFemale" ]={s=1.05} 21 | } 22 | 23 | --Model as tag, facing, z,y,x, scale 24 | --For NPCs, not players 25 | NPCModels={ 26 | ["Interface\\Buttons\\talktomequestionmark"]={f=-0.80000001192093,z=0,y=0,x=0.89999997615814,s=2}, 27 | ["Creature\\BogBeast\\BogBeast"]={f=-0.80000001192093,z=0,y=0.71370393037796,x=0.71061861515045,s=0.67000007629395}, 28 | ["Creature\\Centaur\\Centaur"]={f=-0.80000001192093,z=0,y=0.80851864814758,x=1.2320976257324,s=0.72000002861023}, 29 | ["Creature\\furbolg\\Furbolg"]={f=-0.80000001192093,z=0,y=0.17642173171043,x=0.58419847488403,s=0.59000015258789}, 30 | ["Creature\\Ghost\\Ghost"]={f=-1.009148478508,z=0,y=1.1245682239532,x=0.53679227828979,s=0.75}, 31 | ["Creature\\Gnoll\\gnoll"]={f=-0.8418276309967,z=0,y=-0.052837241441011,x=0.6580263376236,s=1.0499999523163}, 32 | ["Creature\\Infernal\\Infernal"]={f=-0.84183174371719,z=0,y=1.1209868192673,x=0.2207396030426,s=0.49000030755997}, 33 | ["Creature\\KeeperOfTheGrove\\KeeperOfTheGrove"]={f=-0.80000001192093,z=0,y=1.2667911052704,x=-0.71160316467285,s=0.54000020027161}, 34 | ["Creature\\LostOne\\LostOne"]={f=-0.80000001192093,z=0,y=0.52617287635803,x=0.015801552683115,s=0.81000012159348}, 35 | ["Creature\\Ogre\\Ogre"]={f=-0.80000001192093,z=0,y=0.18419690430164,x=0.58419692516327,s=0.8899998664856}, 36 | ["Creature\\Ogre\\OgreMage"]={f=-0.80000001192093,z=0,y=0.09740774333477,x=0.60000157356262,s=0.93999981880188}, 37 | ["Creature\\SeaGiant\\SeaGiant"]={f=-0.80000001192093,z=0,y=2.4361715316772,x=0.63160473108292,s=0.39000034332275}, 38 | ["Creature\\Succubus\\Succubus"]={f=0.015684198588133,z=0,y=0.1290128827095,x=0.72642010450363,s=0.75999999046326}, 39 | ["Creature\\Troglodyte\\Troglodyte"]={f=-0.80000001192093,z=0,y=0.14481316506863,x=0.80542945861816,s=0.71000003814697}, 40 | ["Creature\\Wolf\\Wolf"]={f=-0.80000001192093,z=0,y=0.3028364777565,x=0.63160312175751,s=0.40000033378601}, 41 | ["Creature\\Ghoul\\Ghoul"]={f=-0.80000001192093,z=0,y=0.55567991733551,x=0.88444340229034,s=0.79999995231628}, 42 | ["Creature\\DragonSpawn\\DragonSpawn"]={f=-0.80000001192093,z=0,y=0.84197676181793,x=1.2414791584015,s=0.66000020503998}, 43 | ["Character\\Human\\Male\\HumanMale"]={f=-0.77908617258072,z=0,y=0.050000008195639,x=0.74222326278687,s=0.75999999046326}, 44 | ["Character\\Human\\Female\\HumanFemale"]={f=-0.80000001192093,z=0,y=0.065802328288555,x=0.64740478992462,s=0.74000000953674}, 45 | ["Character\\Orc\\Male\\OrcMale"]={f=-0.80000001192093,z=0,y=0.097407795488834,x=0.82123410701752,s=0.77999997138977}, 46 | ["Character\\Orc\\Female\\OrcFemale"]={f=-0.80000001192093,z=0,y=0.050001848489046,x=0.58420020341873,s=0.80999994277954}, 47 | ["Character\\Dwarf\\Male\\DwarfMale"]={f=-0.80000001192093,z=0,y=0.063207767903805,x=0.57901078462601,s=0.65000003576279}, 48 | ["Character\\Dwarf\\Female\\DwarfFemale"]={f=-0.80000001192093,z=0,y=0,x=0.5,s=0.69999998807907}, 49 | ["Character\\NightElf\\Male\\NightElfMale"]={f=-0.80000001192093,z=0,y=0,x=0.80000001192093,s=0.85000002384186}, 50 | ["Character\\NightElf\\Female\\NightElfFemale"]={f=-0.80000001192093,z=0,y=0,x=0.69999998807907,s=0.80000001192093}, 51 | ["Character\\Scourge\\Male\\ScourgeMale"]={f=-0.80000001192093,z=0,y=0.050000000745058,x=0.60000002384186,s=0.75}, 52 | ["Character\\Scourge\\Female\\ScourgeFemale"]={f=-0.84182971715927,z=0,y=0.034196116030216,x=0.69481551647186,s=0.80000001192093}, 53 | ["Character\\Tauren\\Male\\TaurenMale"]={f=-0.80000001192093,z=0,y=0.034198451787233,x=0.77382946014404,s=0.83000004291534}, 54 | ["Character\\Tauren\\Female\\TaurenFemale"]={f=-0.80000001192093,z=0,y=0.034198451787233,x=0.67901241779327,s=0.89999997615814}, 55 | ["Creature\\Horse\\Horse"]={f=-0.73725444078445,z=0,y=1.1403691768646,x=0.031111603602767,s=0.77999997138977}, 56 | ["Creature\\AncientProtector\\AncientProtector"]={f=-0.80000001192093,z=0,y=-2.320371389389,x=-0.60098922252655,s=0.66000008583069}, 57 | ["Creature\\ElementalEarth\\ElementalEarth"]={f=-0.80000001192093,z=0,y=2.6732115745544,x=0.22073835134506,s=0.56000018119812}, 58 | ["Creature\\Skeleton\\Skeleton"]={f=-0.80000001192093,z=0,y=0.69790160655975,x=0.72642016410828,s=0.75}, 59 | ["Creature\\GolemHarvestStage2\\GolemHarvestStage2"]={f=-0.80000001192093,z=0,y=1.2627151012421,x=0.57901239395142,s=0.70999997854233}, 60 | ["Creature\\DireWolf\\DireWolf"]={f=-0.80000001192093,z=0,y=0.050000000745058,x=0.60000002384186,s=0.75}, 61 | ["Creature\\HumanMalePeasant\\HumanMalePeasant"]={f=-0.80000001192093,z=0,y=0.14481474459171,x=0.60000002384186,s=0.83999991416931}, 62 | ["Creature\\WindSerpent\\WindSerpent"]={f=-0.80000001192093,z=0,y=1,x=0.5,s=0.75}, 63 | ["Creature\\Dryad\\Dryad"]={f=-0.80000001192093,z=0,y=0.61888998746872,x=1.0740728378296,s=0.75}, 64 | ["Creature\\Satyr\\Satyr"]={f=-0.80000001192093,z=0,y=0.67950546741486,x=0.90073955059052,s=0.69999998807907}, 65 | ["Creature\\HumanMaleKid\\HumanMaleKid"]={f=-0.80000001192093,z=0,y=0.050000000745058,x=0.60000002384186,s=0.75}, 66 | ["Creature\\HumanFemaleKid\\HumanFemaleKid"]={f=-0.80000001192093,z=0,y=0.050000000745058,x=0.60000002384186,s=0.75}, 67 | ["Creature\\Tiger\\Tiger"]={f=-0.80000001192093,z=0,y=0.2370380461216,x=0.36345735192299,s=0.5}, 68 | ["Creature\\bear\\Bear"]={f=-0.80000001192093,z=0,y=0.16061706840992,x=0.39457213878632,s=0.58000016212463}, 69 | ["Creature\\HumanFemaleWarriorLight\\HumanFemaleWarriorLight"]={f=-0.67450886964798,z=0,y=0.63469153642654,x=0.63160467147827,s=0.8199999332428}, 70 | ["Creature\\HumanMaleWarriorHeavy\\HumanMaleWarriorHeavy"]={f=-0.80000001192093,z=0,y=0.77691477537155,x=0.6474062204361,s=0.82999992370605}, 71 | ["Creature\\HumanMaleWarriorMedium\\HumanMaleWarriorMedium"]={f=-0.80000001192093,z=0,y=0.72950547933578,x=0.78963100910187,s=0.80999994277954}, 72 | ["Creature\\HumanMaleWarriorLight\\HumanMaleWarriorLight"]={f=-0.80000001192093,z=0,y=0.76111245155334,x=0.72642016410828,s=0.77999997138977}, 73 | ["Creature\\HumanFemaleCaster\\HumanFemaleCaster"]={f=-0.67450886964798,z=0,y=0.0658038854599,x=0.71061551570892,s=0.87999987602234}, 74 | ["Creature\\WaterElemental\\WaterElemental"]={f=-0.65359717607498,z=0,y=1.12073969841,x=0.80592876672745,s=0.60000014305115}, 75 | ["Creature\\Chicken\\Chicken"]={f=-0.82091385126114,z=0,y=-0.0290124155581,x=0.69481551647186,s=1.2499995231628}, 76 | ["Creature\\OrcMaleWarriorLight\\OrcMaleWarriorLight"]={f=-0.80000001192093,z=0,y=0.2554318010807,x=0.61580157279968,s=0.64000010490417}, 77 | ["Creature\\OrcMaleMerchantLight\\OrcMaleMerchantLight"]={f=-0.80000001192093,z=0,y=0.14481319487095,x=0.60000002384186,s=0.73000001907349}, 78 | ["Creature\\Rabbit\\Rabbit"]={f=-0.80000001192093,z=0,y=-0.044815521687269,x=0.26814728975296,s=0.51000022888184}, 79 | ["Creature\\GnollCaster\\GnollCaster"]={f=-0.80000001192093,z=0,y=0.38185194134712,x=0.28395044803619,s=0.75}, 80 | ["Creature\\HumanMalePirateCaptain\\HumanMalePirateCaptain"]={f=-0.80000001192093,z=0,y=0.65777826309204,x=0.6103720664978,s=0.8100004196167}, 81 | ["Creature\\EyeOfKathune\\EyeofKathune"]={f=-0.21437960863113,z=0,y=0.7453111410141,x=2.4646880626678,s=0.87999987602234}, 82 | ["Creature\\HumanMalePirateCrewman\\HumanMalePirateCrewman"]={f=-0.80000001192093,z=0,y=0.68209928274155,x=0.66321086883545,s=0.79999995231628}, 83 | ["Creature\\HumanMalePirateSwashbuckler\\HumanMalePirateSwashbuckler"]={f=-0.80000001192093,z=0,y=0.71370315551758,x=0.64740777015686,s=0.79999995231628}, 84 | ["Creature\\Dreadlord\\DreadLord"]={f=-0.6954248547554,z=0,y=4.366913318634,x=1.357776761055,s=1}, 85 | ["Creature\\Gorilla\\Gorilla"]={f=-0.80000001192093,z=0,y=0.050000000745058,x=0.60000002384186,s=0.82999992370605}, 86 | ["Creature\\Frog\\Frog"]={f=-0.80000001192093,z=0,y=0.35024732351303,x=0.77382636070251,s=0.90999984741211}, 87 | ["Creature\\Banshee\\Banshee"]={f=-0.80000001192093,z=0,y=-0.0054326057434082,x=0.72691476345062,s=0.75}, 88 | ["Creature\\Quillboar\\QuillBoar"]={f=-0.80000001192093,z=0,y=0.32098683714867,x=0.60049152374268,s=0.95000028610229}, 89 | ["Creature\\Wendigo\\Wendigo"]={f=-0.80000001192093,z=0,y=1.1877785921097,x=0.3155534863472,s=0.53000020980835}, 90 | ["Creature\\FleshGolem\\FleshGolem"]={f=-0.80000001192093,z=0,y=1.5733337402344,x=0.17876589298248,s=0.64000022411346}, 91 | ["Creature\\Goblin\\Goblin"]={f=-0.80000001192093,z=0,y=0.09740773588419,x=0.67901051044464,s=0.75}, 92 | ["Creature\\Zombie\\ZombieArm"]={f=-0.80000001192093,z=0,y=0.36604809761047,x=0.66320776939392,s=0.75}, 93 | ["Creature\\SeaTurtle\\SeaTurtle"]={f=-0.80000001192093,z=0,y=0.12901243567467,x=0.42617058753967,s=0.98999977111816}, 94 | ["Creature\\SkeletonMage\\SkeletonMage"]={f=-0.80000001192093,z=0,y=0.034196894615889,x=0.71061861515045,s=0.82999992370605}, 95 | ["Creature\\Goblin\\GoblinShredder"]={f=-0.71634268760681,z=0,y=1.9469132423401,x=0.87926197052002,s=0.46000021696091}, 96 | ["Character\\Gnome\\Male\\GnomeMale"]={f=-0.80000001192093,z=0,y=0,x=0.40000000596046,s=0.60000002384186}, 97 | ["Character\\Gnome\\Female\\GnomeFemale"]={f=-0.80000001192093,z=0,y=0,x=0.30000001192093,s=0.60000002384186}, 98 | ["Character\\Troll\\Male\\TrollMale"]={f=-0.80000001192093,z=0,y=0.081605434417725,x=0.83703720569611,s=0.75}, 99 | ["Character\\Troll\\Female\\TrollFemale"]={f=-0.80000001192093,z=0,y=0.097407758235931,x=0.80543255805969,s=0.80000001192093}, 100 | ["Creature\\AncientOfLore\\AncientofLore"]={f=-1.0928078889847,z=0,y=2.8444454669952,x=1.7540836334229,s=0.32999992370605}, 101 | ["Creature\\AncientOfWar\\AncientofWar"]={f=-0.98823046684265,z=0,y=3.1156821250916,x=1.8958030939102,s=0.35000038146973}, 102 | ["Creature\\ThunderLizard\\ThunderLizard"]={f=-0.75817239284515,z=0,y=1.4564200639725,x=0.18913649022579,s=0.41000032424927}, 103 | ["Creature\\Dragon\\Dragon"]={f=5.2653560638428,z=0,y=6.1339564323425,x=2.1644389629364,s=0.41000032424927}, 104 | ["Creature\\MountainGiant\\MountainGiant"]={f=-0.80000001192093,z=0,y=1.8514832258224,x=0.36296436190605,s=0.60000014305115}, 105 | ["Creature\\Wisp\\Wisp"]={f=-0.82091403007507,z=0,y=1.2825925350189,x=0.67901408672333,s=0.39000010490417}, 106 | ["Creature\\DruidBear\\DruidBear"]={f=-0.80000001192093,z=0,y=0.11061941832304,x=0.5846945643425,s=0.62999987602234}, 107 | ["Creature\\RidingHorse\\RidingHorse"]={f=-0.71634268760681,z=0,y=1.1245683431625,x=-0.00049453275278211,s=0.75}, 108 | ["Creature\\ForceOfNature\\ForceofNature"]={f=-0.80000001192093,z=0,y=0.23962873220444,x=0.85283875465393,s=0.96999979019165}, 109 | ["Creature\\HighElf\\HighElfFemale_Mage"]={f=-0.80000001192093,z=-0.89999997615814,y=0.063209339976311,x=0.70518451929092,s=0.75}, 110 | ["Creature\\HighElf\\HighElfFemale_Hunter"]={f=-0.80000001192093,z=-0.89999997615814,y=0.047407757490873,x=0.75259536504745,s=0.75}, 111 | ["Creature\\HighElf\\HighElfFemale_Priest"]={f=-0.80000001192093,z=-0.89999997615814,y=0.094815529882908,x=0.68938142061234,s=0.75}, 112 | ["Creature\\HighElf\\HighElfMale_Mage"]={f=-1.5,z=-2,y=0.73160463571548,x=2.3683938980103,s=0.75}, 113 | ["Creature\\HighElf\\HighElfMale_Hunter"]={f=-1.5,z=-2,y=0.76321005821228,x=2.3683953285217,s=0.70000004768372}, 114 | ["Creature\\HighElf\\HighElfMale_Warrior"]={f=-1.5,z=-2,y=0.74740695953369,x=2.3683969974518,s=0.71000003814697}, 115 | ["Creature\\HighElf\\HighElfMale_Priest"]={f=-1.5,z=-2,y=0.74740695953369,x=2.3683969974518,s=0.71000003814697}, --kinda guess, don't have that rn 116 | ["Creature\\HighElf\\HighElfFemale_Warrior"]={f=-0.80000001192093,z=-0.89999997615814,y=0.094815529882908,x=0.68938142061234,s=0.75},--kinda guessing 117 | ["Creature\\NagaMale\\NagaMale"]={f=-0.67450886964798,z=0,y=-0.29765585064888,x=0.44197365641594,s=0.98999977111816}, 118 | ["Creature\\Imp\\Imp"]={f=-0.047059327363968,z=0,y=0.41345661878586,x=0.85284346342087,s=0.46000027656555}, 119 | ["Creature\\FelBat\\FelBat"]={f=-0.80000001192093,z=0,y=1.1719752550125,x=1.6113580465317,s=0.75}, 120 | ["Creature\\Centaur\\CentaurCaster"]={f=-0.80000001192093,z=0,y=0.84012413024902,x=1.2637022733688,s=0.75}, 121 | ["Creature\\NagaFemale\\Siren"]={f=-0.80000001192093,z=0,y=0.42925906181335,x=0.66321241855621,s=1.0099997520447}, 122 | ["Creature\\Drake\\Drake"]={f=-1.0509803295135,z=0,y=0.52407282590866,x=0.5841953754425,s=0.62000012397766}, 123 | ["Creature\\StoneKeeper\\StoneKeeper"]={f=-0.63268119096756,z=0,y=0.79271548986435,x=0.63160467147827,s=0.71000003814697}, 124 | ["Creature\\GnomeSpidertank\\GnomeBot"]={f=-1.1764631271362,z=-4,y=8.8335857391357,x=3.1807420253754,s=0.48000013828278}, 125 | ["Creature\\Wyvern\\Wyvern"]={f=-0.80000001192093,z=0,y=0.85592651367188,x=1.1372820138931,s=0.75}, 126 | ["Character\\Goblin\\Male\\GoblinMale"]={f=-0.80000001192093,z=0,y=0.065801553428173,x=0.40000000596046,s=0.5}, 127 | ["Character\\Goblin\\Female\\GoblinFemale"]={f=-0.80000001192093,z=0,y=0.034198451787233,x=0.46321085095406,s=0.5}, 128 | ["Creature\\Worm\\Worm"]={f=-0.80000001192093,z=0,y=0.1448155194521,x=1.4059256315231,s=0.75}, 129 | ["Creature\\TrollDire\\TrollDire"]={f=-0.80000001192093,z=0,y=0.85592716932297,x=1.2004945278168,s=0.75}, 130 | ["Creature\\Kodobeast\\KodoBeastPack"]={f=-0.80000001192093,z=0,y=2.2049372196198,x=0.26320776343346,s=0.40000000596046}, 131 | ["Creature\\GolemStone\\GolemCannonStone"]={f=-0.63268131017685,z=0,y=0.98234480619431,x=0.80543255805969,s=0.72000002861023}, 132 | ["Creature\\Ogre\\OgreWarlord"]={f=-0.80000001192093,z=0,y=0.19222173094749,x=0.72641861438751,s=0.85999989509583}, 133 | ["Creature\\spirithealer\\SpiritHealer"]={f=-0.63267910480499,z=0,y=0.12493716925383,x=0.63184958696365,s=0.75}, 134 | ["Creature\\Dragon\\DragonAzurgoz"]={f=-1.4065378904343,z=0,y=5.9917325973511,x=3.6498737335205,s=0.59000015258789}, 135 | ["Creature\\Snowman\\SnowMan"]={f=-0.80000001192093,z=0,y=0.11320931464434,x=0.7896294593811,s=0.75}, 136 | ["Creature\\DragonFootSoldier\\DragonFootSoldier"]={f=-0.61176329851151,z=0,y=-0.81913578510284,x=1.7061719894409,s=1.2999994754791}, 137 | ["Creature\\Nightmare\\Gorgon101"]={f=-0.73725646734238,z=0,y=1.519629240036,x=0.031111678108573,s=0.73000001907349}, 138 | ["Creature\\WarHorse\\PVPWarHorse"]={f=-0.80000001192093,z=0,y=-0.10802406072617,x=0.75802636146545,s=1.0299997329712}, 139 | ["Creature\\AncientOfLore\\AncientofLore"]={f=-0.80000001192093,z=0,y=2.6706192493439,x=1.6750696897507,s=0.33999991416931}, 140 | ["Creature\\OrcFemaleKid\\OrcFemaleKid"]={f=-0.67451095581055,z=0,y=-0.18419931828976,x=0.54765427112579,s=1.0900003910065}, 141 | ["Creature\\OrcMaleKid\\OrcMaleKid"]={f=-0.69542270898819,z=0,y=-0.073579832911491,x=0.51604968309402,s=1.0100004673004}, 142 | ["Creature\\ReinDeer\\ReinDeer"]={f=-0.69542473554611,z=0,y=1.4090133905411,x=-0.03209924697876,s=0.67000007629395}, 143 | ["Creature\\Cupid\\Cupid"]={f=-0.80000001192093,z=0,y=1.3616067171097,x=0.66320776939392,s=0.55000019073486}, 144 | ["Creature\\QuestObjects\\Creature_ScourgeCrystalDamaged"]={f=4.3241829872131,z=0,y=12.644563674927,x=2.132844209671,s=2.3399984836578}, 145 | --Bonus Models 146 | ["CREATURE\\AlglontheObserver\\AlgalontheObserver"]={f=-0.80000001192093,z=0,y=-0.092220917344093,x=1.674564242363,s=1.0299997329712}, 147 | ["Creature\\Valkier\\Valkier"]={f=-0.80000001192093,z=0,y=-0.20283874869347,x=1.6429595947266,s=1.17999958992}, 148 | ["Creature\\HumanMaleCaster\\HumanMaleCaster"]={f=-0.80000001192093,z=0,y=0.71370393037796,x=0.7422217130661,s=0.84999990463257}, 149 | ["Creature\\RIDINGHORSE\\PackMule"]={f=-0.80000001192093,z=0,y=1.1561739444733,x=0.12592555582523,s=0.72000002861023}, 150 | ["Creature\\HUMLMagicSmith\\HUMLMagicSmith"]={f=-0.80000001192093,z=0,y=0.44506129622459,x=0.55259227752686,s=0.80999994277954} 151 | 152 | 153 | } -------------------------------------------------------------------------------- /VanillaStoryline.lua: -------------------------------------------------------------------------------- 1 | local storyline = CreateFrame("Frame",nil); -- Event Frame 2 | storyline.Background = CreateFrame("Frame","StorylineFrame",UIParent) -- Background Frame 3 | storyline.Player = CreateFrame("Frame",nil,storyline.Background) -- Player Frame 4 | storyline.NPC = CreateFrame("Frame",nil,storyline.Background) -- NPC Frame 5 | storyline.Text = CreateFrame("Frame",nil,storyline.Background) -- Text Frame 6 | storyline.Gossip = CreateFrame("Frame",nil,storyline.Background) -- Gossip Frame 7 | storyline.QuestDetail = CreateFrame("Frame",nil,storyline.Background) -- QuestDetail Frame 8 | storyline.QuestProgress = CreateFrame("Frame",nil,storyline.Background) -- QuestDetail Frame 9 | storyline.QuestComplete = CreateFrame("Frame",nil,storyline.Background) -- QuestComplete Frame 10 | storyline.OptionsFrame = CreateFrame("Frame",nil,storyline.Background) -- Options Frame 11 | storyline.Options = {} -- options 12 | storyline.Variables = {} -- Variables to work with 13 | 14 | -- Events 15 | storyline:RegisterEvent("ADDON_LOADED") 16 | storyline:RegisterEvent("QUEST_DETAIL") 17 | storyline:RegisterEvent("QUEST_PROGRESS") 18 | storyline:RegisterEvent("QUEST_COMPLETE") 19 | storyline:RegisterEvent("QUEST_GREETING") 20 | storyline:RegisterEvent("QUEST_FINISHED") 21 | storyline:RegisterEvent("QUEST_ITEM_UPDATE") 22 | storyline:RegisterEvent("GOSSIP_SHOW") 23 | storyline:RegisterEvent("GOSSIP_CLOSED") 24 | 25 | tinsert(UISpecialFrames, "StorylineFrame") 26 | 27 | -- Fill Variables and Options 28 | storyline.Options.Fading = 0 29 | storyline.Options.GradientLength = 30 30 | storyline.Options.Offset = 0 -- text offset for max. scroll frame 31 | storyline.Options.Delay = 0.03 -- 30 fps update 32 | storyline.Options.FrameStrata = {[1]="BACKGROUND",[2]="LOW",[3]="MEDIUM",[4]="HIGH",[5]="DIALOG",[6]="FULLSCREEN",[7]="FULLSCREEN_DIALOG",[8]="TOOLTIP"} 33 | storyline.Options.Version = "2.0.0" -- version 34 | 35 | -- onupdate text 36 | storyline.Variables.fadingProgress = 0 37 | storyline.Variables.SliderProgress = 0 38 | storyline.Variables.SliderStop = 0 39 | storyline.Variables.QuesttextLength = 0 40 | storyline.Variables.GreetingsFlag = 0 41 | storyline.Variables.LastTime = 0 42 | storyline.Variables.Time = 0 43 | storyline.Variables.FontSize = 14 44 | storyline.Variables.FontHeight = 0 45 | 46 | -- unopdate animations 47 | storyline.Animation = {} 48 | storyline.Animation.NPC = 0 49 | storyline.Animation.Player = 0 50 | storyline.Animation.Greetings = {"64","65","66","67","70","113"} 51 | storyline.Animation.Database = Storyline_ANIMATION_SEQUENCE_DURATION_BY_MODEL 52 | 53 | -- load model info 54 | storyline.Models = {} 55 | storyline.Models.NPCModelDB = NPCModels 56 | storyline.Models.PlayerModelDB = PlayerModels 57 | storyline.Models.PlayerFacing = PlayerModelsFacing 58 | 59 | -- Localisation 60 | local V = StorylineTrans 61 | 62 | -- Event Function 63 | function storyline:OnEvent() 64 | if event == "QUEST_DETAIL" then 65 | storyline:UpdateZone() 66 | storyline:HideBlizzard() 67 | storyline:AcceptQuest() 68 | elseif event == "QUEST_PROGRESS" then 69 | storyline:UpdateZone() 70 | storyline:HideBlizzard() 71 | storyline:ProgressQuest() 72 | elseif event == "QUEST_COMPLETE" then 73 | storyline:UpdateZone() 74 | storyline:HideBlizzard() 75 | storyline:CompleteQuest() 76 | elseif event == "QUEST_GREETING" then 77 | storyline:UpdateZone() 78 | storyline.Variables.GreetingsFlag = 1 79 | storyline:HideBlizzard() 80 | storyline:GossipStart() 81 | elseif event == "QUEST_FINISHED" then 82 | DeclineQuest() 83 | storyline:ResetModels() 84 | storyline.Background:Hide() 85 | elseif event == "QUEST_ITEM_UPDATE" then -- no update impleted - reload frame instead 86 | DeclineQuest() 87 | storyline.Background:Hide() 88 | storyline:ResetModels() 89 | elseif event == "GOSSIP_SHOW" then 90 | storyline:ResetModels() 91 | storyline:UpdateZone() 92 | storyline.Variables.GreetingsFlag = 0 93 | storyline:HideBlizzard() 94 | storyline:GossipStart() 95 | elseif event == "GOSSIP_CLOSED" then 96 | storyline:ResetModels() 97 | storyline.Background:Hide() 98 | 99 | elseif event == "ADDON_LOADED" and arg1 == "VanillaStoryline" then 100 | -- set Options for first start 101 | if not StorylineOptions then 102 | StorylineOptions = {} 103 | StorylineOptions.HideBlizzardFrames = 1 104 | StorylineOptions.TextSpeed = 2 105 | StorylineOptions.WindowScale = 1 106 | StorylineOptions.WindowLevel = 6 107 | StorylineOptions.FontSize = 14 108 | StorylineOptions.EnableModelManip = 0 109 | StorylineOptions.InstantRewards = 0 110 | StorylineOptions.EnableModelManipDebug = 0 111 | StorylineOptions.EnableModelManipSave = 0 112 | end 113 | 114 | --Storing NPC, and player model info set by the user 115 | if not UserNPCModels then 116 | UserNPCModels = {} 117 | end 118 | 119 | if not UserPlayerModels then 120 | UserPlayerModels = {} 121 | end 122 | 123 | -- compability to old version 124 | if not StorylineOptions.WindowScale then StorylineOptions.WindowScale = 1 end 125 | if not StorylineOptions.WindowLevel then StorylineOptions.WindowLevel = 6 end 126 | if not StorylineOptions.FontSize then StorylineOptions.FontSize = 14 end 127 | if not StorylineOptions.EnableModelManip then StorylineOptions.EnableModelManip = 0 end 128 | if not StorylineOptions.InstantRewards then StorylineOptions.InstantRewards = 0 end 129 | if not StorylineOptions.EnableModelManipDebug then StorylineOptions.EnableModelManipDebug = 0 end 130 | if not StorylineOptions.EnableModelManipSave then StorylineOptions.EnableModelManipSave = 0 end 131 | 132 | 133 | storyline.Options.TextSpeed = StorylineOptions.TextSpeed 134 | storyline.Options.WindowScale = StorylineOptions.WindowScale 135 | storyline.Options.WindowLevel = StorylineOptions.WindowLevel 136 | storyline.Options.HideBlizzardFrames = StorylineOptions.HideBlizzardFrames 137 | 138 | -- Create UI 139 | storyline.Background:ConfigureFrame() -- configure Background Frame 140 | storyline.Player:ConfigureFrame() -- configure player 3d Frame 141 | storyline.NPC:ConfigureFrame() -- configure the NPC 3d frame 142 | storyline:ConfigureModelRotation() -- configures the default rotation behaviour 143 | storyline.Text:ConfigureFrame() -- configure fonts 144 | storyline.Gossip:ConfigureFrame() -- configure Gossip Frame 145 | storyline.QuestDetail:ConfigureFrame() -- configure Quest Detail Frame 146 | storyline.QuestProgress:ConfigureFrame() -- configure Quest Progress Frame 147 | storyline.QuestComplete:ConfigureFrame() -- configure Quest complete frame 148 | storyline.OptionsFrame:ConfigureFrame() -- configure Options Frame 149 | storyline:SetFrameStrata() -- set FrameStrata 150 | storyline.Background:Hide() 151 | 152 | -- questie fix 153 | local childrenTable = {UIParent:GetChildren()} 154 | for num, frame in pairs (childrenTable) do 155 | if(frame:GetName() == "Questie") then 156 | frame:UnregisterEvent("QUEST_PROGRESS") 157 | end 158 | end 159 | end 160 | 161 | end 162 | 163 | function storyline:OnUpdate() 164 | storyline.Variables.Time = GetTime() 165 | 166 | -- this ticks every Delay in sec.! 167 | if storyline.Options.Fading == 1 and storyline.Variables.LastTime + storyline.Options.Delay <= storyline.Variables.Time then 168 | 169 | -- Set Font Fading Progress 170 | storyline.Variables.fadingProgress = storyline.Variables.fadingProgress + storyline.Options.TextSpeed 171 | storyline.Variables.SliderProgress = storyline.Variables.SliderProgress + ((storyline.Variables.FontSize/14)*storyline.Options.TextSpeed/3) 172 | 173 | -- set Slider Progression 174 | if storyline.Variables.SliderStop == 0 then storyline.Background.layer5.Questtext.Slider:SetValue(storyline.Variables.SliderProgress-50) end 175 | 176 | -- Set Font Fading 177 | storyline.Text.Questtext.Font:SetAlphaGradient(storyline.Variables.fadingProgress,storyline.Options.GradientLength) 178 | 179 | -- get new time 180 | storyline.Variables.LastTime = storyline.Variables.Time 181 | 182 | -- quit OpUpdate 183 | if storyline.Variables.fadingProgress >= storyline.Variables.QuesttextLength + storyline.Options.Offset then storyline.Options.Fading = 0 end 184 | end 185 | 186 | -- Talk animation 187 | if storyline.Options.Fading == 1 and storyline.Animation.NPC == 0 then storyline:TalkAnimation() end 188 | 189 | end 190 | 191 | storyline:SetScript("OnEvent", storyline.OnEvent) 192 | storyline.Background:SetScript("OnUpdate", storyline.OnUpdate) 193 | 194 | -- moving frames function 195 | function storyline.Options:StartMoving() 196 | this:StartMoving() 197 | end 198 | 199 | function storyline.Options:StopMovingOrSizing() 200 | this:StopMovingOrSizing() 201 | end 202 | 203 | -- decline quest 204 | function storyline:DeclineQuest() 205 | 206 | storyline.Options.Fading = 0 207 | storyline.Variables.fadingProgress = 0 208 | storyline.Variables.LastTime = 0 209 | storyline.Variables.Time = 0 210 | 211 | DeclineQuest() 212 | PlaySound("igQuestCancel") 213 | storyline.Background:Hide() 214 | end 215 | 216 | -- Configure Background Frame 217 | function storyline.Background:ConfigureFrame() 218 | -- Layer 1 219 | self:SetFrameStrata("HIGH") 220 | self:SetWidth(700) 221 | self:SetHeight(450) 222 | self:SetPoint("CENTER",0,0) 223 | self:SetMovable(1) 224 | self:RegisterForDrag("LeftButton") 225 | self:SetScript("OnDragStart", storyline.Options.StartMoving) 226 | self:SetScript("OnDragStop", storyline.Options.StopMovingOrSizing) 227 | 228 | -- Layer 2 229 | self.layer2 = CreateFrame("Frame",nil,self) 230 | self.layer2:SetFrameStrata("BACKGROUND") 231 | self.layer2:SetWidth(700) 232 | self.layer2:SetHeight(450) 233 | self.layer2:SetPoint("TOPLEFT",0,0) 234 | 235 | self.layer2.Background = CreateFrame("Frame",nil,self.layer2) 236 | self.layer2.Background:SetFrameStrata("BACKGROUND") 237 | self.layer2.Background:SetWidth(700) 238 | self.layer2.Background:SetHeight(450) 239 | self.layer2.Background:EnableMouse(1) -- Prevents clicks from pass through window 240 | self.layer2.Background:SetPoint("TOPLEFT", 20,-20) 241 | self.layer2.Background:SetPoint("BOTTOMRIGHT", -20,20) 242 | local backdrop = {bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\question-background"} 243 | self.layer2.Background:SetBackdrop(backdrop) 244 | self.layer2.Background:SetBackdropColor(1,1,1,1) 245 | 246 | -- background for 6-picture systems 247 | self.layer2.Background[1] = CreateFrame("Frame",nil,self.layer2) 248 | self.layer2.Background[1]:SetFrameStrata("BACKGROUND") 249 | self.layer2.Background[1]:SetWidth(220) 250 | self.layer2.Background[1]:SetHeight(205) 251 | self.layer2.Background[1]:SetPoint("TOPLEFT",20,-20) 252 | self.layer2.Background[1].Bg = self.layer2.Background[1]:CreateTexture() 253 | self.layer2.Background[1].Bg:SetAllPoints() 254 | self.layer2.Background[1].Bg:SetTexture("") 255 | 256 | self.layer2.Background[2] = CreateFrame("Frame",nil,self.layer2) 257 | self.layer2.Background[2]:SetFrameStrata("BACKGROUND") 258 | self.layer2.Background[2]:SetWidth(220) 259 | self.layer2.Background[2]:SetHeight(205) 260 | self.layer2.Background[2]:SetPoint("TOP", 0,-20) 261 | self.layer2.Background[2].Bg = self.layer2.Background[2]:CreateTexture() 262 | self.layer2.Background[2].Bg:SetAllPoints() 263 | self.layer2.Background[2].Bg:SetTexture("") 264 | 265 | self.layer2.Background[3] = CreateFrame("Frame",nil,self.layer2) 266 | self.layer2.Background[3]:SetFrameStrata("BACKGROUND") 267 | self.layer2.Background[3]:SetWidth(220) 268 | self.layer2.Background[3]:SetHeight(205) 269 | self.layer2.Background[3]:SetPoint("TOPRIGHT", -20,-20) 270 | self.layer2.Background[3].Bg = self.layer2.Background[3]:CreateTexture() 271 | self.layer2.Background[3].Bg:SetAllPoints() 272 | self.layer2.Background[3].Bg:SetTexture("") 273 | 274 | self.layer2.Background[4] = CreateFrame("Frame",nil,self.layer2) 275 | self.layer2.Background[4]:SetFrameStrata("BACKGROUND") 276 | self.layer2.Background[4]:SetWidth(220) 277 | self.layer2.Background[4]:SetHeight(205) 278 | self.layer2.Background[4]:SetPoint("BOTTOMLEFT", 20,20) 279 | self.layer2.Background[4].Bg = self.layer2.Background[4]:CreateTexture() 280 | self.layer2.Background[4].Bg:SetAllPoints() 281 | self.layer2.Background[4].Bg:SetTexture("") 282 | 283 | self.layer2.Background[5] = CreateFrame("Frame",nil,self.layer2) 284 | self.layer2.Background[5]:SetFrameStrata("BACKGROUND") 285 | self.layer2.Background[5]:SetWidth(220) 286 | self.layer2.Background[5]:SetHeight(205) 287 | self.layer2.Background[5]:SetPoint("BOTTOM", 0,20) 288 | self.layer2.Background[5].Bg = self.layer2.Background[5]:CreateTexture() 289 | self.layer2.Background[5].Bg:SetAllPoints() 290 | self.layer2.Background[5].Bg:SetTexture("") 291 | 292 | self.layer2.Background[6] = CreateFrame("Frame",nil,self.layer2) 293 | self.layer2.Background[6]:SetFrameStrata("BACKGROUND") 294 | self.layer2.Background[6]:SetWidth(220) 295 | self.layer2.Background[6]:SetHeight(205) 296 | self.layer2.Background[6]:SetPoint("BOTTOMRIGHT", -20,20) 297 | self.layer2.Background[6].Bg = self.layer2.Background[6]:CreateTexture() 298 | self.layer2.Background[6].Bg:SetAllPoints() 299 | self.layer2.Background[6].Bg:SetTexture("") 300 | 301 | -- Backgrounds for 4-picture system 302 | self.layer2.Background[7] = CreateFrame("Frame",nil,self.layer2) 303 | self.layer2.Background[7]:SetFrameStrata("BACKGROUND") 304 | self.layer2.Background[7]:SetWidth(330) 305 | self.layer2.Background[7]:SetHeight(205) 306 | self.layer2.Background[7]:SetPoint("TOPLEFT", 20,-20) 307 | self.layer2.Background[7].Bg = self.layer2.Background[7]:CreateTexture() 308 | self.layer2.Background[7].Bg:SetAllPoints() 309 | self.layer2.Background[7].Bg:SetTexture("") 310 | 311 | self.layer2.Background[8] = CreateFrame("Frame",nil,self.layer2) 312 | self.layer2.Background[8]:SetFrameStrata("BACKGROUND") 313 | self.layer2.Background[8]:SetWidth(330) 314 | self.layer2.Background[8]:SetHeight(205) 315 | self.layer2.Background[8]:SetPoint("TOPRIGHT", -20,-20) 316 | self.layer2.Background[8].Bg = self.layer2.Background[8]:CreateTexture() 317 | self.layer2.Background[8].Bg:SetAllPoints() 318 | self.layer2.Background[8].Bg:SetTexture("") 319 | 320 | self.layer2.Background[9] = CreateFrame("Frame",nil,self.layer2) 321 | self.layer2.Background[9]:SetFrameStrata("BACKGROUND") 322 | self.layer2.Background[9]:SetWidth(330) 323 | self.layer2.Background[9]:SetHeight(205) 324 | self.layer2.Background[9]:SetPoint("BOTTOMLEFT", 20,20) 325 | self.layer2.Background[9].Bg = self.layer2.Background[9]:CreateTexture() 326 | self.layer2.Background[9].Bg:SetAllPoints() 327 | self.layer2.Background[9].Bg:SetTexture("") 328 | 329 | self.layer2.Background[10] = CreateFrame("Frame",nil,self.layer2) 330 | self.layer2.Background[10]:SetFrameStrata("BACKGROUND") 331 | self.layer2.Background[10]:SetWidth(330) 332 | self.layer2.Background[10]:SetHeight(205) 333 | self.layer2.Background[10]:SetPoint("BOTTOMRIGHT", -20,20) 334 | self.layer2.Background[10].Bg = self.layer2.Background[10]:CreateTexture() 335 | self.layer2.Background[10].Bg:SetAllPoints() 336 | self.layer2.Background[10].Bg:SetTexture("") 337 | 338 | -- 1-picture system 339 | self.layer2.Background[11] = CreateFrame("Frame",nil,self.layer2) 340 | self.layer2.Background[11]:SetFrameStrata("BACKGROUND") 341 | self.layer2.Background[11]:SetWidth(660) 342 | self.layer2.Background[11]:SetHeight(410) 343 | self.layer2.Background[11]:SetPoint("CENTER", 0,0) 344 | self.layer2.Background[11].Bg = self.layer2.Background[11]:CreateTexture() 345 | self.layer2.Background[11].Bg:SetAllPoints() 346 | self.layer2.Background[11].Bg:SetTexture("") 347 | 348 | -- Layer 3 349 | self.layer3 = CreateFrame("Frame",nil,self.layer2) 350 | self.layer3:SetWidth(700) 351 | self.layer3:SetHeight(450) 352 | self.layer3:SetPoint("TOPLEFT",0, 0) 353 | 354 | 355 | self.layer3.Background = CreateFrame("Frame",nil,self.layer3) 356 | 357 | self.layer3.TopLeft = CreateFrame("Frame",nil,self.layer3) 358 | self.layer3.TopRight = CreateFrame("Frame",nil,self.layer3) 359 | self.layer3.BottomLeft = CreateFrame("Frame",nil,self.layer3) 360 | self.layer3.BottomRight = CreateFrame("Frame",nil,self.layer3) 361 | 362 | self.layer3.Left = CreateFrame("Frame",nil,self.layer3) 363 | self.layer3.Right = CreateFrame("Frame",nil,self.layer3) 364 | self.layer3.Top = CreateFrame("Frame",nil,self.layer3) 365 | self.layer3.Bottom = CreateFrame("Frame",nil,self.layer3) 366 | 367 | local backdrop = {bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\question-background"} -- path to the background texture 368 | self.layer3.Background:SetWidth(700) -- Set these to whatever height/width is needed 369 | self.layer3.Background:SetHeight(450) -- for your Texture 370 | self.layer3.Background:SetBackdrop(backdrop) 371 | self.layer3.Background:SetBackdropColor(1,1,1,0.35) 372 | self.layer3.Background:SetPoint("TOPLEFT", 20,-20) 373 | self.layer3.Background:SetPoint("BOTTOMRIGHT", -20,20) 374 | 375 | self.layer3.TopLeft:SetWidth(209) -- Set these to whatever height/width is needed 376 | self.layer3.TopLeft:SetHeight(125) -- for your Texture 377 | self.layer3.TopLeft:SetPoint("TOPLEFT", 0, 0) 378 | local TopLeft = self.layer3.TopLeft:CreateTexture() 379 | TopLeft:SetAllPoints() 380 | TopLeft:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Question-Main") 381 | TopLeft:SetTexCoord(0.00195313,0.41015625,0.61718750,0.92578125) 382 | 383 | self.layer3.TopRight:SetWidth(209) -- Set these to whatever height/width is needed 384 | self.layer3.TopRight:SetHeight(125) -- for your Texture 385 | self.layer3.TopRight:SetPoint("TOPRIGHT", 0, 0) 386 | local TopRight = self.layer3.TopRight:CreateTexture() 387 | TopRight:SetAllPoints() 388 | TopRight:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Question-Main") 389 | TopRight:SetTexCoord(0.41406250,0.82031250,0.61718750,0.92578125) 390 | 391 | self.layer3.BottomLeft:SetWidth(209) -- Set these to whatever height/width is needed 392 | self.layer3.BottomLeft:SetHeight(125) -- for your Texture 393 | self.layer3.BottomLeft:SetPoint("BOTTOMLEFT", 0, 0) 394 | local BottomLeft = self.layer3.BottomLeft:CreateTexture() 395 | BottomLeft:SetAllPoints() 396 | BottomLeft:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Question-Main") 397 | BottomLeft:SetTexCoord(0.00195313,0.41015625,0.30468750,0.61328125) 398 | 399 | self.layer3.BottomRight:SetWidth(209) -- Set these to whatever height/width is needed 400 | self.layer3.BottomRight:SetHeight(125) -- for your Texture 401 | self.layer3.BottomRight:SetPoint("BOTTOMRIGHT", 0, 0) 402 | local BottomRight = self.layer3.BottomRight:CreateTexture() 403 | BottomRight:SetAllPoints() 404 | BottomRight:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Question-Main") 405 | BottomRight:SetTexCoord(0.41406250,0.82226563,0.30468750,0.61328125) 406 | 407 | self.layer3.Left:SetWidth(93) -- Set these to whatever height/width is needed 408 | self.layer3.Left:SetHeight(256) -- for your Texture 409 | self.layer3.Left:SetPoint("LEFT", 2, 0) 410 | self.layer3.Left:SetPoint("TOP", self.layer3.TopLeft,"BOTTOM") 411 | self.layer3.Left:SetPoint("BOTTOM", self.layer3.BottomLeft,"TOP") 412 | local Left = self.layer3.Left:CreateTexture() 413 | Left:SetAllPoints() 414 | Left:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Question-VTile") 415 | Left:SetTexCoord(0.00390625,0.36718750,0.00000000,1.00000000) 416 | 417 | self.layer3.Right:SetWidth(94) -- Set these to whatever height/width is needed 418 | self.layer3.Right:SetHeight(256) -- for your Texture 419 | self.layer3.Right:SetPoint("RIGHT", 0, 0) 420 | self.layer3.Right:SetPoint("TOP", self.layer3.TopRight,"BOTTOM") 421 | self.layer3.Right:SetPoint("BOTTOM", self.layer3.BottomRight,"TOP") 422 | local Right = self.layer3.Right:CreateTexture() 423 | Right:SetAllPoints() 424 | Right:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Question-VTile") 425 | Right:SetTexCoord(0.37500000,0.74218750,0.00000000,1.00000000) 426 | 427 | self.layer3.Bottom:SetWidth(256) -- Set these to whatever height/width is needed 428 | self.layer3.Bottom:SetHeight(66) -- TO FIX 429 | self.layer3.Bottom:SetPoint("BOTTOMLEFT", self.layer3.BottomLeft,"BOTTOMRIGHT",0,2) 430 | self.layer3.Bottom:SetPoint("BOTTOMRIGHT", self.layer3.BottomRight,"BOTTOMLEFT",0,2) 431 | local Bottom = self.layer3.Bottom:CreateTexture() 432 | Bottom:SetAllPoints() 433 | Bottom:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Question-HTile") 434 | Bottom:SetTexCoord(0.00000000,1.00000000,0.17187500,0.33984375) 435 | 436 | self.layer3.Top:SetWidth(256) -- Set these to whatever height/width is needed 437 | self.layer3.Top:SetHeight(70) -- TOO FIX 438 | self.layer3.Top:SetPoint("TOPLEFT", self.layer3.TopLeft,"TOPRIGHT",0,-1) 439 | self.layer3.Top:SetPoint("TOPRIGHT", self.layer3.TopRight,"TOPLEFT",0,-1) 440 | local Top = self.layer3.Top:CreateTexture() 441 | Top:SetAllPoints() 442 | Top:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Question-HTile") 443 | Top:SetTexCoord(0.00000000,1.00000000,0.34375000,0.52148438) 444 | 445 | -- Layer 4 446 | self.layer4 = CreateFrame("Frame",nil,self.layer3) 447 | self.layer4:SetWidth(700) 448 | self.layer4:SetHeight(450) 449 | self.layer4:SetPoint("TOPLEFT",0, 0) 450 | 451 | self.layer4.Banner = CreateFrame("Frame",nil,self.layer4) 452 | self.layer4.Banner:SetWidth(384) -- Set these to whatever height/width is needed 453 | self.layer4.Banner:SetHeight(96) -- for your Texture 454 | self.layer4.Banner:SetPoint("TOP", 0, 0) 455 | local Banner = self.layer4.Banner:CreateTexture() 456 | Banner:SetAllPoints() 457 | Banner:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\GarrMission_RewardsBanner-Desaturate") 458 | 459 | -- Layer 5 460 | self.layer5 = CreateFrame("Frame",nil,self.layer4) 461 | self.layer5:SetWidth(700) 462 | self.layer5:SetHeight(450) 463 | self.layer5:SetPoint("TOPLEFT",0, 0) 464 | 465 | -- Questtext Frame 466 | self.layer5.Questtext = CreateFrame("Frame",nil,storyline.Background.layer4) 467 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background", edgeFile="Interface\\GLUES\\COMMON\\TextPanel-Border", tile=true,tileSize = 16, edgeSize = 24, insets = { left = 4, right = 4, top = 4, bottom = 4 }} -- path to the background texture 468 | self.layer5.Questtext:SetBackdrop(backdrop) 469 | self.layer5.Questtext:SetBackdropColor(1,1,1,1) 470 | self.layer5.Questtext:SetWidth(650) 471 | self.layer5.Questtext:SetHeight(100) 472 | self.layer5.Questtext:SetPoint("BOTTOM",0,20) 473 | self.layer5.Questtext:EnableMouseWheel(1) 474 | self.layer5.Questtext:SetScript("OnMouseWheel", function() 475 | local value = self.layer5.Questtext.Slider:GetValue() 476 | self.layer5.Questtext.Slider:SetValue(value-(arg1*10)) 477 | storyline.Variables.SliderStop = 1 478 | end) 479 | 480 | -- Scrollframe 481 | self.layer5.Questtext.Scrollframe = CreateFrame("ScrollFrame", nil, self.layer5.Questtext) 482 | self.layer5.Questtext.Scrollframe:SetPoint("TOPLEFT", 0, -10) 483 | self.layer5.Questtext.Scrollframe:SetPoint("BOTTOMRIGHT", -15, 10) 484 | 485 | self.layer5.Questtext.Slider = CreateFrame("Slider", nil, self.layer5.Questtext, "UIPanelScrollBarTemplate") 486 | self.layer5.Questtext.Slider:SetOrientation('VERTICAL') 487 | self.layer5.Questtext.Slider:SetWidth(16) 488 | self.layer5.Questtext.Slider:SetHeight(50) 489 | self.layer5.Questtext.Slider:SetPoint("RIGHT",-8,0) 490 | self.layer5.Questtext.Slider:SetMinMaxValues(0, 170) 491 | self.layer5.Questtext.Slider:SetValueStep(1) 492 | self.layer5.Questtext.Slider:SetScript("OnValueChanged", function() 493 | local value = self.layer5.Questtext.Slider:GetValue() 494 | self.layer5.Questtext.Scrollframe:SetVerticalScroll(value) 495 | end) 496 | 497 | self.layer5.Questtext.Scrollframe.Content = CreateFrame("Frame", nil, self.layer5.Questtext.Scrollframe) 498 | self.layer5.Questtext.Scrollframe.Content:SetWidth(650) 499 | self.layer5.Questtext.Scrollframe.Content:SetHeight(170) 500 | self.layer5.Questtext.Scrollframe:SetScrollChild(self.layer5.Questtext.Scrollframe.Content) 501 | 502 | -- Test Fadeframe 503 | self.layer5.Questtext.Fade = CreateFrame("Frame",nil,self.layer5.Questtext) 504 | self.layer5.Questtext.Fade:SetWidth(650) 505 | self.layer5.Questtext.Fade:SetHeight(100) 506 | self.layer5.Questtext.Fade:SetPoint("TOPLEFT",0,0) 507 | 508 | self.layer5.Questtext.Fade.Button = CreateFrame("Button",nil,self.layer5.Questtext.Fade) 509 | self.layer5.Questtext.Fade.Button:SetWidth(650) 510 | self.layer5.Questtext.Fade.Button:SetHeight(120) 511 | self.layer5.Questtext.Fade.Button:SetPoint("CENTER",0,0) 512 | self.layer5.Questtext.Fade.Button:SetScript("OnEnter",function() 513 | self.layer5.Questtext:SetBackdropBorderColor(0,1,0,1) 514 | end) 515 | self.layer5.Questtext.Fade.Button:SetScript("OnLeave",function() self.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) end) 516 | self.layer5.Questtext.Fade.Button:SetScript("OnClick",function() end) 517 | 518 | -- Bubble Texture 519 | self.layer5.Questtext.Bubble = CreateFrame("Frame",nil,self.layer5.Questtext) 520 | self.layer5.Questtext.Bubble:SetWidth(32) 521 | self.layer5.Questtext.Bubble:SetHeight(32) 522 | self.layer5.Questtext.Bubble:SetPoint("TOPRIGHT",-30,28) 523 | local Bubble = self.layer5.Questtext.Bubble:CreateTexture() 524 | Bubble:SetAllPoints() 525 | Bubble:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\CHATBUBBLE-TAIL") 526 | Bubble:SetTexCoord(1,0,1,0) 527 | 528 | -- close button 529 | self.CloseButton = CreateFrame("Button",nil,self.layer5) 530 | self.CloseButton:SetPoint("TOPRIGHT",-8,-8) 531 | self.CloseButton:SetWidth(32) 532 | self.CloseButton:SetHeight(32) 533 | self.CloseButton:SetNormalTexture("Interface\\Buttons\\UI-Panel-MinimizeButton-Up") 534 | self.CloseButton:SetPushedTexture("Interface\\Buttons\\UI-Panel-MinimizeButton-Down") 535 | self.CloseButton:SetHighlightTexture("Interface\\Buttons\\UI-Panel-MinimizeButton-Highlight") 536 | self.CloseButton:SetScript("OnClick",function() PlaySound("igMainMenuOptionCheckBoxOn") 537 | DeclineQuest(); CloseGossip(); PlaySound("igQuestCancel");storyline:HideAll(); storyline.Background:Hide() 538 | end) 539 | 540 | -- Options button 541 | self.OptionsButton = CreateFrame("Button",nil,self.layer5) 542 | self.OptionsButton:SetWidth(16) 543 | self.OptionsButton:SetHeight(16) 544 | self.OptionsButton:SetPoint("BOTTOMLEFT",10,10) 545 | self.OptionsButton:SetNormalTexture("Interface\\Buttons\\UI-PlusButton-Up") 546 | self.OptionsButton:SetPushedTexture("Interface\\Buttons\\UI-PlusButton-Down") 547 | self.OptionsButton:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight") 548 | self.OptionsButton:SetScript("OnClick",function() PlaySound("igMainMenuOptionCheckBoxOn") 549 | if storyline.OptionsFrame:IsVisible() then storyline.OptionsFrame:Hide() 550 | else storyline.UpdateOptions();storyline.OptionsFrame:Show() end 551 | end) 552 | 553 | end 554 | 555 | function storyline.Gossip:ConfigureFrame() 556 | -- GetQuest Buttons 557 | self.Frame = CreateFrame("Frame",nil,storyline.Background.layer5) 558 | self.Frame:SetWidth(300) 559 | self.Frame:SetHeight(200) 560 | self.Frame:SetPoint("CENTER",0,50) 561 | local backdrop = {bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\UI-GuildAchievement-Parchment-Horizontal", edgeFile="Interface\\GLUES\\COMMON\\TextPanel-Border", tile=false,tileSize = 16, edgeSize = 36, insets = { left = 6, right = 6, top = 6, bottom = 6 }} -- path to the background texture 562 | self.Frame:SetBackdrop(backdrop) 563 | self.Frame:SetBackdropColor(1,1,1,0.5) 564 | self.Frame:SetBackdropBorderColor(1,1,0,1) 565 | self.Frame:EnableMouseWheel(1) 566 | 567 | self.Frame:SetScript("OnMouseWheel", function() 568 | local value = self.Frame.Slider:GetValue() 569 | self.Frame.Slider:SetValue(value-(arg1*10)) 570 | end) 571 | 572 | -- Scrollframe 573 | self.Frame.Scrollframe = CreateFrame("ScrollFrame", nil, self.Frame) 574 | self.Frame.Scrollframe:SetPoint("TOPLEFT", 0, -10) 575 | self.Frame.Scrollframe:SetPoint("BOTTOMRIGHT", -15, 10) 576 | 577 | self.Frame.Slider = CreateFrame("Slider", nil, self.Frame, "UIPanelScrollBarTemplate") 578 | self.Frame.Slider:SetOrientation('VERTICAL') 579 | self.Frame.Slider:SetWidth(16) 580 | self.Frame.Slider:SetHeight(self.Frame:GetHeight()-55) 581 | self.Frame.Slider:SetPoint("RIGHT",-10,0) 582 | self.Frame.Slider:SetMinMaxValues(0, 400) 583 | self.Frame.Slider:SetValueStep(1) 584 | self.Frame.Slider:SetScript("OnValueChanged", function() 585 | local value = self.Frame.Slider:GetValue() 586 | self.Frame.Scrollframe:SetVerticalScroll(value) 587 | end) 588 | 589 | self.Frame.Scrollframe.Content = CreateFrame("Frame", nil, self.Frame.Scrollframe) 590 | self.Frame.Scrollframe.Content:SetWidth(300) 591 | self.Frame.Scrollframe.Content:SetHeight(400) 592 | self.Frame.Scrollframe:SetScrollChild(self.Frame.Scrollframe.Content) 593 | 594 | 595 | -- Create 32 Buttons 596 | self.Frame.Scrollframe.Content.Block = {} 597 | for i=1,32 do 598 | local counter = i 599 | if i == 1 then self.Frame.Scrollframe.Content.Block[i] = CreateFrame("Frame", nil, self.Frame.Scrollframe.Content) 600 | self.Frame.Scrollframe.Content.Block[i]:SetPoint("TOPLEFT",15,-2) 601 | else self.Frame.Scrollframe.Content.Block[i] = CreateFrame("Frame", nil, self.Frame.Scrollframe.Content.Block[i-1]) 602 | self.Frame.Scrollframe.Content.Block[i]:SetPoint("BOTTOMLEFT",0,-18) end 603 | 604 | self.Frame.Scrollframe.Content.Block[i]:SetWidth(255) 605 | self.Frame.Scrollframe.Content.Block[i]:SetHeight(16) 606 | 607 | 608 | self.Frame.Scrollframe.Content.Block[i].Button = CreateFrame("Button",nil,self.Frame.Scrollframe.Content.Block[i]) 609 | self.Frame.Scrollframe.Content.Block[i].Button:SetWidth(255) 610 | self.Frame.Scrollframe.Content.Block[i].Button:SetHeight(16) 611 | self.Frame.Scrollframe.Content.Block[i].Button:SetPoint("TOPLEFT",0,0) 612 | self.Frame.Scrollframe.Content.Block[i].Button:SetHighlightTexture("Interface\\Questframe\\UI-QuestTitleHighlight") 613 | self.Frame.Scrollframe.Content.Block[i].Button:SetScript("OnClick",function() PlaySound("igMainMenuOptionCheckBoxOn"); end) 614 | 615 | self.Frame.Scrollframe.Content.Block[i].Icon = CreateFrame("Frame", nil, self.Frame.Scrollframe.Content.Block[i]) 616 | self.Frame.Scrollframe.Content.Block[i].Icon:SetWidth(16) 617 | self.Frame.Scrollframe.Content.Block[i].Icon:SetHeight(16) 618 | self.Frame.Scrollframe.Content.Block[i].Icon:SetPoint("LEFT",0,0) 619 | self.Frame.Scrollframe.Content.Block[i].Icon.Texture = self.Frame.Scrollframe.Content.Block[i].Icon:CreateTexture() 620 | self.Frame.Scrollframe.Content.Block[i].Icon.Texture:SetAllPoints() 621 | self.Frame.Scrollframe.Content.Block[i].Icon.Texture:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark") 622 | 623 | self.Frame.Scrollframe.Content.Block[i].Font = self.Frame.Scrollframe.Content.Block[i]:CreateFontString(nil, "OVERLAY") 624 | self.Frame.Scrollframe.Content.Block[i].Font:SetPoint("LEFT", 20, 0) 625 | self.Frame.Scrollframe.Content.Block[i].Font:SetFont("Fonts\\FRIZQT__.TTF", 12) 626 | self.Frame.Scrollframe.Content.Block[i].Font:SetWidth(250) --Allows better word wrapping0 627 | --self.Frame.Scrollframe.Content.Block[i].Font:SetHeight(16) --Dynamically set instead 628 | self.Frame.Scrollframe.Content.Block[i].Font:SetJustifyH("LEFT") 629 | self.Frame.Scrollframe.Content.Block[i].Font:SetJustifyV("CENTER") 630 | self.Frame.Scrollframe.Content.Block[i].Font:SetText("TEST") 631 | self.Frame.Scrollframe.Content.Block[i].Font:SetTextColor(1,1,1) 632 | self.Frame.Scrollframe.Content.Block[i].Font:SetShadowOffset(1, -1) 633 | self.Frame.Scrollframe.Content.Block[i]:Hide() 634 | end 635 | end 636 | 637 | function storyline:GossipStart() 638 | -- hide and show 639 | storyline:HideAll() 640 | UIFrameFadeIn(storyline.Gossip.Frame,0.5) 641 | storyline.Background.layer4.Banner:Hide() 642 | storyline.Gossip.Frame.Slider:SetValue(0) 643 | 644 | -- close clicking 645 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnEnter",function() end) 646 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnLeave",function() end) 647 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnClick",function() end) 648 | storyline.Text.Questtext.Continue:Hide() 649 | storyline.Text.Questtext.Complete:Hide() 650 | 651 | -- Set GossipText 652 | local GossipText = "" 653 | if storyline.Variables.GreetingsFlag == 1 then GossipText = GetGreetingText() 654 | else GossipText = GetGossipText() end 655 | storyline:ShowNPCText(GossipText) 656 | 657 | --Update Text 658 | storyline.Text.NPCName:SetText(UnitName("npc")) 659 | local QuestTitel = "" 660 | storyline.Text.Banner:SetText(QuestTitel) 661 | 662 | -- start greenings animation 663 | storyline.Variables.Greetings = 0 664 | 665 | -- update click Panels 666 | storyline:updateGossip() 667 | 668 | -- show 669 | storyline.Background:Show() 670 | 671 | -- Update PlayerFrames 672 | storyline:UpdateModels() 673 | 674 | -- play Animation 675 | storyline:GreetingsAnimation() 676 | end 677 | 678 | function storyline:updateGossip() 679 | -- hide all buttons 680 | for i=1,32 do storyline.Gossip.Frame.Scrollframe.Content.Block[i]:Hide() end 681 | 682 | local counter = 0 -- counts the number of dialog options 683 | local ID = 0 -- ID Button Counter 684 | -- local functions -> API delivers unknown/variable num of arguments 685 | local function setQuests(...) 686 | for i=1,arg.n,2 do 687 | counter = counter + 1 688 | ID = ID + 1 689 | local ChooseID = ID 690 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Icon.Texture:SetTexture("Interface\\GossipFrame\\AvailableQuestIcon") 691 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Font:SetText(arg[i]) 692 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button:SetID(ChooseID) 693 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button.type = "Available" 694 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button:SetScript("OnClick",function() PlaySound("igMainMenuOptionCheckBoxOn"); GossipTitleButton_OnClick() end) 695 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter]:Show() 696 | end 697 | end 698 | 699 | local function setActiveQuests(...) 700 | for i=1,arg.n,2 do 701 | counter = counter + 1 702 | ID = ID + 1 703 | local ChooseID = ID 704 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Icon.Texture:SetTexture("Interface\\GossipFrame\\ActiveQuestIcon") 705 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Font:SetText(arg[i]) 706 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button:SetID(ChooseID) 707 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button.type = "Active" 708 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button:SetScript("OnClick",function() PlaySound("igMainMenuOptionCheckBoxOn"); GossipTitleButton_OnClick() end) 709 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter]:Show() 710 | end 711 | end 712 | 713 | local function setOptions(...) 714 | for i=1,arg.n,2 do 715 | counter = counter + 1 716 | ID = ID + 1 717 | local ChooseID = ID 718 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Icon.Texture:SetTexture("Interface\\GossipFrame\\" .. arg[i+1] .. "GossipIcon") 719 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Font:SetText(arg[i]) 720 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button:SetID(ChooseID) 721 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button.type = "Option" 722 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button:SetScript("OnClick",function() PlaySound("igMainMenuOptionCheckBoxOn"); GossipTitleButton_OnClick() end) 723 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter]:Show() 724 | end 725 | end 726 | 727 | -- do for gossip 728 | if storyline.Variables.GreetingsFlag == 0 then 729 | ID = 0; setQuests(GetGossipAvailableQuests()) 730 | ID = 0; setActiveQuests(GetGossipActiveQuests()) 731 | ID = 0; setOptions(GetGossipOptions()) 732 | end 733 | 734 | -- do for greetings 735 | if storyline.Variables.GreetingsFlag == 1 then 736 | counter = 0 737 | local numActiveQuests = GetNumActiveQuests() 738 | local numAvailableQuests = GetNumAvailableQuests() 739 | 740 | for i=1,numActiveQuests do 741 | counter = counter + 1 742 | local ChooseID = i 743 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Icon.Texture:SetTexture("Interface\\GossipFrame\\ActiveQuestIcon") 744 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Font:SetText(GetActiveTitle(i)) 745 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button:SetID(ChooseID) 746 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button.isActive = 1 747 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button:SetScript("OnClick",function() PlaySound("igMainMenuOptionCheckBoxOn"); QuestTitleButton_OnClick() end) 748 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter]:Show() 749 | end 750 | 751 | for i=(numActiveQuests + 1), (numActiveQuests + numAvailableQuests) do 752 | counter = counter + 1 753 | local ChooseID = i - numActiveQuests 754 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Icon.Texture:SetTexture("Interface\\GossipFrame\\AvailableQuestIcon") 755 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Font:SetText(GetAvailableTitle(i - numActiveQuests)) 756 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button:SetID(ChooseID) 757 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button.isActive = 0 758 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter].Button:SetScript("OnClick",function() PlaySound("igMainMenuOptionCheckBoxOn"); QuestTitleButton_OnClick() end) 759 | storyline.Gossip.Frame.Scrollframe.Content.Block[counter]:Show() 760 | end 761 | end 762 | 763 | --resize all gossip items to match the height of text 764 | for i=1,counter do 765 | storyline.Gossip.Frame.Scrollframe.Content.Block[i].Button:SetHeight(storyline.Gossip.Frame.Scrollframe.Content.Block[i].Font:GetHeight()) 766 | storyline.Gossip.Frame.Scrollframe.Content.Block[i]:SetHeight(storyline.Gossip.Frame.Scrollframe.Content.Block[i].Font:GetHeight()+2) 767 | end 768 | 769 | --dynamically re-position all dialog options after the first 770 | for i=2,counter do 771 | storyline.Gossip.Frame.Scrollframe.Content.Block[i]:SetPoint("BOTTOMLEFT", 772 | storyline.Gossip.Frame.Scrollframe.Content.Block[i-1].Button, 773 | 0, 774 | -9-(storyline.Gossip.Frame.Scrollframe.Content.Block[i].Font:GetHeight())) 775 | end 776 | 777 | local height = 0 778 | for i=1, counter do 779 | height = height + storyline.Gossip.Frame.Scrollframe.Content.Block[i]:GetHeight() + 5 780 | end 781 | 782 | local r_height = 0 783 | for i=1, counter do 784 | r_height = r_height + storyline.Gossip.Frame.Scrollframe.Content.Block[i]:GetHeight() 785 | end 786 | 787 | -- set height of Scrollframe 788 | --if counter < 3 and counter ~= 0 then counter = 2 end -- heightfix, redundant with dynamic resizing 789 | 790 | -- everything seems to be ok if calculated height values are used instead of counters, including dynamics. 791 | -- Not tested for tall values over 9 quantity. IS there any example of this? 792 | if counter == 0 then storyline.Gossip.Frame:Hide() 793 | elseif counter < 9 then 794 | storyline.Gossip.Frame.Slider:SetMinMaxValues(0, 0) 795 | storyline.Gossip.Frame.Scrollframe.Content:SetHeight(200) 796 | --storyline.Gossip.Frame:SetHeight((counter*18) + 25) 797 | storyline.Gossip.Frame:SetHeight(height + 25) 798 | storyline.Gossip.Frame.Slider:Hide() 799 | else 800 | --storyline.Gossip.Frame.Slider:SetMinMaxValues(0, (counter*5)-16) 801 | --storyline.Gossip.Frame.Scrollframe.Content:SetHeight(counter*5) 802 | storyline.Gossip.Frame.Slider:SetMinMaxValues(0, (r_height /2)) 803 | --storyline.Gossip.Frame.Scrollframe.Content:SetHeight(height) 804 | storyline.Gossip.Frame:SetHeight(200) 805 | storyline.Gossip.Frame.Slider:Show() 806 | end 807 | 808 | end 809 | 810 | 811 | function storyline.QuestDetail:ConfigureFrame() 812 | 813 | -- GetQuest Buttons 814 | self.GetQuest = CreateFrame("Frame",nil,storyline.Background.layer5) 815 | self.GetQuest:SetWidth(200) 816 | self.GetQuest:SetHeight(100) 817 | self.GetQuest:SetPoint("CENTER",0,70) 818 | 819 | self.GetQuest.Accept = CreateFrame("Frame",nil,self.GetQuest) 820 | local backdrop = {bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\ReadyCheck-Ready"} 821 | self.GetQuest.Accept:SetBackdrop(backdrop) 822 | self.GetQuest.Accept:SetBackdropColor(1,1,1,1) 823 | self.GetQuest.Accept:SetWidth(40) 824 | self.GetQuest.Accept:SetHeight(40) 825 | self.GetQuest.Accept:SetPoint("LEFT",20,20) 826 | 827 | self.GetQuest.Accept.Button = CreateFrame("Button",nil,self.GetQuest.Accept) 828 | self.GetQuest.Accept.Button:SetWidth(40) 829 | self.GetQuest.Accept.Button:SetHeight(40) 830 | self.GetQuest.Accept.Button:SetPoint("CENTER",0,0) 831 | self.GetQuest.Accept.Button:SetHighlightTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\PetBattle-SelectedPetGlow") 832 | self.GetQuest.Accept.Button:SetScript("OnEnter",function() 833 | GameTooltip:SetOwner(self.GetQuest.Accept, "ANCHOR_TOPRIGHT",20,-80); 834 | GameTooltip:SetText("I accept.", 1, 1, 1, 1, 1); 835 | GameTooltip:Show() 836 | end) 837 | self.GetQuest.Accept.Button:SetScript("OnLeave",function() GameTooltip:Hide() end) 838 | self.GetQuest.Accept.Button:SetScript("OnClick",function() PlaySound("igMainMenuOptionCheckBoxOn"); AcceptQuest(); storyline.Background:Hide() end) 839 | 840 | self.GetQuest.Decline = CreateFrame("Frame",nil,self.GetQuest) 841 | local backdrop = {bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\ReadyCheck-NotReady"} 842 | self.GetQuest.Decline:SetBackdrop(backdrop) 843 | self.GetQuest.Decline:SetBackdropColor(1,1,1,1) 844 | self.GetQuest.Decline:SetWidth(40) 845 | self.GetQuest.Decline:SetHeight(40) 846 | self.GetQuest.Decline:SetPoint("RIGHT",-20,20) 847 | 848 | self.GetQuest.Decline.Button = CreateFrame("Button",nil,self.GetQuest.Decline) 849 | self.GetQuest.Decline.Button:SetWidth(40) 850 | self.GetQuest.Decline.Button:SetHeight(40) 851 | self.GetQuest.Decline.Button:SetPoint("CENTER",0,0) 852 | self.GetQuest.Decline.Button:SetHighlightTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\PetBattle-SelectedPetGlow") 853 | self.GetQuest.Decline.Button:SetScript("OnEnter",function() 854 | GameTooltip:SetOwner(self.GetQuest.Decline, "ANCHOR_TOPRIGHT",20,-80); 855 | GameTooltip:SetText("I refuse.", 1, 1, 1, 1, 1); 856 | GameTooltip:Show() 857 | end) 858 | self.GetQuest.Decline.Button:SetScript("OnLeave",function() GameTooltip:Hide() end) 859 | self.GetQuest.Decline.Button:SetScript("OnClick",function() storyline:DeclineQuest();PlaySound("igQuestCancel"); end) 860 | 861 | self.GetQuest.CenterItem = CreateFrame("Frame",nil,self.GetQuest) 862 | local backdrop = {bgFile = "Interface\\FriendsFrame\\FriendsFrameScrollIcon"} 863 | self.GetQuest.CenterItem:SetBackdrop(backdrop) 864 | self.GetQuest.CenterItem:SetBackdropColor(1,1,1,1) 865 | self.GetQuest.CenterItem:SetWidth(40) 866 | self.GetQuest.CenterItem:SetHeight(40) 867 | self.GetQuest.CenterItem:SetPoint("CENTER",0,20) 868 | 869 | self.GetQuest.CenterRing = CreateFrame("Frame",nil,self.GetQuest) 870 | local backdrop = {bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\PandarenTrainingLarge_Circular_Frame"} 871 | self.GetQuest.CenterRing:SetBackdrop(backdrop) 872 | self.GetQuest.CenterRing:SetBackdropColor(1,1,1,1) 873 | self.GetQuest.CenterRing:SetWidth(100) 874 | self.GetQuest.CenterRing:SetHeight(100) 875 | self.GetQuest.CenterRing:SetPoint("CENTER",0,20) 876 | 877 | self.GetQuest.CenterFlash = CreateFrame("Frame",nil,self.GetQuest) 878 | self.GetQuest.CenterFlash:SetWidth(100) 879 | self.GetQuest.CenterFlash:SetHeight(100) 880 | self.GetQuest.CenterFlash:SetPoint("CENTER",0,20) 881 | local Flash = self.GetQuest.CenterFlash:CreateTexture() 882 | Flash:SetAllPoints() 883 | Flash:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\PandarenTrainingLarge_Circular_Flash") 884 | Flash:SetTexCoord(1,0,1,0) 885 | Flash:SetBlendMode("ADD") 886 | end 887 | 888 | function storyline.QuestProgress:ConfigureFrame() 889 | 890 | -- Quest Progfress Mainframe Buttons 891 | self.Mainframe = CreateFrame("Frame",nil,storyline.Background.layer5) 892 | self.Mainframe:SetWidth(350) 893 | self.Mainframe:SetHeight(400) 894 | self.Mainframe:SetPoint("CENTER",0,50) 895 | 896 | -- Center Items 897 | self.Mainframe.CenterItem = CreateFrame("Frame",nil,self.Mainframe) 898 | local backdrop = {bgFile = "Interface\\FriendsFrame\\FriendsFrameScrollIcon"} 899 | self.Mainframe.CenterItem:SetBackdrop(backdrop) 900 | self.Mainframe.CenterItem:SetBackdropColor(1,1,1,1) 901 | self.Mainframe.CenterItem:SetWidth(40) 902 | self.Mainframe.CenterItem:SetHeight(40) 903 | self.Mainframe.CenterItem:SetPoint("CENTER",0,70) 904 | 905 | self.Mainframe.State = CreateFrame("Frame",nil,self.Mainframe.CenterItem) 906 | local backdrop = {bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\ReadyCheck-Ready"} 907 | self.Mainframe.State:SetBackdrop(backdrop) 908 | self.Mainframe.State:SetBackdropColor(1,1,1,1) 909 | self.Mainframe.State:SetWidth(40) 910 | self.Mainframe.State:SetHeight(40) 911 | self.Mainframe.State:SetPoint("CENTER",0,0) 912 | 913 | self.Mainframe.CenterRing = CreateFrame("Frame",nil,self.Mainframe) 914 | local backdrop = {bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\PandarenTrainingLarge_Circular_Frame"} 915 | self.Mainframe.CenterRing:SetBackdrop(backdrop) 916 | self.Mainframe.CenterRing:SetBackdropColor(1,1,1,1) 917 | self.Mainframe.CenterRing:SetWidth(100) 918 | self.Mainframe.CenterRing:SetHeight(100) 919 | self.Mainframe.CenterRing:SetPoint("CENTER",0,70) 920 | 921 | self.Mainframe.CenterFlash = CreateFrame("Frame",nil,self.Mainframe) 922 | self.Mainframe.CenterFlash:SetWidth(100) 923 | self.Mainframe.CenterFlash:SetHeight(100) 924 | self.Mainframe.CenterFlash:SetPoint("CENTER",0,70) 925 | local Flash = self.Mainframe.CenterFlash:CreateTexture() 926 | Flash:SetAllPoints() 927 | Flash:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\PandarenTrainingLarge_Circular_Flash") 928 | Flash:SetTexCoord(1,0,1,0) 929 | Flash:SetBlendMode("ADD") 930 | 931 | -- Objective Frame 932 | self.Mainframe.Objective = CreateFrame("Frame",nil,self.Mainframe) 933 | local backdrop = {bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\UI-GuildAchievement-Parchment-Horizontal", edgeFile="Interface\\GLUES\\COMMON\\TextPanel-Border", tile=false,tileSize = 16, edgeSize = 36, insets = { left = 6, right = 6, top = 6, bottom = 6 }} -- path to the background texture 934 | self.Mainframe.Objective:SetBackdrop(backdrop) 935 | self.Mainframe.Objective:SetBackdropColor(1,1,1,0.5) 936 | self.Mainframe.Objective:SetBackdropBorderColor(1,1,0,1) 937 | self.Mainframe.Objective:SetWidth(350) 938 | self.Mainframe.Objective:SetHeight(150) 939 | self.Mainframe.Objective:SetPoint("CENTER",0,-50) 940 | 941 | self.Mainframe.Objective.Headline = self.Mainframe.Objective:CreateFontString(nil, "OVERLAY") 942 | self.Mainframe.Objective.Headline:SetPoint("TOP", 0, -10) 943 | self.Mainframe.Objective.Headline:SetFont("Fonts\\FRIZQT__.TTF", 16) 944 | self.Mainframe.Objective.Headline:SetWidth(470) 945 | self.Mainframe.Objective.Headline:SetHeight(70) 946 | self.Mainframe.Objective.Headline:SetJustifyH("CENTER") 947 | self.Mainframe.Objective.Headline:SetJustifyV("TOP") 948 | self.Mainframe.Objective.Headline:SetText("Quest Objectives") 949 | self.Mainframe.Objective.Headline:SetTextColor(1,0.75,0) 950 | self.Mainframe.Objective.Headline:SetShadowOffset(1, -1) 951 | 952 | self.Mainframe.Objective.ReqItemsText = self.Mainframe.Objective:CreateFontString(nil, "OVERLAY") 953 | self.Mainframe.Objective.ReqItemsText:SetPoint("TOP", 0, -30) 954 | self.Mainframe.Objective.ReqItemsText:SetFont("Fonts\\FRIZQT__.TTF", 14) 955 | self.Mainframe.Objective.ReqItemsText:SetWidth(320) 956 | self.Mainframe.Objective.ReqItemsText:SetHeight(50) 957 | self.Mainframe.Objective.ReqItemsText:SetJustifyH("LEFT") 958 | self.Mainframe.Objective.ReqItemsText:SetJustifyV("TOP") 959 | self.Mainframe.Objective.ReqItemsText:SetText("Required:") 960 | self.Mainframe.Objective.ReqItemsText:SetTextColor(1,0.75,0) 961 | self.Mainframe.Objective.ReqItemsText:SetShadowOffset(1, -1) 962 | 963 | -- Req. Items Blocks 964 | self.Mainframe.Objective.Block = {} 965 | 966 | self.Mainframe.Objective.Block[1] = CreateFrame("Frame",nil,self.Mainframe.Objective) 967 | self.Mainframe.Objective.Block[1]:SetWidth(100) 968 | self.Mainframe.Objective.Block[1]:SetHeight(30) 969 | self.Mainframe.Objective.Block[1]:SetPoint("TOPLEFT",15,-50) 970 | 971 | self.Mainframe.Objective.Block[1].Item = CreateFrame("Frame",nil,self.Mainframe.Objective.Block[1]) 972 | local backdrop = {bgFile = "Interface\\Icons\\INV_Misc_QuestionMark"} 973 | self.Mainframe.Objective.Block[1].Item:SetBackdrop(backdrop) 974 | self.Mainframe.Objective.Block[1].Item:SetBackdropColor(1,1,1,1) 975 | self.Mainframe.Objective.Block[1].Item:SetWidth(30) 976 | self.Mainframe.Objective.Block[1].Item:SetHeight(30) 977 | self.Mainframe.Objective.Block[1].Item:SetPoint("LEFT",0,0) 978 | 979 | self.Mainframe.Objective.Block[1].Item.Font = self.Mainframe.Objective.Block[1].Item:CreateFontString(nil, "OVERLAY") 980 | self.Mainframe.Objective.Block[1].Item.Font:SetPoint("BOTTOMRIGHT", -2, 2) 981 | self.Mainframe.Objective.Block[1].Item.Font:SetFont("Fonts\\FRIZQT__.TTF", 10) 982 | self.Mainframe.Objective.Block[1].Item.Font:SetWidth(70) 983 | self.Mainframe.Objective.Block[1].Item.Font:SetJustifyH("RIGHT") 984 | self.Mainframe.Objective.Block[1].Item.Font:SetJustifyV("CENTER") 985 | self.Mainframe.Objective.Block[1].Item.Font:SetText("99") 986 | self.Mainframe.Objective.Block[1].Item.Font:SetTextColor(0.95,0.95,0.95) 987 | self.Mainframe.Objective.Block[1].Item.Font:SetShadowOffset(1, -1) 988 | 989 | self.Mainframe.Objective.Block[1].TextBackground = CreateFrame("Frame",nil,self.Mainframe.Objective.Block[1]) 990 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background"} 991 | self.Mainframe.Objective.Block[1].TextBackground:SetBackdrop(backdrop) 992 | self.Mainframe.Objective.Block[1].TextBackground:SetBackdropColor(1,1,1,0.3) 993 | self.Mainframe.Objective.Block[1].TextBackground:SetWidth(70) 994 | self.Mainframe.Objective.Block[1].TextBackground:SetHeight(30) 995 | self.Mainframe.Objective.Block[1].TextBackground:SetPoint("LEFT",30,0) 996 | 997 | self.Mainframe.Objective.Block[1].TextFont = self.Mainframe.Objective.Block[1].TextBackground:CreateFontString(nil, "OVERLAY") 998 | self.Mainframe.Objective.Block[1].TextFont:SetPoint("LEFT", 0, 0) 999 | self.Mainframe.Objective.Block[1].TextFont:SetFont("Fonts\\FRIZQT__.TTF", 8) 1000 | self.Mainframe.Objective.Block[1].TextFont:SetWidth(70) 1001 | self.Mainframe.Objective.Block[1].TextFont:SetJustifyH("LEFT") 1002 | self.Mainframe.Objective.Block[1].TextFont:SetJustifyV("CENTER") 1003 | self.Mainframe.Objective.Block[1].TextFont:SetText("TEST") 1004 | self.Mainframe.Objective.Block[1].TextFont:SetTextColor(0.95,0.95,0.95) 1005 | self.Mainframe.Objective.Block[1].TextFont:SetShadowOffset(1, -1) 1006 | 1007 | self.Mainframe.Objective.Block[2] = CreateFrame("Frame",nil,self.Mainframe.Objective) 1008 | self.Mainframe.Objective.Block[2]:SetWidth(100) 1009 | self.Mainframe.Objective.Block[2]:SetHeight(30) 1010 | self.Mainframe.Objective.Block[2]:SetPoint("TOPLEFT",120,-50) 1011 | 1012 | self.Mainframe.Objective.Block[2].Item = CreateFrame("Frame",nil,self.Mainframe.Objective.Block[2]) 1013 | local backdrop = {bgFile = "Interface\\Icons\\INV_Misc_QuestionMark"} 1014 | self.Mainframe.Objective.Block[2].Item:SetBackdrop(backdrop) 1015 | self.Mainframe.Objective.Block[2].Item:SetBackdropColor(1,1,1,1) 1016 | self.Mainframe.Objective.Block[2].Item:SetWidth(30) 1017 | self.Mainframe.Objective.Block[2].Item:SetHeight(30) 1018 | self.Mainframe.Objective.Block[2].Item:SetPoint("LEFT",0,0) 1019 | 1020 | self.Mainframe.Objective.Block[2].Item.Font = self.Mainframe.Objective.Block[2].Item:CreateFontString(nil, "OVERLAY") 1021 | self.Mainframe.Objective.Block[2].Item.Font:SetPoint("BOTTOMRIGHT", -2, 2) 1022 | self.Mainframe.Objective.Block[2].Item.Font:SetFont("Fonts\\FRIZQT__.TTF", 10) 1023 | self.Mainframe.Objective.Block[2].Item.Font:SetWidth(70) 1024 | self.Mainframe.Objective.Block[2].Item.Font:SetJustifyH("RIGHT") 1025 | self.Mainframe.Objective.Block[2].Item.Font:SetJustifyV("CENTER") 1026 | self.Mainframe.Objective.Block[2].Item.Font:SetText("99") 1027 | self.Mainframe.Objective.Block[2].Item.Font:SetTextColor(0.95,0.95,0.95) 1028 | self.Mainframe.Objective.Block[2].Item.Font:SetShadowOffset(1, -1) 1029 | 1030 | self.Mainframe.Objective.Block[2].TextBackground = CreateFrame("Frame",nil,self.Mainframe.Objective.Block[2]) 1031 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background"} 1032 | self.Mainframe.Objective.Block[2].TextBackground:SetBackdrop(backdrop) 1033 | self.Mainframe.Objective.Block[2].TextBackground:SetBackdropColor(1,1,1,0.3) 1034 | self.Mainframe.Objective.Block[2].TextBackground:SetWidth(70) 1035 | self.Mainframe.Objective.Block[2].TextBackground:SetHeight(30) 1036 | self.Mainframe.Objective.Block[2].TextBackground:SetPoint("LEFT",30,0) 1037 | 1038 | self.Mainframe.Objective.Block[2].TextFont = self.Mainframe.Objective.Block[2].TextBackground:CreateFontString(nil, "OVERLAY") 1039 | self.Mainframe.Objective.Block[2].TextFont:SetPoint("LEFT", 0, 0) 1040 | self.Mainframe.Objective.Block[2].TextFont:SetFont("Fonts\\FRIZQT__.TTF", 8) 1041 | self.Mainframe.Objective.Block[2].TextFont:SetWidth(70) 1042 | self.Mainframe.Objective.Block[2].TextFont:SetJustifyH("LEFT") 1043 | self.Mainframe.Objective.Block[2].TextFont:SetJustifyV("CENTER") 1044 | self.Mainframe.Objective.Block[2].TextFont:SetText("TEST") 1045 | self.Mainframe.Objective.Block[2].TextFont:SetTextColor(0.95,0.95,0.95) 1046 | self.Mainframe.Objective.Block[2].TextFont:SetShadowOffset(1, -1) 1047 | 1048 | self.Mainframe.Objective.Block[3] = CreateFrame("Frame",nil,self.Mainframe.Objective) 1049 | self.Mainframe.Objective.Block[3]:SetWidth(100) 1050 | self.Mainframe.Objective.Block[3]:SetHeight(30) 1051 | self.Mainframe.Objective.Block[3]:SetPoint("TOPLEFT",225,-50) 1052 | 1053 | self.Mainframe.Objective.Block[3].Item = CreateFrame("Frame",nil,self.Mainframe.Objective.Block[3]) 1054 | local backdrop = {bgFile = "Interface\\Icons\\INV_Misc_QuestionMark"} 1055 | self.Mainframe.Objective.Block[3].Item:SetBackdrop(backdrop) 1056 | self.Mainframe.Objective.Block[3].Item:SetBackdropColor(1,1,1,1) 1057 | self.Mainframe.Objective.Block[3].Item:SetWidth(30) 1058 | self.Mainframe.Objective.Block[3].Item:SetHeight(30) 1059 | self.Mainframe.Objective.Block[3].Item:SetPoint("LEFT",0,0) 1060 | 1061 | self.Mainframe.Objective.Block[3].Item.Font = self.Mainframe.Objective.Block[3].Item:CreateFontString(nil, "OVERLAY") 1062 | self.Mainframe.Objective.Block[3].Item.Font:SetPoint("BOTTOMRIGHT", -2, 2) 1063 | self.Mainframe.Objective.Block[3].Item.Font:SetFont("Fonts\\FRIZQT__.TTF", 10) 1064 | self.Mainframe.Objective.Block[3].Item.Font:SetWidth(70) 1065 | self.Mainframe.Objective.Block[3].Item.Font:SetJustifyH("RIGHT") 1066 | self.Mainframe.Objective.Block[3].Item.Font:SetJustifyV("CENTER") 1067 | self.Mainframe.Objective.Block[3].Item.Font:SetText("99") 1068 | self.Mainframe.Objective.Block[3].Item.Font:SetTextColor(0.95,0.95,0.95) 1069 | self.Mainframe.Objective.Block[3].Item.Font:SetShadowOffset(1, -1) 1070 | 1071 | self.Mainframe.Objective.Block[3].TextBackground = CreateFrame("Frame",nil,self.Mainframe.Objective.Block[3]) 1072 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background"} 1073 | self.Mainframe.Objective.Block[3].TextBackground:SetBackdrop(backdrop) 1074 | self.Mainframe.Objective.Block[3].TextBackground:SetBackdropColor(1,1,1,0.3) 1075 | self.Mainframe.Objective.Block[3].TextBackground:SetWidth(70) 1076 | self.Mainframe.Objective.Block[3].TextBackground:SetHeight(30) 1077 | self.Mainframe.Objective.Block[3].TextBackground:SetPoint("LEFT",30,0) 1078 | 1079 | self.Mainframe.Objective.Block[3].TextFont = self.Mainframe.Objective.Block[3].TextBackground:CreateFontString(nil, "OVERLAY") 1080 | self.Mainframe.Objective.Block[3].TextFont:SetPoint("LEFT", 0, 0) 1081 | self.Mainframe.Objective.Block[3].TextFont:SetFont("Fonts\\FRIZQT__.TTF", 8) 1082 | self.Mainframe.Objective.Block[3].TextFont:SetWidth(70) 1083 | self.Mainframe.Objective.Block[3].TextFont:SetJustifyH("LEFT") 1084 | self.Mainframe.Objective.Block[3].TextFont:SetJustifyV("CENTER") 1085 | self.Mainframe.Objective.Block[3].TextFont:SetText("TEST") 1086 | self.Mainframe.Objective.Block[3].TextFont:SetTextColor(0.95,0.95,0.95) 1087 | self.Mainframe.Objective.Block[3].TextFont:SetShadowOffset(1, -1) 1088 | 1089 | self.Mainframe.Objective.Block[4] = CreateFrame("Frame",nil,self.Mainframe.Objective) 1090 | self.Mainframe.Objective.Block[4]:SetWidth(100) 1091 | self.Mainframe.Objective.Block[4]:SetHeight(30) 1092 | self.Mainframe.Objective.Block[4]:SetPoint("TOPLEFT",15,-85) 1093 | 1094 | self.Mainframe.Objective.Block[4].Item = CreateFrame("Frame",nil,self.Mainframe.Objective.Block[4]) 1095 | local backdrop = {bgFile = "Interface\\Icons\\INV_Misc_QuestionMark"} 1096 | self.Mainframe.Objective.Block[4].Item:SetBackdrop(backdrop) 1097 | self.Mainframe.Objective.Block[4].Item:SetBackdropColor(1,1,1,1) 1098 | self.Mainframe.Objective.Block[4].Item:SetWidth(30) 1099 | self.Mainframe.Objective.Block[4].Item:SetHeight(30) 1100 | self.Mainframe.Objective.Block[4].Item:SetPoint("LEFT",0,0) 1101 | 1102 | self.Mainframe.Objective.Block[4].Item.Font = self.Mainframe.Objective.Block[4].Item:CreateFontString(nil, "OVERLAY") 1103 | self.Mainframe.Objective.Block[4].Item.Font:SetPoint("BOTTOMRIGHT", -2, 2) 1104 | self.Mainframe.Objective.Block[4].Item.Font:SetFont("Fonts\\FRIZQT__.TTF", 10) 1105 | self.Mainframe.Objective.Block[4].Item.Font:SetWidth(70) 1106 | self.Mainframe.Objective.Block[4].Item.Font:SetJustifyH("RIGHT") 1107 | self.Mainframe.Objective.Block[4].Item.Font:SetJustifyV("CENTER") 1108 | self.Mainframe.Objective.Block[4].Item.Font:SetText("99") 1109 | self.Mainframe.Objective.Block[4].Item.Font:SetTextColor(0.95,0.95,0.95) 1110 | self.Mainframe.Objective.Block[4].Item.Font:SetShadowOffset(1, -1) 1111 | 1112 | self.Mainframe.Objective.Block[4].TextBackground = CreateFrame("Frame",nil,self.Mainframe.Objective.Block[4]) 1113 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background"} 1114 | self.Mainframe.Objective.Block[4].TextBackground:SetBackdrop(backdrop) 1115 | self.Mainframe.Objective.Block[4].TextBackground:SetBackdropColor(1,1,1,0.3) 1116 | self.Mainframe.Objective.Block[4].TextBackground:SetWidth(70) 1117 | self.Mainframe.Objective.Block[4].TextBackground:SetHeight(30) 1118 | self.Mainframe.Objective.Block[4].TextBackground:SetPoint("LEFT",30,0) 1119 | 1120 | self.Mainframe.Objective.Block[4].TextFont = self.Mainframe.Objective.Block[4].TextBackground:CreateFontString(nil, "OVERLAY") 1121 | self.Mainframe.Objective.Block[4].TextFont:SetPoint("LEFT", 0, 0) 1122 | self.Mainframe.Objective.Block[4].TextFont:SetFont("Fonts\\FRIZQT__.TTF", 8) 1123 | self.Mainframe.Objective.Block[4].TextFont:SetWidth(70) 1124 | self.Mainframe.Objective.Block[4].TextFont:SetJustifyH("LEFT") 1125 | self.Mainframe.Objective.Block[4].TextFont:SetJustifyV("CENTER") 1126 | self.Mainframe.Objective.Block[4].TextFont:SetText("TEST") 1127 | self.Mainframe.Objective.Block[4].TextFont:SetTextColor(0.95,0.95,0.95) 1128 | self.Mainframe.Objective.Block[4].TextFont:SetShadowOffset(1, -1) 1129 | 1130 | self.Mainframe.Objective.Block[5] = CreateFrame("Frame",nil,self.Mainframe.Objective) 1131 | self.Mainframe.Objective.Block[5]:SetWidth(100) 1132 | self.Mainframe.Objective.Block[5]:SetHeight(30) 1133 | self.Mainframe.Objective.Block[5]:SetPoint("TOPLEFT",120,-85) 1134 | 1135 | self.Mainframe.Objective.Block[5].Item = CreateFrame("Frame",nil,self.Mainframe.Objective.Block[5]) 1136 | local backdrop = {bgFile = "Interface\\Icons\\INV_Misc_QuestionMark"} 1137 | self.Mainframe.Objective.Block[5].Item:SetBackdrop(backdrop) 1138 | self.Mainframe.Objective.Block[5].Item:SetBackdropColor(1,1,1,1) 1139 | self.Mainframe.Objective.Block[5].Item:SetWidth(30) 1140 | self.Mainframe.Objective.Block[5].Item:SetHeight(30) 1141 | self.Mainframe.Objective.Block[5].Item:SetPoint("LEFT",0,0) 1142 | 1143 | self.Mainframe.Objective.Block[5].Item.Font = self.Mainframe.Objective.Block[5].Item:CreateFontString(nil, "OVERLAY") 1144 | self.Mainframe.Objective.Block[5].Item.Font:SetPoint("BOTTOMRIGHT", -2, 2) 1145 | self.Mainframe.Objective.Block[5].Item.Font:SetFont("Fonts\\FRIZQT__.TTF", 10) 1146 | self.Mainframe.Objective.Block[5].Item.Font:SetWidth(70) 1147 | self.Mainframe.Objective.Block[5].Item.Font:SetJustifyH("RIGHT") 1148 | self.Mainframe.Objective.Block[5].Item.Font:SetJustifyV("CENTER") 1149 | self.Mainframe.Objective.Block[5].Item.Font:SetText("99") 1150 | self.Mainframe.Objective.Block[5].Item.Font:SetTextColor(0.95,0.95,0.95) 1151 | self.Mainframe.Objective.Block[5].Item.Font:SetShadowOffset(1, -1) 1152 | 1153 | self.Mainframe.Objective.Block[5].TextBackground = CreateFrame("Frame",nil,self.Mainframe.Objective.Block[5]) 1154 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background"} 1155 | self.Mainframe.Objective.Block[5].TextBackground:SetBackdrop(backdrop) 1156 | self.Mainframe.Objective.Block[5].TextBackground:SetBackdropColor(1,1,1,0.3) 1157 | self.Mainframe.Objective.Block[5].TextBackground:SetWidth(70) 1158 | self.Mainframe.Objective.Block[5].TextBackground:SetHeight(30) 1159 | self.Mainframe.Objective.Block[5].TextBackground:SetPoint("LEFT",30,0) 1160 | 1161 | self.Mainframe.Objective.Block[5].TextFont = self.Mainframe.Objective.Block[5].TextBackground:CreateFontString(nil, "OVERLAY") 1162 | self.Mainframe.Objective.Block[5].TextFont:SetPoint("LEFT", 0, 0) 1163 | self.Mainframe.Objective.Block[5].TextFont:SetFont("Fonts\\FRIZQT__.TTF", 8) 1164 | self.Mainframe.Objective.Block[5].TextFont:SetWidth(70) 1165 | self.Mainframe.Objective.Block[5].TextFont:SetJustifyH("LEFT") 1166 | self.Mainframe.Objective.Block[5].TextFont:SetJustifyV("CENTER") 1167 | self.Mainframe.Objective.Block[5].TextFont:SetText("TEST") 1168 | self.Mainframe.Objective.Block[5].TextFont:SetTextColor(0.95,0.95,0.95) 1169 | self.Mainframe.Objective.Block[5].TextFont:SetShadowOffset(1, -1) 1170 | 1171 | self.Mainframe.Objective.Block[6] = CreateFrame("Frame",nil,self.Mainframe.Objective) 1172 | self.Mainframe.Objective.Block[6]:SetWidth(100) 1173 | self.Mainframe.Objective.Block[6]:SetHeight(30) 1174 | self.Mainframe.Objective.Block[6]:SetPoint("TOPLEFT",225,-85) 1175 | 1176 | self.Mainframe.Objective.Block[6].Item = CreateFrame("Frame",nil,self.Mainframe.Objective.Block[6]) 1177 | local backdrop = {bgFile = "Interface\\Icons\\INV_Misc_QuestionMark"} 1178 | self.Mainframe.Objective.Block[6].Item:SetBackdrop(backdrop) 1179 | self.Mainframe.Objective.Block[6].Item:SetBackdropColor(1,1,1,1) 1180 | self.Mainframe.Objective.Block[6].Item:SetWidth(30) 1181 | self.Mainframe.Objective.Block[6].Item:SetHeight(30) 1182 | self.Mainframe.Objective.Block[6].Item:SetPoint("LEFT",0,0) 1183 | 1184 | self.Mainframe.Objective.Block[6].Item.Font = self.Mainframe.Objective.Block[6].Item:CreateFontString(nil, "OVERLAY") 1185 | self.Mainframe.Objective.Block[6].Item.Font:SetPoint("BOTTOMRIGHT", -2, 2) 1186 | self.Mainframe.Objective.Block[6].Item.Font:SetFont("Fonts\\FRIZQT__.TTF", 10) 1187 | self.Mainframe.Objective.Block[6].Item.Font:SetWidth(70) 1188 | self.Mainframe.Objective.Block[6].Item.Font:SetJustifyH("RIGHT") 1189 | self.Mainframe.Objective.Block[6].Item.Font:SetJustifyV("CENTER") 1190 | self.Mainframe.Objective.Block[6].Item.Font:SetText("99") 1191 | self.Mainframe.Objective.Block[6].Item.Font:SetTextColor(0.95,0.95,0.95) 1192 | self.Mainframe.Objective.Block[6].Item.Font:SetShadowOffset(1, -1) 1193 | 1194 | self.Mainframe.Objective.Block[6].TextBackground = CreateFrame("Frame",nil,self.Mainframe.Objective.Block[6]) 1195 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background"} 1196 | self.Mainframe.Objective.Block[6].TextBackground:SetBackdrop(backdrop) 1197 | self.Mainframe.Objective.Block[6].TextBackground:SetBackdropColor(1,1,1,0.3) 1198 | self.Mainframe.Objective.Block[6].TextBackground:SetWidth(70) 1199 | self.Mainframe.Objective.Block[6].TextBackground:SetHeight(30) 1200 | self.Mainframe.Objective.Block[6].TextBackground:SetPoint("LEFT",30,0) 1201 | 1202 | self.Mainframe.Objective.Block[6].TextFont = self.Mainframe.Objective.Block[6].TextBackground:CreateFontString(nil, "OVERLAY") 1203 | self.Mainframe.Objective.Block[6].TextFont:SetPoint("LEFT", 0, 0) 1204 | self.Mainframe.Objective.Block[6].TextFont:SetFont("Fonts\\FRIZQT__.TTF", 8) 1205 | self.Mainframe.Objective.Block[6].TextFont:SetWidth(70) 1206 | self.Mainframe.Objective.Block[6].TextFont:SetJustifyH("LEFT") 1207 | self.Mainframe.Objective.Block[6].TextFont:SetJustifyV("CENTER") 1208 | self.Mainframe.Objective.Block[6].TextFont:SetText("TEST") 1209 | self.Mainframe.Objective.Block[6].TextFont:SetTextColor(0.95,0.95,0.95) 1210 | self.Mainframe.Objective.Block[6].TextFont:SetShadowOffset(1, -1) 1211 | 1212 | -- Req. Fonts 1213 | self.Mainframe.Objective.Font = {} 1214 | self.Mainframe.Objective.Font[1] = self.Mainframe.Objective:CreateFontString(nil, "OVERLAY") 1215 | self.Mainframe.Objective.Font[1]:SetPoint("TOP", 0, -50) 1216 | self.Mainframe.Objective.Font[1]:SetFont("Fonts\\FRIZQT__.TTF", 12) 1217 | self.Mainframe.Objective.Font[1]:SetWidth(320) 1218 | self.Mainframe.Objective.Font[1]:SetHeight(50) 1219 | self.Mainframe.Objective.Font[1]:SetJustifyH("LEFT") 1220 | self.Mainframe.Objective.Font[1]:SetJustifyV("TOP") 1221 | self.Mainframe.Objective.Font[1]:SetText("TEST") 1222 | self.Mainframe.Objective.Font[1]:SetTextColor(0.95,0.95,0.95) 1223 | self.Mainframe.Objective.Font[1]:SetShadowOffset(1, -1) 1224 | 1225 | self.Mainframe.Objective.Font[2] = self.Mainframe.Objective:CreateFontString(nil, "OVERLAY") 1226 | self.Mainframe.Objective.Font[2]:SetPoint("TOP", 0, -65) 1227 | self.Mainframe.Objective.Font[2]:SetFont("Fonts\\FRIZQT__.TTF", 12) 1228 | self.Mainframe.Objective.Font[2]:SetWidth(320) 1229 | self.Mainframe.Objective.Font[2]:SetHeight(50) 1230 | self.Mainframe.Objective.Font[2]:SetJustifyH("LEFT") 1231 | self.Mainframe.Objective.Font[2]:SetJustifyV("TOP") 1232 | self.Mainframe.Objective.Font[2]:SetText("TEST") 1233 | self.Mainframe.Objective.Font[2]:SetTextColor(0.95,0.95,0.95) 1234 | self.Mainframe.Objective.Font[2]:SetShadowOffset(1, -1) 1235 | 1236 | self.Mainframe.Objective.Font[3] = self.Mainframe.Objective:CreateFontString(nil, "OVERLAY") 1237 | self.Mainframe.Objective.Font[3]:SetPoint("TOP", 0, -80) 1238 | self.Mainframe.Objective.Font[3]:SetFont("Fonts\\FRIZQT__.TTF", 12) 1239 | self.Mainframe.Objective.Font[3]:SetWidth(320) 1240 | self.Mainframe.Objective.Font[3]:SetHeight(50) 1241 | self.Mainframe.Objective.Font[3]:SetJustifyH("LEFT") 1242 | self.Mainframe.Objective.Font[3]:SetJustifyV("TOP") 1243 | self.Mainframe.Objective.Font[3]:SetText("TEST") 1244 | self.Mainframe.Objective.Font[3]:SetTextColor(0.95,0.95,0.95) 1245 | self.Mainframe.Objective.Font[3]:SetShadowOffset(1, -1) 1246 | 1247 | self.Mainframe.Objective.Font[4] = self.Mainframe.Objective:CreateFontString(nil, "OVERLAY") 1248 | self.Mainframe.Objective.Font[4]:SetPoint("TOP", 0, -95) 1249 | self.Mainframe.Objective.Font[4]:SetFont("Fonts\\FRIZQT__.TTF", 12) 1250 | self.Mainframe.Objective.Font[4]:SetWidth(320) 1251 | self.Mainframe.Objective.Font[4]:SetHeight(50) 1252 | self.Mainframe.Objective.Font[4]:SetJustifyH("LEFT") 1253 | self.Mainframe.Objective.Font[4]:SetJustifyV("TOP") 1254 | self.Mainframe.Objective.Font[4]:SetText("TEST") 1255 | self.Mainframe.Objective.Font[4]:SetTextColor(0.95,0.95,0.95) 1256 | self.Mainframe.Objective.Font[4]:SetShadowOffset(1, -1) 1257 | 1258 | self.Mainframe.Objective.Font[5] = self.Mainframe.Objective:CreateFontString(nil, "OVERLAY") 1259 | self.Mainframe.Objective.Font[5]:SetPoint("TOP", 0, -110) 1260 | self.Mainframe.Objective.Font[5]:SetFont("Fonts\\FRIZQT__.TTF", 12) 1261 | self.Mainframe.Objective.Font[5]:SetWidth(320) 1262 | self.Mainframe.Objective.Font[5]:SetHeight(50) 1263 | self.Mainframe.Objective.Font[5]:SetJustifyH("LEFT") 1264 | self.Mainframe.Objective.Font[5]:SetJustifyV("TOP") 1265 | self.Mainframe.Objective.Font[5]:SetText("TEST") 1266 | self.Mainframe.Objective.Font[5]:SetTextColor(0.95,0.95,0.95) 1267 | self.Mainframe.Objective.Font[5]:SetShadowOffset(1, -1) 1268 | 1269 | self.Mainframe.Objective.Font[6] = self.Mainframe.Objective:CreateFontString(nil, "OVERLAY") 1270 | self.Mainframe.Objective.Font[6]:SetPoint("TOP", 0, -125) 1271 | self.Mainframe.Objective.Font[6]:SetFont("Fonts\\FRIZQT__.TTF", 12) 1272 | self.Mainframe.Objective.Font[6]:SetWidth(320) 1273 | self.Mainframe.Objective.Font[6]:SetHeight(50) 1274 | self.Mainframe.Objective.Font[6]:SetJustifyH("LEFT") 1275 | self.Mainframe.Objective.Font[6]:SetJustifyV("TOP") 1276 | self.Mainframe.Objective.Font[6]:SetText("TEST") 1277 | self.Mainframe.Objective.Font[6]:SetTextColor(0.95,0.95,0.95) 1278 | self.Mainframe.Objective.Font[6]:SetShadowOffset(1, -1) 1279 | 1280 | end 1281 | 1282 | function storyline.QuestComplete:ConfigureFrame() 1283 | 1284 | -- Quest Complete Mainframe Buttons 1285 | self.Mainframe = CreateFrame("Frame",nil,storyline.Background.layer5) 1286 | self.Mainframe:SetWidth(350) 1287 | self.Mainframe:SetHeight(400) 1288 | self.Mainframe:SetPoint("CENTER",0,30) 1289 | 1290 | -- Center Items 1291 | self.Mainframe.CenterItem = CreateFrame("Frame",nil,self.Mainframe) 1292 | local backdrop = {bgFile = "Interface\\Icons\\INV_Box_02"} 1293 | self.Mainframe.CenterItem:SetBackdrop(backdrop) 1294 | self.Mainframe.CenterItem:SetBackdropColor(1,1,1,1) 1295 | self.Mainframe.CenterItem:SetWidth(40) 1296 | self.Mainframe.CenterItem:SetHeight(40) 1297 | self.Mainframe.CenterItem:SetPoint("CENTER",0,70) 1298 | 1299 | self.Mainframe.CenterItem.Frame = CreateFrame("Frame",nil,self.Mainframe.CenterItem) 1300 | local backdrop = {bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\UI-Achievement-IconFrame"} 1301 | self.Mainframe.CenterItem.Frame:SetBackdrop(backdrop) 1302 | self.Mainframe.CenterItem.Frame:SetBackdropColor(1,1,1,1) 1303 | self.Mainframe.CenterItem.Frame:SetWidth(105) 1304 | self.Mainframe.CenterItem.Frame:SetHeight(105) 1305 | self.Mainframe.CenterItem.Frame:SetPoint("TOPLEFT",-8,8) 1306 | 1307 | self.Mainframe.CenterRing = CreateFrame("Frame",nil,self.Mainframe.CenterItem) 1308 | local backdrop = {bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\GarrZoneAbility-TradingPost"} 1309 | self.Mainframe.CenterRing:SetBackdrop(backdrop) 1310 | self.Mainframe.CenterRing:SetBackdropColor(1,1,1,1) 1311 | self.Mainframe.CenterRing:SetWidth(256) 1312 | self.Mainframe.CenterRing:SetHeight(128) 1313 | self.Mainframe.CenterRing:SetPoint("CENTER",0,0) 1314 | 1315 | self.Mainframe.CenterFlash = CreateFrame("Frame",nil,self.Mainframe.CenterItem) 1316 | self.Mainframe.CenterFlash:SetWidth(256) 1317 | self.Mainframe.CenterFlash:SetHeight(256) 1318 | self.Mainframe.CenterFlash:SetPoint("CENTER",0,0) 1319 | self.Mainframe.CenterFlash.Flash = self.Mainframe.CenterFlash:CreateTexture() 1320 | self.Mainframe.CenterFlash.Flash:SetAllPoints() 1321 | self.Mainframe.CenterFlash.Flash:SetTexture("Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\PandarenTrainingLarge_Circular_Flash") 1322 | self.Mainframe.CenterFlash.Flash:SetTexCoord(1,0,1,0) 1323 | self.Mainframe.CenterFlash.Flash:SetBlendMode("ADD") 1324 | 1325 | -- Reward Frame 1326 | self.Mainframe.Reward = CreateFrame("Frame",nil,self.Mainframe) 1327 | local backdrop = {bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\UI-GuildAchievement-Parchment-Horizontal", edgeFile="Interface\\GLUES\\COMMON\\TextPanel-Border", tile=false,tileSize = 16, edgeSize = 36, insets = { left = 6, right = 6, top = 6, bottom = 6 }} 1328 | self.Mainframe.Reward:SetBackdrop(backdrop) 1329 | self.Mainframe.Reward:SetBackdropColor(1,1,1,0.5) 1330 | self.Mainframe.Reward:SetBackdropBorderColor(1,1,0,1) 1331 | self.Mainframe.Reward:SetWidth(350) 1332 | self.Mainframe.Reward:SetHeight(150) 1333 | self.Mainframe.Reward:SetPoint("CENTER",0,-50) 1334 | 1335 | self.Mainframe.Reward.Headline = self.Mainframe.Reward:CreateFontString(nil, "OVERLAY") 1336 | self.Mainframe.Reward.Headline:SetPoint("TOP", 0, -10) 1337 | self.Mainframe.Reward.Headline:SetFont("Fonts\\FRIZQT__.TTF", 16) 1338 | self.Mainframe.Reward.Headline:SetWidth(470) 1339 | self.Mainframe.Reward.Headline:SetHeight(70) 1340 | self.Mainframe.Reward.Headline:SetJustifyH("CENTER") 1341 | self.Mainframe.Reward.Headline:SetJustifyV("TOP") 1342 | self.Mainframe.Reward.Headline:SetText("Rewards") 1343 | self.Mainframe.Reward.Headline:SetTextColor(1,0.75,0) 1344 | self.Mainframe.Reward.Headline:SetShadowOffset(1, -1) 1345 | 1346 | self.Mainframe.Reward.ReceiveText = self.Mainframe.Reward:CreateFontString(nil, "OVERLAY") 1347 | self.Mainframe.Reward.ReceiveText:SetPoint("TOP", 0, -30) 1348 | self.Mainframe.Reward.ReceiveText:SetFont("Fonts\\FRIZQT__.TTF", 14) 1349 | self.Mainframe.Reward.ReceiveText:SetWidth(320) 1350 | self.Mainframe.Reward.ReceiveText:SetHeight(50) 1351 | self.Mainframe.Reward.ReceiveText:SetJustifyH("LEFT") 1352 | self.Mainframe.Reward.ReceiveText:SetJustifyV("TOP") 1353 | self.Mainframe.Reward.ReceiveText:SetText("You will Receive:") 1354 | self.Mainframe.Reward.ReceiveText:SetTextColor(1,1,1) 1355 | self.Mainframe.Reward.ReceiveText:SetShadowOffset(1, -1) 1356 | 1357 | -- gold reward frame, the shitty blizzard frametemplate doesnt work! 1358 | self.Mainframe.Reward.Money = CreateFrame("Frame",nil,self.Mainframe.Reward) 1359 | self.Mainframe.Reward.Money:SetPoint("TOPLEFT",170,-23) 1360 | self.Mainframe.Reward.Money:SetWidth(100) 1361 | self.Mainframe.Reward.Money:SetHeight(28) 1362 | self.Mainframe.Reward.Money.Copper = CreateFrame("Frame",nil,self.Mainframe.Reward.Money) 1363 | self.Mainframe.Reward.Money.Copper:SetPoint("RIGHT",0,0) 1364 | self.Mainframe.Reward.Money.Copper:SetWidth(19) 1365 | self.Mainframe.Reward.Money.Copper:SetHeight(19) 1366 | local Copper = self.Mainframe.Reward.Money.Copper:CreateTexture() 1367 | Copper:SetAllPoints() 1368 | Copper:SetTexture("Interface\\MoneyFrame\\UI-MoneyIcons") 1369 | Copper:SetTexCoord(0.5,0.75,0,1) 1370 | self.Mainframe.Reward.Money.Copper.Font = self.Mainframe.Reward.Money.Copper:CreateFontString(nil, "OVERLAY","NumberFontNormalLarge") 1371 | self.Mainframe.Reward.Money.Copper.Font:SetPoint("RIGHT",-19,0) 1372 | self.Mainframe.Reward.Money.Copper.Font:SetText("??") 1373 | self.Mainframe.Reward.Money.Silver = CreateFrame("Frame",nil,self.Mainframe.Reward.Money) 1374 | self.Mainframe.Reward.Money.Silver:SetPoint("CENTER",0,0) 1375 | self.Mainframe.Reward.Money.Silver:SetWidth(19) 1376 | self.Mainframe.Reward.Money.Silver:SetHeight(19) 1377 | local Silver = self.Mainframe.Reward.Money.Silver:CreateTexture() 1378 | Silver:SetAllPoints() 1379 | Silver:SetTexture("Interface\\MoneyFrame\\UI-MoneyIcons") 1380 | Silver:SetTexCoord(0.25,0.5,0,1) 1381 | self.Mainframe.Reward.Money.Silver.Font = self.Mainframe.Reward.Money.Silver:CreateFontString(nil, "OVERLAY","NumberFontNormalLarge") 1382 | self.Mainframe.Reward.Money.Silver.Font:SetPoint("CENTER",-19,0) 1383 | self.Mainframe.Reward.Money.Silver.Font:SetText("??") 1384 | self.Mainframe.Reward.Money.Gold = CreateFrame("Frame",nil,self.Mainframe.Reward.Money) 1385 | self.Mainframe.Reward.Money.Gold:SetPoint("LEFT",0,0) 1386 | self.Mainframe.Reward.Money.Gold:SetWidth(19) 1387 | self.Mainframe.Reward.Money.Gold:SetHeight(19) 1388 | local Gold = self.Mainframe.Reward.Money.Gold:CreateTexture() 1389 | Gold:SetAllPoints() 1390 | Gold:SetTexture("Interface\\MoneyFrame\\UI-MoneyIcons") 1391 | Gold:SetTexCoord(0.,0.25,0,1) 1392 | self.Mainframe.Reward.Money.Gold.Font = self.Mainframe.Reward.Money.Gold:CreateFontString(nil, "OVERLAY","NumberFontNormalLarge") 1393 | self.Mainframe.Reward.Money.Gold.Font:SetPoint("LEFT",-19,0) 1394 | self.Mainframe.Reward.Money.Gold.Font:SetText("??") 1395 | 1396 | -- Reward Items Blocks 1397 | self.Mainframe.Reward.Block = {} 1398 | 1399 | self.Mainframe.Reward.Block[1] = CreateFrame("Frame",nil,self.Mainframe.Reward) 1400 | local backdrop = {bgFile = "Interface\\ChatFrame\\ChatFrameBackground"} 1401 | self.Mainframe.Reward.Block[1]:SetBackdrop(backdrop) 1402 | self.Mainframe.Reward.Block[1]:SetBackdropColor(0.8,0.8,0.8,0) 1403 | self.Mainframe.Reward.Block[1]:SetBackdropBorderColor(1,1,1,0) 1404 | self.Mainframe.Reward.Block[1]:SetWidth(100) 1405 | self.Mainframe.Reward.Block[1]:SetHeight(30) 1406 | self.Mainframe.Reward.Block[1]:SetPoint("TOPLEFT",15,-50) 1407 | 1408 | self.Mainframe.Reward.Block[1].Item = CreateFrame("Frame",nil,self.Mainframe.Reward.Block[1]) 1409 | local backdrop = {bgFile = "Interface\\Icons\\INV_Misc_QuestionMark"} 1410 | self.Mainframe.Reward.Block[1].Item:SetBackdrop(backdrop) 1411 | self.Mainframe.Reward.Block[1].Item:SetBackdropColor(1,1,1,1) 1412 | self.Mainframe.Reward.Block[1].Item:SetWidth(30) 1413 | self.Mainframe.Reward.Block[1].Item:SetHeight(30) 1414 | self.Mainframe.Reward.Block[1].Item:SetPoint("LEFT",0,0) 1415 | 1416 | self.Mainframe.Reward.Block[1].Item.Button = CreateFrame("Button",nil,self.Mainframe.Reward.Block[1]) 1417 | self.Mainframe.Reward.Block[1].Item.Button:SetWidth(100) 1418 | self.Mainframe.Reward.Block[1].Item.Button:SetHeight(30) 1419 | self.Mainframe.Reward.Block[1].Item.Button:SetPoint("LEFT",0,0) 1420 | 1421 | self.Mainframe.Reward.Block[1].Item.Font = self.Mainframe.Reward.Block[1].Item:CreateFontString(nil, "OVERLAY") 1422 | self.Mainframe.Reward.Block[1].Item.Font:SetPoint("BOTTOMRIGHT", -2, 2) 1423 | self.Mainframe.Reward.Block[1].Item.Font:SetFont("Fonts\\FRIZQT__.TTF", 10) 1424 | self.Mainframe.Reward.Block[1].Item.Font:SetWidth(70) 1425 | self.Mainframe.Reward.Block[1].Item.Font:SetJustifyH("RIGHT") 1426 | self.Mainframe.Reward.Block[1].Item.Font:SetJustifyV("CENTER") 1427 | self.Mainframe.Reward.Block[1].Item.Font:SetText("99") 1428 | self.Mainframe.Reward.Block[1].Item.Font:SetTextColor(0.95,0.95,0.95) 1429 | self.Mainframe.Reward.Block[1].Item.Font:SetShadowOffset(1, -1) 1430 | 1431 | self.Mainframe.Reward.Block[1].TextBackground = CreateFrame("Frame",nil,self.Mainframe.Reward.Block[1]) 1432 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background"} 1433 | self.Mainframe.Reward.Block[1].TextBackground:SetBackdrop(backdrop) 1434 | self.Mainframe.Reward.Block[1].TextBackground:SetBackdropColor(1,1,1,0.3) 1435 | self.Mainframe.Reward.Block[1].TextBackground:SetWidth(70) 1436 | self.Mainframe.Reward.Block[1].TextBackground:SetHeight(30) 1437 | self.Mainframe.Reward.Block[1].TextBackground:SetPoint("LEFT",30,0) 1438 | 1439 | self.Mainframe.Reward.Block[1].TextFont = self.Mainframe.Reward.Block[1].TextBackground:CreateFontString(nil, "OVERLAY") 1440 | self.Mainframe.Reward.Block[1].TextFont:SetPoint("LEFT", 0, 0) 1441 | self.Mainframe.Reward.Block[1].TextFont:SetFont("Fonts\\FRIZQT__.TTF", 8) 1442 | self.Mainframe.Reward.Block[1].TextFont:SetWidth(70) 1443 | self.Mainframe.Reward.Block[1].TextFont:SetJustifyH("LEFT") 1444 | self.Mainframe.Reward.Block[1].TextFont:SetJustifyV("CENTER") 1445 | self.Mainframe.Reward.Block[1].TextFont:SetText("TEST") 1446 | self.Mainframe.Reward.Block[1].TextFont:SetTextColor(0.95,0.95,0.95) 1447 | self.Mainframe.Reward.Block[1].TextFont:SetShadowOffset(1, -1) 1448 | 1449 | self.Mainframe.Reward.Block[2] = CreateFrame("Frame",nil,self.Mainframe.Reward) 1450 | local backdrop = {bgFile = "Interface\\ChatFrame\\ChatFrameBackground"} 1451 | self.Mainframe.Reward.Block[2]:SetBackdrop(backdrop) 1452 | self.Mainframe.Reward.Block[2]:SetBackdropColor(0.8,0.8,0.8,0) 1453 | self.Mainframe.Reward.Block[2]:SetBackdropBorderColor(1,1,1,0) 1454 | self.Mainframe.Reward.Block[2]:SetWidth(100) 1455 | self.Mainframe.Reward.Block[2]:SetHeight(30) 1456 | self.Mainframe.Reward.Block[2]:SetPoint("TOPLEFT",120,-50) 1457 | 1458 | self.Mainframe.Reward.Block[2].Item = CreateFrame("Frame",nil,self.Mainframe.Reward.Block[2]) 1459 | local backdrop = {bgFile = "Interface\\Icons\\INV_Misc_QuestionMark"} 1460 | self.Mainframe.Reward.Block[2].Item:SetBackdrop(backdrop) 1461 | self.Mainframe.Reward.Block[2].Item:SetBackdropColor(1,1,1,1) 1462 | self.Mainframe.Reward.Block[2].Item:SetWidth(30) 1463 | self.Mainframe.Reward.Block[2].Item:SetHeight(30) 1464 | self.Mainframe.Reward.Block[2].Item:SetPoint("LEFT",0,0) 1465 | 1466 | self.Mainframe.Reward.Block[2].Item.Button = CreateFrame("Button",nil,self.Mainframe.Reward.Block[2]) 1467 | self.Mainframe.Reward.Block[2].Item.Button:SetWidth(100) 1468 | self.Mainframe.Reward.Block[2].Item.Button:SetHeight(30) 1469 | self.Mainframe.Reward.Block[2].Item.Button:SetPoint("LEFT",0,0) 1470 | 1471 | self.Mainframe.Reward.Block[2].Item.Font = self.Mainframe.Reward.Block[2].Item:CreateFontString(nil, "OVERLAY") 1472 | self.Mainframe.Reward.Block[2].Item.Font:SetPoint("BOTTOMRIGHT", -2, 2) 1473 | self.Mainframe.Reward.Block[2].Item.Font:SetFont("Fonts\\FRIZQT__.TTF", 10) 1474 | self.Mainframe.Reward.Block[2].Item.Font:SetWidth(70) 1475 | self.Mainframe.Reward.Block[2].Item.Font:SetJustifyH("RIGHT") 1476 | self.Mainframe.Reward.Block[2].Item.Font:SetJustifyV("CENTER") 1477 | self.Mainframe.Reward.Block[2].Item.Font:SetText("99") 1478 | self.Mainframe.Reward.Block[2].Item.Font:SetTextColor(0.95,0.95,0.95) 1479 | self.Mainframe.Reward.Block[2].Item.Font:SetShadowOffset(1, -1) 1480 | 1481 | self.Mainframe.Reward.Block[2].TextBackground = CreateFrame("Frame",nil,self.Mainframe.Reward.Block[2]) 1482 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background"} 1483 | self.Mainframe.Reward.Block[2].TextBackground:SetBackdrop(backdrop) 1484 | self.Mainframe.Reward.Block[2].TextBackground:SetBackdropColor(1,1,1,0.3) 1485 | self.Mainframe.Reward.Block[2].TextBackground:SetWidth(70) 1486 | self.Mainframe.Reward.Block[2].TextBackground:SetHeight(30) 1487 | self.Mainframe.Reward.Block[2].TextBackground:SetPoint("LEFT",30,0) 1488 | 1489 | self.Mainframe.Reward.Block[2].TextFont = self.Mainframe.Reward.Block[2].TextBackground:CreateFontString(nil, "OVERLAY") 1490 | self.Mainframe.Reward.Block[2].TextFont:SetPoint("LEFT", 0, 0) 1491 | self.Mainframe.Reward.Block[2].TextFont:SetFont("Fonts\\FRIZQT__.TTF", 8) 1492 | self.Mainframe.Reward.Block[2].TextFont:SetWidth(70) 1493 | self.Mainframe.Reward.Block[2].TextFont:SetJustifyH("LEFT") 1494 | self.Mainframe.Reward.Block[2].TextFont:SetJustifyV("CENTER") 1495 | self.Mainframe.Reward.Block[2].TextFont:SetText("TEST") 1496 | self.Mainframe.Reward.Block[2].TextFont:SetTextColor(0.95,0.95,0.95) 1497 | self.Mainframe.Reward.Block[2].TextFont:SetShadowOffset(1, -1) 1498 | 1499 | self.Mainframe.Reward.Block[3] = CreateFrame("Frame",nil,self.Mainframe.Reward) 1500 | local backdrop = {bgFile = "Interface\\ChatFrame\\ChatFrameBackground"} 1501 | self.Mainframe.Reward.Block[3]:SetBackdrop(backdrop) 1502 | self.Mainframe.Reward.Block[3]:SetBackdropColor(0.8,0.8,0.8,0) 1503 | self.Mainframe.Reward.Block[3]:SetBackdropBorderColor(1,1,1,0) 1504 | self.Mainframe.Reward.Block[3]:SetWidth(100) 1505 | self.Mainframe.Reward.Block[3]:SetHeight(30) 1506 | self.Mainframe.Reward.Block[3]:SetPoint("TOPLEFT",225,-50) 1507 | 1508 | self.Mainframe.Reward.Block[3].Item = CreateFrame("Frame",nil,self.Mainframe.Reward.Block[3]) 1509 | local backdrop = {bgFile = "Interface\\Icons\\INV_Misc_QuestionMark"} 1510 | self.Mainframe.Reward.Block[3].Item:SetBackdrop(backdrop) 1511 | self.Mainframe.Reward.Block[3].Item:SetBackdropColor(1,1,1,1) 1512 | self.Mainframe.Reward.Block[3].Item:SetWidth(30) 1513 | self.Mainframe.Reward.Block[3].Item:SetHeight(30) 1514 | self.Mainframe.Reward.Block[3].Item:SetPoint("LEFT",0,0) 1515 | 1516 | self.Mainframe.Reward.Block[3].Item.Button = CreateFrame("Button",nil,self.Mainframe.Reward.Block[3]) 1517 | self.Mainframe.Reward.Block[3].Item.Button:SetWidth(100) 1518 | self.Mainframe.Reward.Block[3].Item.Button:SetHeight(30) 1519 | self.Mainframe.Reward.Block[3].Item.Button:SetPoint("LEFT",0,0) 1520 | 1521 | self.Mainframe.Reward.Block[3].Item.Font = self.Mainframe.Reward.Block[3].Item:CreateFontString(nil, "OVERLAY") 1522 | self.Mainframe.Reward.Block[3].Item.Font:SetPoint("BOTTOMRIGHT", -2, 2) 1523 | self.Mainframe.Reward.Block[3].Item.Font:SetFont("Fonts\\FRIZQT__.TTF", 10) 1524 | self.Mainframe.Reward.Block[3].Item.Font:SetWidth(70) 1525 | self.Mainframe.Reward.Block[3].Item.Font:SetJustifyH("RIGHT") 1526 | self.Mainframe.Reward.Block[3].Item.Font:SetJustifyV("CENTER") 1527 | self.Mainframe.Reward.Block[3].Item.Font:SetText("99") 1528 | self.Mainframe.Reward.Block[3].Item.Font:SetTextColor(0.95,0.95,0.95) 1529 | self.Mainframe.Reward.Block[3].Item.Font:SetShadowOffset(1, -1) 1530 | 1531 | self.Mainframe.Reward.Block[3].TextBackground = CreateFrame("Frame",nil,self.Mainframe.Reward.Block[3]) 1532 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background"} 1533 | self.Mainframe.Reward.Block[3].TextBackground:SetBackdrop(backdrop) 1534 | self.Mainframe.Reward.Block[3].TextBackground:SetBackdropColor(1,1,1,0.3) 1535 | self.Mainframe.Reward.Block[3].TextBackground:SetWidth(70) 1536 | self.Mainframe.Reward.Block[3].TextBackground:SetHeight(30) 1537 | self.Mainframe.Reward.Block[3].TextBackground:SetPoint("LEFT",30,0) 1538 | 1539 | self.Mainframe.Reward.Block[3].TextFont = self.Mainframe.Reward.Block[3].TextBackground:CreateFontString(nil, "OVERLAY") 1540 | self.Mainframe.Reward.Block[3].TextFont:SetPoint("LEFT", 0, 0) 1541 | self.Mainframe.Reward.Block[3].TextFont:SetFont("Fonts\\FRIZQT__.TTF", 8) 1542 | self.Mainframe.Reward.Block[3].TextFont:SetWidth(70) 1543 | self.Mainframe.Reward.Block[3].TextFont:SetJustifyH("LEFT") 1544 | self.Mainframe.Reward.Block[3].TextFont:SetJustifyV("CENTER") 1545 | self.Mainframe.Reward.Block[3].TextFont:SetText("TEST") 1546 | self.Mainframe.Reward.Block[3].TextFont:SetTextColor(0.95,0.95,0.95) 1547 | self.Mainframe.Reward.Block[3].TextFont:SetShadowOffset(1, -1) 1548 | 1549 | self.Mainframe.Reward.Block[4] = CreateFrame("Frame",nil,self.Mainframe.Reward) 1550 | local backdrop = {bgFile = "Interface\\ChatFrame\\ChatFrameBackground"} 1551 | self.Mainframe.Reward.Block[4]:SetBackdrop(backdrop) 1552 | self.Mainframe.Reward.Block[4]:SetBackdropColor(0.8,0.8,0.8,0) 1553 | self.Mainframe.Reward.Block[4]:SetBackdropBorderColor(1,1,1,0) 1554 | self.Mainframe.Reward.Block[4]:SetWidth(100) 1555 | self.Mainframe.Reward.Block[4]:SetHeight(30) 1556 | self.Mainframe.Reward.Block[4]:SetPoint("TOPLEFT",15,-85) 1557 | 1558 | self.Mainframe.Reward.Block[4].Item = CreateFrame("Frame",nil,self.Mainframe.Reward.Block[4]) 1559 | local backdrop = {bgFile = "Interface\\Icons\\INV_Misc_QuestionMark"} 1560 | self.Mainframe.Reward.Block[4].Item:SetBackdrop(backdrop) 1561 | self.Mainframe.Reward.Block[4].Item:SetBackdropColor(1,1,1,1) 1562 | self.Mainframe.Reward.Block[4].Item:SetWidth(30) 1563 | self.Mainframe.Reward.Block[4].Item:SetHeight(30) 1564 | self.Mainframe.Reward.Block[4].Item:SetPoint("LEFT",0,0) 1565 | 1566 | self.Mainframe.Reward.Block[4].Item.Button = CreateFrame("Button",nil,self.Mainframe.Reward.Block[4]) 1567 | self.Mainframe.Reward.Block[4].Item.Button:SetWidth(100) 1568 | self.Mainframe.Reward.Block[4].Item.Button:SetHeight(30) 1569 | self.Mainframe.Reward.Block[4].Item.Button:SetPoint("LEFT",0,0) 1570 | 1571 | self.Mainframe.Reward.Block[4].Item.Font = self.Mainframe.Reward.Block[4].Item:CreateFontString(nil, "OVERLAY") 1572 | self.Mainframe.Reward.Block[4].Item.Font:SetPoint("BOTTOMRIGHT", -2, 2) 1573 | self.Mainframe.Reward.Block[4].Item.Font:SetFont("Fonts\\FRIZQT__.TTF", 10) 1574 | self.Mainframe.Reward.Block[4].Item.Font:SetWidth(70) 1575 | self.Mainframe.Reward.Block[4].Item.Font:SetJustifyH("RIGHT") 1576 | self.Mainframe.Reward.Block[4].Item.Font:SetJustifyV("CENTER") 1577 | self.Mainframe.Reward.Block[4].Item.Font:SetText("99") 1578 | self.Mainframe.Reward.Block[4].Item.Font:SetTextColor(0.95,0.95,0.95) 1579 | self.Mainframe.Reward.Block[4].Item.Font:SetShadowOffset(1, -1) 1580 | 1581 | self.Mainframe.Reward.Block[4].TextBackground = CreateFrame("Frame",nil,self.Mainframe.Reward.Block[4]) 1582 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background"} 1583 | self.Mainframe.Reward.Block[4].TextBackground:SetBackdrop(backdrop) 1584 | self.Mainframe.Reward.Block[4].TextBackground:SetBackdropColor(1,1,1,0.3) 1585 | self.Mainframe.Reward.Block[4].TextBackground:SetWidth(70) 1586 | self.Mainframe.Reward.Block[4].TextBackground:SetHeight(30) 1587 | self.Mainframe.Reward.Block[4].TextBackground:SetPoint("LEFT",30,0) 1588 | 1589 | self.Mainframe.Reward.Block[4].TextFont = self.Mainframe.Reward.Block[4].TextBackground:CreateFontString(nil, "OVERLAY") 1590 | self.Mainframe.Reward.Block[4].TextFont:SetPoint("LEFT", 0, 0) 1591 | self.Mainframe.Reward.Block[4].TextFont:SetFont("Fonts\\FRIZQT__.TTF", 8) 1592 | self.Mainframe.Reward.Block[4].TextFont:SetWidth(70) 1593 | self.Mainframe.Reward.Block[4].TextFont:SetJustifyH("LEFT") 1594 | self.Mainframe.Reward.Block[4].TextFont:SetJustifyV("CENTER") 1595 | self.Mainframe.Reward.Block[4].TextFont:SetText("TEST") 1596 | self.Mainframe.Reward.Block[4].TextFont:SetTextColor(0.95,0.95,0.95) 1597 | self.Mainframe.Reward.Block[4].TextFont:SetShadowOffset(1, -1) 1598 | 1599 | self.Mainframe.Reward.Block[5] = CreateFrame("Frame",nil,self.Mainframe.Reward) 1600 | local backdrop = {bgFile = "Interface\\ChatFrame\\ChatFrameBackground"} 1601 | self.Mainframe.Reward.Block[5]:SetBackdrop(backdrop) 1602 | self.Mainframe.Reward.Block[5]:SetBackdropColor(0.8,0.8,0.8,0) 1603 | self.Mainframe.Reward.Block[5]:SetBackdropBorderColor(1,1,1,0) 1604 | self.Mainframe.Reward.Block[5]:SetWidth(100) 1605 | self.Mainframe.Reward.Block[5]:SetHeight(30) 1606 | self.Mainframe.Reward.Block[5]:SetPoint("TOPLEFT",120,-85) 1607 | 1608 | self.Mainframe.Reward.Block[5].Item = CreateFrame("Frame",nil,self.Mainframe.Reward.Block[5]) 1609 | local backdrop = {bgFile = "Interface\\Icons\\INV_Misc_QuestionMark"} 1610 | self.Mainframe.Reward.Block[5].Item:SetBackdrop(backdrop) 1611 | self.Mainframe.Reward.Block[5].Item:SetBackdropColor(1,1,1,1) 1612 | self.Mainframe.Reward.Block[5].Item:SetWidth(30) 1613 | self.Mainframe.Reward.Block[5].Item:SetHeight(30) 1614 | self.Mainframe.Reward.Block[5].Item:SetPoint("LEFT",0,0) 1615 | 1616 | self.Mainframe.Reward.Block[5].Item.Button = CreateFrame("Button",nil,self.Mainframe.Reward.Block[5]) 1617 | self.Mainframe.Reward.Block[5].Item.Button:SetWidth(100) 1618 | self.Mainframe.Reward.Block[5].Item.Button:SetHeight(30) 1619 | self.Mainframe.Reward.Block[5].Item.Button:SetPoint("LEFT",0,0) 1620 | 1621 | self.Mainframe.Reward.Block[5].Item.Font = self.Mainframe.Reward.Block[5].Item:CreateFontString(nil, "OVERLAY") 1622 | self.Mainframe.Reward.Block[5].Item.Font:SetPoint("BOTTOMRIGHT", -2, 2) 1623 | self.Mainframe.Reward.Block[5].Item.Font:SetFont("Fonts\\FRIZQT__.TTF", 10) 1624 | self.Mainframe.Reward.Block[5].Item.Font:SetWidth(70) 1625 | self.Mainframe.Reward.Block[5].Item.Font:SetJustifyH("RIGHT") 1626 | self.Mainframe.Reward.Block[5].Item.Font:SetJustifyV("CENTER") 1627 | self.Mainframe.Reward.Block[5].Item.Font:SetText("99") 1628 | self.Mainframe.Reward.Block[5].Item.Font:SetTextColor(0.95,0.95,0.95) 1629 | self.Mainframe.Reward.Block[5].Item.Font:SetShadowOffset(1, -1) 1630 | 1631 | self.Mainframe.Reward.Block[5].TextBackground = CreateFrame("Frame",nil,self.Mainframe.Reward.Block[5]) 1632 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background"} 1633 | self.Mainframe.Reward.Block[5].TextBackground:SetBackdrop(backdrop) 1634 | self.Mainframe.Reward.Block[5].TextBackground:SetBackdropColor(1,1,1,0.3) 1635 | self.Mainframe.Reward.Block[5].TextBackground:SetWidth(70) 1636 | self.Mainframe.Reward.Block[5].TextBackground:SetHeight(30) 1637 | self.Mainframe.Reward.Block[5].TextBackground:SetPoint("LEFT",30,0) 1638 | 1639 | self.Mainframe.Reward.Block[5].TextFont = self.Mainframe.Reward.Block[5].TextBackground:CreateFontString(nil, "OVERLAY") 1640 | self.Mainframe.Reward.Block[5].TextFont:SetPoint("LEFT", 0, 0) 1641 | self.Mainframe.Reward.Block[5].TextFont:SetFont("Fonts\\FRIZQT__.TTF", 8) 1642 | self.Mainframe.Reward.Block[5].TextFont:SetWidth(70) 1643 | self.Mainframe.Reward.Block[5].TextFont:SetJustifyH("LEFT") 1644 | self.Mainframe.Reward.Block[5].TextFont:SetJustifyV("CENTER") 1645 | self.Mainframe.Reward.Block[5].TextFont:SetText("TEST") 1646 | self.Mainframe.Reward.Block[5].TextFont:SetTextColor(0.95,0.95,0.95) 1647 | self.Mainframe.Reward.Block[5].TextFont:SetShadowOffset(1, -1) 1648 | 1649 | self.Mainframe.Reward.Block[6] = CreateFrame("Frame",nil,self.Mainframe.Reward) 1650 | local backdrop = {bgFile = "Interface\\ChatFrame\\ChatFrameBackground"} 1651 | self.Mainframe.Reward.Block[6]:SetBackdrop(backdrop) 1652 | self.Mainframe.Reward.Block[6]:SetBackdropColor(0.8,0.8,0.8,0) 1653 | self.Mainframe.Reward.Block[6]:SetBackdropBorderColor(1,1,1,0) 1654 | self.Mainframe.Reward.Block[6]:SetWidth(100) 1655 | self.Mainframe.Reward.Block[6]:SetHeight(30) 1656 | self.Mainframe.Reward.Block[6]:SetPoint("TOPLEFT",225,-85) 1657 | 1658 | self.Mainframe.Reward.Block[6].Item = CreateFrame("Frame",nil,self.Mainframe.Reward.Block[6]) 1659 | local backdrop = {bgFile = "Interface\\Icons\\INV_Misc_QuestionMark"} 1660 | self.Mainframe.Reward.Block[6].Item:SetBackdrop(backdrop) 1661 | self.Mainframe.Reward.Block[6].Item:SetBackdropColor(1,1,1,1) 1662 | self.Mainframe.Reward.Block[6].Item:SetWidth(30) 1663 | self.Mainframe.Reward.Block[6].Item:SetHeight(30) 1664 | self.Mainframe.Reward.Block[6].Item:SetPoint("LEFT",0,0) 1665 | 1666 | self.Mainframe.Reward.Block[6].Item.Button = CreateFrame("Button",nil,self.Mainframe.Reward.Block[6]) 1667 | self.Mainframe.Reward.Block[6].Item.Button:SetWidth(100) 1668 | self.Mainframe.Reward.Block[6].Item.Button:SetHeight(30) 1669 | self.Mainframe.Reward.Block[6].Item.Button:SetPoint("LEFT",0,0) 1670 | 1671 | self.Mainframe.Reward.Block[6].Item.Font = self.Mainframe.Reward.Block[6].Item:CreateFontString(nil, "OVERLAY") 1672 | self.Mainframe.Reward.Block[6].Item.Font:SetPoint("BOTTOMRIGHT", -2, 2) 1673 | self.Mainframe.Reward.Block[6].Item.Font:SetFont("Fonts\\FRIZQT__.TTF", 10) 1674 | self.Mainframe.Reward.Block[6].Item.Font:SetWidth(70) 1675 | self.Mainframe.Reward.Block[6].Item.Font:SetJustifyH("RIGHT") 1676 | self.Mainframe.Reward.Block[6].Item.Font:SetJustifyV("CENTER") 1677 | self.Mainframe.Reward.Block[6].Item.Font:SetText("99") 1678 | self.Mainframe.Reward.Block[6].Item.Font:SetTextColor(0.95,0.95,0.95) 1679 | self.Mainframe.Reward.Block[6].Item.Font:SetShadowOffset(1, -1) 1680 | 1681 | self.Mainframe.Reward.Block[6].TextBackground = CreateFrame("Frame",nil,self.Mainframe.Reward.Block[6]) 1682 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background"} 1683 | self.Mainframe.Reward.Block[6].TextBackground:SetBackdrop(backdrop) 1684 | self.Mainframe.Reward.Block[6].TextBackground:SetBackdropColor(1,1,1,0.3) 1685 | self.Mainframe.Reward.Block[6].TextBackground:SetWidth(70) 1686 | self.Mainframe.Reward.Block[6].TextBackground:SetHeight(30) 1687 | self.Mainframe.Reward.Block[6].TextBackground:SetPoint("LEFT",30,0) 1688 | 1689 | self.Mainframe.Reward.Block[6].TextFont = self.Mainframe.Reward.Block[6].TextBackground:CreateFontString(nil, "OVERLAY") 1690 | self.Mainframe.Reward.Block[6].TextFont:SetPoint("LEFT", 0, 0) 1691 | self.Mainframe.Reward.Block[6].TextFont:SetFont("Fonts\\FRIZQT__.TTF", 8) 1692 | self.Mainframe.Reward.Block[6].TextFont:SetWidth(70) 1693 | self.Mainframe.Reward.Block[6].TextFont:SetJustifyH("LEFT") 1694 | self.Mainframe.Reward.Block[6].TextFont:SetJustifyV("CENTER") 1695 | self.Mainframe.Reward.Block[6].TextFont:SetText("TEST") 1696 | self.Mainframe.Reward.Block[6].TextFont:SetTextColor(0.95,0.95,0.95) 1697 | self.Mainframe.Reward.Block[6].TextFont:SetShadowOffset(1, -1) 1698 | 1699 | end 1700 | 1701 | function storyline.OptionsFrame:ConfigureFrame() 1702 | local backdrop = {bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background", edgeFile="Interface\\DialogFrame\\UI-DialogBox-Border", tile=true,tileSize = 16, edgeSize = 16, insets = { left = 3, right = 3, top = 3, bottom = 3 }} 1703 | self:SetBackdrop(backdrop) 1704 | self:SetBackdropColor(1,1,1,1) 1705 | self:SetWidth(680) 1706 | self:SetHeight(150) 1707 | self:SetPoint("BOTTOM",0,-(self:GetHeight())) 1708 | 1709 | --Instant Quest Text Option (uses blizzard interface option variable) 1710 | self.InstantTextButton = CreateFrame("CheckButton", nil, self, "UICheckButtonTemplate") 1711 | self.InstantTextButton:SetWidth(24) 1712 | self.InstantTextButton:SetHeight(24) 1713 | self.InstantTextButton:SetPoint("TOPLEFT", 125, -5) 1714 | self.InstantTextButton:SetScript("OnClick", function () 1715 | PlaySound("igMainMenuOptionCheckBoxOn") 1716 | if QUEST_FADING_DISABLE == "1" then QUEST_FADING_DISABLE = "0" 1717 | else QUEST_FADING_DISABLE = "1"; 1718 | PlaySound("igQuestCancel"); end 1719 | storyline.UpdateOptions() 1720 | end) 1721 | 1722 | self.InstantTextFont = self.InstantTextButton:CreateFontString(nil, "OVERLAY") 1723 | self.InstantTextFont:SetPoint("TOPLEFT", -115, -3) 1724 | self.InstantTextFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 1725 | self.InstantTextFont:SetWidth(200) 1726 | self.InstantTextFont:SetJustifyH("LEFT") 1727 | self.InstantTextFont:SetText("Instant Quest Text:") 1728 | self.InstantTextFont:SetTextColor(1,1,1) 1729 | 1730 | -- textspeed 1731 | self.SpeedSlider = CreateFrame("Slider","StorylineSpeedSlider",self,"OptionsSliderTemplate") 1732 | self.SpeedSlider:SetPoint("TOPLEFT", 10, -50) 1733 | self.SpeedSlider:SetWidth(132) 1734 | self.SpeedSlider:SetHeight(17) 1735 | self.SpeedSlider:SetOrientation("HORIZONTAL") 1736 | self.SpeedSlider:SetThumbTexture("Interface\\Buttons\\UI-SliderBar-Button-Horizontal") 1737 | self.SpeedSlider:SetMinMaxValues(1,100) 1738 | self.SpeedSlider:SetValueStep(1) 1739 | self.SpeedSlider:SetValue(storyline.Options.TextSpeed*10) 1740 | getglobal("StorylineSpeedSlider" .. 'Low'):SetText("1") 1741 | getglobal("StorylineSpeedSlider" .. 'High'):SetText("10") 1742 | getglobal("StorylineSpeedSlider" .. 'Text'):SetText(storyline.Options.TextSpeed) 1743 | self.SpeedSlider:SetScript("OnValueChanged", function() 1744 | storyline.Options.TextSpeed = storyline.OptionsFrame.SpeedSlider:GetValue()/10; StorylineOptions.TextSpeed = storyline.Options.TextSpeed 1745 | getglobal("StorylineSpeedSlider" .. 'Text'):SetText(storyline.Options.TextSpeed) 1746 | end) 1747 | 1748 | self.SpeedFont = self.SpeedSlider:CreateFontString(nil, "OVERLAY") 1749 | self.SpeedFont:SetPoint("TOPLEFT", 0, 30) 1750 | self.SpeedFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 1751 | self.SpeedFont:SetWidth(200) 1752 | self.SpeedFont:SetJustifyH("LEFT") 1753 | self.SpeedFont:SetJustifyV("TOP") 1754 | self.SpeedFont:SetText("Textspeed:") 1755 | self.SpeedFont:SetTextColor(1,1,1) 1756 | 1757 | -- scale Frame 1758 | -- bugged, want to remove 1759 | self.ScaleSlider = CreateFrame("Slider","StorylineScaleSlider",self,"OptionsSliderTemplate") 1760 | self.ScaleSlider:SetPoint("TOPLEFT", 180, -40) 1761 | self.ScaleSlider:SetWidth(132) 1762 | self.ScaleSlider:SetHeight(17) 1763 | self.ScaleSlider:SetOrientation("HORIZONTAL") 1764 | self.ScaleSlider:SetThumbTexture("Interface\\Buttons\\UI-SliderBar-Button-Horizontal") 1765 | self.ScaleSlider:SetMinMaxValues(50,150) 1766 | self.ScaleSlider:SetValueStep(10) 1767 | self.ScaleSlider:SetValue(storyline.Options.WindowScale*100) 1768 | getglobal("StorylineScaleSlider" .. 'Low'):SetText("50%") 1769 | getglobal("StorylineScaleSlider" .. 'High'):SetText("150%") 1770 | getglobal("StorylineScaleSlider" .. 'Text'):SetText(storyline.Options.WindowScale*100 .. " %") 1771 | self.ScaleSlider:SetScript("OnValueChanged", function() 1772 | storyline.Options.WindowScale = storyline.OptionsFrame.ScaleSlider:GetValue()/100; StorylineOptions.WindowScale = storyline.Options.WindowScale 1773 | getglobal("StorylineScaleSlider" .. 'Text'):SetText(storyline.Options.WindowScale*100 .. " %") 1774 | end) 1775 | storyline.Background:SetScale(storyline.Options.WindowScale) 1776 | 1777 | self.ScaleButton = CreateFrame("Button",nil,self.ScaleSlider ,"UIPanelButtonTemplate") 1778 | self.ScaleButton:SetPoint("BOTTOMRIGHT", 50, 0) 1779 | self.ScaleButton:SetWidth(40) 1780 | self.ScaleButton:SetHeight(20) 1781 | self.ScaleButton:SetText("Set!") 1782 | self.ScaleButton:SetScript("OnClick",function() storyline.Background:SetScale(storyline.Options.WindowScale) end) 1783 | self.ScaleButton:SetScript("OnEnter",function() 1784 | GameTooltip:SetOwner(self.ScaleFont, "ANCHOR_TOPRIGHT",20,-80); 1785 | GameTooltip:SetText( 1786 | "Do /storyline reset if scaled out of bounds by accident.", 1, 1, 1, 1, 1); 1787 | GameTooltip:Show() 1788 | end) 1789 | self.ScaleButton:SetScript("OnLeave",function() GameTooltip:Hide() end) 1790 | 1791 | self.ScaleFont = self.ScaleSlider:CreateFontString(nil, "OVERLAY") 1792 | self.ScaleFont:SetPoint("TOPLEFT", 0, 30) 1793 | self.ScaleFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 1794 | self.ScaleFont:SetWidth(200) 1795 | self.ScaleFont:SetJustifyH("LEFT") 1796 | self.ScaleFont:SetJustifyV("TOP") 1797 | self.ScaleFont:SetText("Window Scale:") 1798 | self.ScaleFont:SetTextColor(1,1,1) 1799 | 1800 | -- StorylineOptions.FontSize 1801 | 1802 | self.FontSizeSlider = CreateFrame("Slider","StorylineFontSizeSlider",self,"OptionsSliderTemplate") 1803 | self.FontSizeSlider:SetPoint("TOPLEFT", 10, -110) 1804 | self.FontSizeSlider:SetWidth(132) 1805 | self.FontSizeSlider:SetHeight(17) 1806 | self.FontSizeSlider:SetOrientation("HORIZONTAL") 1807 | self.FontSizeSlider:SetThumbTexture("Interface\\Buttons\\UI-SliderBar-Button-Horizontal") 1808 | self.FontSizeSlider:SetMinMaxValues(10,20) 1809 | self.FontSizeSlider:SetValueStep(1) 1810 | self.FontSizeSlider:SetValue(StorylineOptions.FontSize) 1811 | getglobal("StorylineFontSizeSlider" .. 'Low'):SetText("10") 1812 | getglobal("StorylineFontSizeSlider" .. 'High'):SetText("20") 1813 | getglobal("StorylineFontSizeSlider" .. 'Text'):SetText(StorylineOptions.FontSize) 1814 | self.FontSizeSlider:SetScript("OnValueChanged", function() 1815 | StorylineOptions.FontSize = storyline.OptionsFrame.FontSizeSlider:GetValue() 1816 | storyline.Text.Questtext.Font:SetFont("Fonts\\FRIZQT__.TTF", StorylineOptions.FontSize) 1817 | getglobal("StorylineFontSizeSlider" .. 'Text'):SetText(StorylineOptions.FontSize) 1818 | end) 1819 | 1820 | self.FontSizeFont = self.FontSizeSlider:CreateFontString(nil, "OVERLAY") 1821 | self.FontSizeFont:SetPoint("TOPLEFT", 0, 30) 1822 | self.FontSizeFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 1823 | self.FontSizeFont:SetWidth(200) 1824 | self.FontSizeFont:SetJustifyH("LEFT") 1825 | self.FontSizeFont:SetJustifyV("TOP") 1826 | self.FontSizeFont:SetText("Font Size:") 1827 | self.FontSizeFont:SetTextColor(1,1,1) 1828 | 1829 | -- move Frame 1830 | -- Disables clicks on the 2nd layer, as this is used to prevent clicking through 1831 | -- Leaving it enabled will only allow the window to be moved by the borders 1832 | self.MoveButton = CreateFrame("CheckButton", nil, self, "UICheckButtonTemplate") 1833 | self.MoveButton:SetWidth(24) 1834 | self.MoveButton:SetHeight(24) 1835 | self.MoveButton:SetPoint("TOPLEFT",650,-5) 1836 | self.MoveButton:SetScript("OnClick", function () 1837 | PlaySound("igMainMenuOptionCheckBoxOn") 1838 | if self.MoveButton:GetChecked() then storyline.Background:EnableMouse(1); storyline.Background.layer2.Background:EnableMouse(0) 1839 | else storyline.Background:EnableMouse(0) ; storyline.Background.layer2.Background:EnableMouse(1) end 1840 | end) 1841 | 1842 | self.MoveFont = self.MoveButton:CreateFontString(nil, "OVERLAY") 1843 | self.MoveFont:SetPoint("LEFT", -210, 0) 1844 | self.MoveFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 1845 | self.MoveFont:SetWidth(200) 1846 | self.MoveFont:SetJustifyH("RIGHT") 1847 | self.MoveFont:SetJustifyV("CENTER") 1848 | self.MoveFont:SetText("Moveable:") 1849 | self.MoveFont:SetTextColor(1,1,1) 1850 | self.MoveButton:SetScript("OnEnter",function() 1851 | GameTooltip:SetOwner(self.MoveFont, "ANCHOR_TOPRIGHT",20,-80); 1852 | GameTooltip:SetText( 1853 | "Allows moving the window around. If Model Manipulation is enabled, you'll need to click borders. Do /storyline reset if moved out of bounds by accident.", 1, 1, 1, 1, 1); 1854 | GameTooltip:Show() 1855 | end) 1856 | self.MoveButton:SetScript("OnLeave",function() GameTooltip:Hide() end) 1857 | 1858 | 1859 | -- hide blizzard frames 1860 | self.HideButton = CreateFrame("CheckButton", nil, self, "UICheckButtonTemplate") 1861 | self.HideButton:SetWidth(24) 1862 | self.HideButton:SetHeight(24) 1863 | self.HideButton:SetPoint("TOPLEFT",650,-25) 1864 | self.HideButton:SetScript("OnClick", function () 1865 | PlaySound("igMainMenuOptionCheckBoxOn") 1866 | if self.HideButton:GetChecked() then storyline.Options.HideBlizzardFrames = 1; StorylineOptions.HideBlizzardFrames = 1 1867 | else storyline.Options.HideBlizzardFrames = 0; StorylineOptions.HideBlizzardFrames = 0; DeclineQuest(); PlaySound("igQuestCancel"); end 1868 | storyline:HideBlizzard() 1869 | end) 1870 | 1871 | self.HideFont = self.HideButton:CreateFontString(nil, "OVERLAY") 1872 | self.HideFont:SetPoint("LEFT", -210, 0) 1873 | self.HideFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 1874 | self.HideFont:SetWidth(200) 1875 | self.HideFont:SetJustifyH("RIGHT") 1876 | self.HideFont:SetJustifyV("CENTER") 1877 | self.HideFont:SetText("Hide Blizzard Frames:") 1878 | self.HideFont:SetTextColor(1,1,1) 1879 | 1880 | if storyline.Options.HideBlizzardFrames == 1 then self.HideButton:SetChecked(1) 1881 | else self.HideButton:SetChecked(0) end 1882 | 1883 | 1884 | -- instant quest rewards 1885 | self.InstantRewardsButton = CreateFrame("CheckButton", nil, self, "UICheckButtonTemplate") 1886 | self.InstantRewardsButton:SetWidth(24) 1887 | self.InstantRewardsButton:SetHeight(24) 1888 | self.InstantRewardsButton:SetPoint("TOPLEFT",650,-50) 1889 | self.InstantRewardsButton:SetScript("OnClick", function () 1890 | PlaySound("igMainMenuOptionCheckBoxOn") 1891 | if StorylineOptions.InstantRewards == 0 then StorylineOptions.InstantRewards = 1 1892 | else StorylineOptions.InstantRewards = 0; PlaySound("igQuestCancel"); end 1893 | end) 1894 | 1895 | 1896 | 1897 | self.InstantRewardsFont = self.InstantRewardsButton:CreateFontString(nil, "OVERLAY") 1898 | self.InstantRewardsFont:SetPoint("LEFT", -210, 0) 1899 | self.InstantRewardsFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 1900 | self.InstantRewardsFont:SetWidth(200) 1901 | self.InstantRewardsFont:SetJustifyH("RIGHT") 1902 | self.InstantRewardsFont:SetJustifyV("CENTER") 1903 | self.InstantRewardsFont:SetText("Instant Quest Rewards:") 1904 | self.InstantRewardsFont:SetTextColor(1,1,1) 1905 | self.InstantRewardsButton:SetScript("OnEnter",function() 1906 | GameTooltip:SetOwner(self.InstantRewardsButton, "ANCHOR_TOPRIGHT",20,-80); 1907 | GameTooltip:SetText("When enabled, displays quest rewards before clicking continue", 1, 1, 1, 1, 1); 1908 | GameTooltip:Show() 1909 | end) 1910 | self.InstantRewardsButton:SetScript("OnLeave",function() GameTooltip:Hide() end) 1911 | 1912 | 1913 | if StorylineOptions.InstantRewards == 1 then self.InstantRewardsButton:SetChecked(1) 1914 | else self.InstantRewardsButton:SetChecked(0) end 1915 | 1916 | --pfUI gossip/quest skin disable. Option hidden if pfUI is not installed 1917 | if pfUI and pfUI.uf then 1918 | self.PFHideButton = CreateFrame("CheckButton", nil, self, "UICheckButtonTemplate") 1919 | self.PFHideButton:SetWidth(24) 1920 | self.PFHideButton:SetHeight(24) 1921 | self.PFHideButton:SetPoint("TOPLEFT",650,-100) 1922 | self.PFHideButton:SetScript("OnClick", function () 1923 | PlaySound("igMainMenuOptionCheckBoxOn") 1924 | if pfUI_config["disabled"]["skin_Gossip and Quest"] == "0" 1925 | or not pfUI_config["disabled"]["skin_Gossip and Quest"] then 1926 | pfUI_config["disabled"]["skin_Gossip and Quest"] = "1" 1927 | else 1928 | pfUI_config["disabled"]["skin_Gossip and Quest"] = "0" 1929 | DeclineQuest() 1930 | PlaySound("igQuestCancel") 1931 | end 1932 | pfUI.api.CreateQuestionDialog("Some settings need to reload the UI to take effect.\nDo you want to reload now?", function() 1933 | pfUI.gui.settingChanged = nil 1934 | ReloadUI() 1935 | end) 1936 | end) 1937 | 1938 | self.PFHideFont = self.PFHideButton:CreateFontString(nil, "OVERLAY") 1939 | self.PFHideFont:SetPoint("LEFT", -210, 0) 1940 | self.PFHideFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 1941 | self.PFHideFont:SetWidth(200) 1942 | self.PFHideFont:SetJustifyH("RIGHT") 1943 | self.PFHideFont:SetJustifyV("CENTER") 1944 | self.PFHideFont:SetText("Disable PFui Gossip Skin:") 1945 | self.PFHideFont:SetTextColor(1,1,1) 1946 | 1947 | if pfUI_config["disabled"]["skin_Gossip and Quest"] == "1" then self.PFHideButton:SetChecked(1) 1948 | else self.PFHideButton:SetChecked(0) end 1949 | end 1950 | 1951 | --Model Manipulation Option 1952 | self.ModelManipButton = CreateFrame("CheckButton", nil, self, "UICheckButtonTemplate") 1953 | self.ModelManipButton:SetWidth(24) 1954 | self.ModelManipButton:SetHeight(24) 1955 | self.ModelManipButton:SetPoint("TOPLEFT",650,-75) 1956 | self.ModelManipButton:SetScript("OnClick", function () 1957 | PlaySound("igMainMenuOptionCheckBoxOn") 1958 | if StorylineOptions.EnableModelManip == 0 then 1959 | StorylineOptions.EnableModelManip = 1 1960 | storyline.UpdateOptions() 1961 | else StorylineOptions.EnableModelManip = 0 end 1962 | storyline:ConfigureModelRotation() 1963 | storyline.UpdateOptions() 1964 | end) 1965 | 1966 | self.ModelManipFont = self.ModelManipButton:CreateFontString(nil, "OVERLAY") 1967 | self.ModelManipFont:SetPoint("LEFT", -210, 0) 1968 | self.ModelManipFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 1969 | self.ModelManipFont:SetWidth(200) 1970 | self.ModelManipFont:SetJustifyH("RIGHT") 1971 | self.ModelManipFont:SetJustifyV("CENTER") 1972 | self.ModelManipFont:SetText("Enable Model Manipulation:") 1973 | self.ModelManipFont:SetTextColor(1,1,1) 1974 | 1975 | if StorylineOptions.EnableModelManip == 1 then self.ModelManipButton:SetChecked(1) 1976 | else self.ModelManipButton:SetChecked(0) end 1977 | self.ModelManipButton:SetScript("OnEnter",function() 1978 | GameTooltip:SetOwner(self.ModelManipFont, "ANCHOR_TOPRIGHT",20,-80); 1979 | GameTooltip:SetText( 1980 | "When enabled, allows model manipulation. Right click to move, left click to spin, scroll to scale. Interferes with movable somewhat", 1, 1, 1, 1, 1); 1981 | GameTooltip:Show() 1982 | end) 1983 | self.ModelManipButton:SetScript("OnLeave",function() GameTooltip:Hide() end) 1984 | 1985 | --Model Manipulation Debug Option 1986 | self.ModelManipDebugButton = CreateFrame("CheckButton", nil, self, "UICheckButtonTemplate") 1987 | self.ModelManipDebugButton:SetWidth(24) 1988 | self.ModelManipDebugButton:SetHeight(24) 1989 | self.ModelManipDebugButton:SetPoint("TOPLEFT",430,-85) 1990 | self.ModelManipDebugButton:SetScript("OnClick", function () 1991 | PlaySound("igMainMenuOptionCheckBoxOn") 1992 | if StorylineOptions.EnableModelManipDebug == 0 then StorylineOptions.EnableModelManipDebug = 1 1993 | else StorylineOptions.EnableModelManipDebug = 0 end 1994 | end) 1995 | 1996 | self.ModelManipDebugFont = self.ModelManipDebugButton:CreateFontString(nil, "OVERLAY") 1997 | self.ModelManipDebugFont:SetPoint("LEFT", -290, 0) 1998 | self.ModelManipDebugFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 1999 | self.ModelManipDebugFont:SetWidth(280) 2000 | self.ModelManipDebugFont:SetJustifyH("RIGHT") 2001 | self.ModelManipDebugFont:SetJustifyV("CENTER") 2002 | self.ModelManipDebugFont:SetText("Enable Model Manipulation Debug Ouput:") 2003 | self.ModelManipDebugFont:SetTextColor(1,1,1) 2004 | 2005 | if StorylineOptions.EnableModelManipDebug == 1 then self.ModelManipDebugButton:SetChecked(1) 2006 | else self.ModelManipDebugButton:SetChecked(0) end 2007 | self.ModelManipDebugButton:SetScript("OnEnter",function() 2008 | GameTooltip:SetOwner(self.ModelManipDebugFont, "ANCHOR_TOPRIGHT",20,-80); 2009 | GameTooltip:SetText( 2010 | "When enabled, outputs model info into chat that can be used in Assets/Models.lua to configure how models look in the window. Click the model to output info.", 1, 1, 1, 1, 1); 2011 | GameTooltip:Show() 2012 | end) 2013 | self.ModelManipDebugButton:SetScript("OnLeave",function() GameTooltip:Hide() end) 2014 | 2015 | --Model Manipulation Save Option 2016 | self.ModelManipSaveButton = CreateFrame("CheckButton", nil, self, "UICheckButtonTemplate") 2017 | self.ModelManipSaveButton:SetWidth(24) 2018 | self.ModelManipSaveButton:SetHeight(24) 2019 | self.ModelManipSaveButton:SetPoint("TOPLEFT",430,-110) 2020 | self.ModelManipSaveButton:SetScript("OnClick", function () 2021 | PlaySound("igMainMenuOptionCheckBoxOn") 2022 | if StorylineOptions.EnableModelManipSave == 0 then StorylineOptions.EnableModelManipSave = 1 2023 | else StorylineOptions.EnableModelManipSave = 0 end 2024 | --storyline:ConfigureModelRotation() 2025 | end) 2026 | 2027 | self.ModelManipSaveFont = self.ModelManipSaveButton:CreateFontString(nil, "OVERLAY") 2028 | self.ModelManipSaveFont:SetPoint("LEFT", -290, 0) 2029 | self.ModelManipSaveFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 2030 | self.ModelManipSaveFont:SetWidth(280) 2031 | self.ModelManipSaveFont:SetJustifyH("RIGHT") 2032 | self.ModelManipSaveFont:SetJustifyV("CENTER") 2033 | self.ModelManipSaveFont:SetText("Enable Model Manipulation Saving:") 2034 | self.ModelManipSaveFont:SetTextColor(1,1,1) 2035 | 2036 | if StorylineOptions.EnableModelManipSave == 1 then self.ModelManipSaveButton:SetChecked(1) 2037 | else self.ModelManipSaveButton:SetChecked(0) end 2038 | self.ModelManipSaveButton:SetScript("OnEnter",function() 2039 | GameTooltip:SetOwner(self.ModelManipSaveFont, "ANCHOR_TOPRIGHT",20,-80); 2040 | GameTooltip:SetText( 2041 | "When enabled, saves model info locally for your account. Right click this button to reset the model. Automatically saves when you're done moving the model.", 1, 1, 1, 1, 1); 2042 | GameTooltip:Show() 2043 | end) 2044 | 2045 | self.ModelManipSaveButton:SetScript("OnLeave",function() GameTooltip:Hide() end) 2046 | 2047 | --Reset Player Model 2048 | self.ResetPlayerModelButton = CreateFrame("Button",nil,self.ScaleSlider ,"UIPanelButtonTemplate") 2049 | self.ResetPlayerModelButton:SetPoint("BOTTOMRIGHT", 60, -25) 2050 | self.ResetPlayerModelButton:SetWidth(140) 2051 | self.ResetPlayerModelButton:SetHeight(20) 2052 | self.ResetPlayerModelButton:SetText("Reset Player Model") 2053 | self.ResetPlayerModelButton:SetScript("OnClick",function() storyline:ResetPlayerModel() end) 2054 | self.ResetPlayerModelButton:SetScript("OnEnter",function() 2055 | GameTooltip:SetOwner(self.ScaleFont, "ANCHOR_TOPRIGHT",20,-75); 2056 | GameTooltip:SetText( 2057 | "Deletes the custom settings, and redraws the current player model", 1, 1, 1, 1, 1); 2058 | GameTooltip:Show() 2059 | end) 2060 | self.ResetPlayerModelButton:SetScript("OnLeave",function() GameTooltip:Hide() end) 2061 | 2062 | --Reset NPC Model 2063 | self.ResetNPCModelButton = CreateFrame("Button",nil,self.ScaleSlider ,"UIPanelButtonTemplate") 2064 | self.ResetNPCModelButton:SetPoint("BOTTOMRIGHT", 190, -25) 2065 | self.ResetNPCModelButton:SetWidth(130) 2066 | self.ResetNPCModelButton:SetHeight(20) 2067 | self.ResetNPCModelButton:SetText("Reset NPC Model") 2068 | self.ResetNPCModelButton:SetScript("OnClick",function() storyline:ResetNPCModel() end) 2069 | self.ResetNPCModelButton:SetScript("OnEnter",function() 2070 | GameTooltip:SetOwner(self.ScaleFont, "ANCHOR_TOPRIGHT",20,-75); 2071 | GameTooltip:SetText( 2072 | "Deletes the custom settings, and redraws the current NPC model", 1, 1, 1, 1, 1); 2073 | GameTooltip:Show() 2074 | end) 2075 | self.ResetNPCModelButton:SetScript("OnLeave",function() GameTooltip:Hide() end) 2076 | 2077 | -- Frame Level 2078 | 2079 | local function configLevelDropdown() 2080 | local info = {} 2081 | 2082 | info.text = "Level 1" 2083 | info.func = function() 2084 | UIDropDownMenu_SetSelectedID(GlobalLevelDropDownID, this:GetID(), 0) 2085 | StorylineOptions.WindowLevel = 1 2086 | storyline:SetFrameStrata() 2087 | end 2088 | UIDropDownMenu_AddButton(info) 2089 | info.checked = false 2090 | 2091 | info.text = "Level 2" 2092 | info.func = function() 2093 | UIDropDownMenu_SetSelectedID(GlobalLevelDropDownID, this:GetID(), 0) 2094 | StorylineOptions.WindowLevel = 2 2095 | storyline:SetFrameStrata() 2096 | end 2097 | UIDropDownMenu_AddButton(info) 2098 | info.checked = false 2099 | 2100 | info.text = "Level 3" 2101 | info.func = function() 2102 | UIDropDownMenu_SetSelectedID(GlobalLevelDropDownID, this:GetID(), 0) 2103 | StorylineOptions.WindowLevel = 3 2104 | storyline:SetFrameStrata() 2105 | end 2106 | UIDropDownMenu_AddButton(info) 2107 | info.checked = false 2108 | 2109 | info.text = "Level 4" 2110 | info.func = function() 2111 | UIDropDownMenu_SetSelectedID(GlobalLevelDropDownID, this:GetID(), 0) 2112 | StorylineOptions.WindowLevel = 4 2113 | storyline:SetFrameStrata() 2114 | end 2115 | UIDropDownMenu_AddButton(info) 2116 | info.checked = false 2117 | 2118 | info.text = "Level 5" 2119 | info.func = function() 2120 | UIDropDownMenu_SetSelectedID(GlobalLevelDropDownID, this:GetID(), 0) 2121 | StorylineOptions.WindowLevel = 5 2122 | storyline:SetFrameStrata() 2123 | end 2124 | UIDropDownMenu_AddButton(info) 2125 | info.checked = false 2126 | 2127 | info.text = "Level 6" 2128 | info.func = function() 2129 | UIDropDownMenu_SetSelectedID(GlobalLevelDropDownID, this:GetID(), 0) 2130 | StorylineOptions.WindowLevel = 6 2131 | storyline:SetFrameStrata() 2132 | end 2133 | UIDropDownMenu_AddButton(info) 2134 | info.checked = false 2135 | 2136 | info.text = "Level 7" 2137 | info.func = function() 2138 | UIDropDownMenu_SetSelectedID(GlobalLevelDropDownID, this:GetID(), 0) 2139 | StorylineOptions.WindowLevel = 7 2140 | storyline:SetFrameStrata() 2141 | end 2142 | UIDropDownMenu_AddButton(info) 2143 | info.checked = false 2144 | 2145 | info.text = "Level 8" 2146 | info.func = function() 2147 | UIDropDownMenu_SetSelectedID(GlobalLevelDropDownID, this:GetID(), 0) 2148 | StorylineOptions.WindowLevel = 8 2149 | storyline:SetFrameStrata() 2150 | end 2151 | UIDropDownMenu_AddButton(info) 2152 | info.checked = false 2153 | end 2154 | 2155 | local function populateLevelDropdown(DropDownID) 2156 | GlobalLevelDropDownID = DropDownID -- feed global 2157 | UIDropDownMenu_Initialize(DropDownID, configLevelDropdown) 2158 | end 2159 | 2160 | self.LevelDropdown = CreateFrame("Button","StorylineLevelDropdown", self, "UIDropDownMenuTemplate") 2161 | self.LevelDropdown:SetPoint("TOPLEFT", 350, -30) 2162 | self.LevelDropdown:SetWidth(500) 2163 | 2164 | getglobal(self.LevelDropdown:GetName().."Button"):SetScript("OnClick", function() 2165 | local DropDownID = getglobal(self.LevelDropdown:GetName()) 2166 | populateLevelDropdown(DropDownID) 2167 | ToggleDropDownMenu(); -- inherit UIDropDownMenuTemplate functions 2168 | PlaySound("igMainMenuOptionCheckBoxOn"); -- inherit UIDropDownMenuTemplate functions 2169 | end) 2170 | getglobal(self.LevelDropdown:GetName().."Text"):SetText("Level "..storyline.Options.WindowLevel) 2171 | 2172 | self.HideFont = self.LevelDropdown:CreateFontString(nil, "OVERLAY") 2173 | self.HideFont:SetPoint("TOP", -250, 20) 2174 | self.HideFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 2175 | self.HideFont:SetWidth(200) 2176 | self.HideFont:SetJustifyH("RIGHT") 2177 | self.HideFont:SetJustifyV("CENTER") 2178 | self.HideFont:SetText("Frame Level:") 2179 | self.HideFont:SetTextColor(1,1,1) 2180 | 2181 | -- version 2182 | self.VersionFont = self:CreateFontString(nil, "OVERLAY") 2183 | self.VersionFont:SetPoint("Bottom", 0, 10) 2184 | self.VersionFont:SetFont("Fonts\\FRIZQT__.TTF", 12) 2185 | self.VersionFont:SetWidth(800) 2186 | self.VersionFont:SetJustifyH("CENTER") 2187 | self.VersionFont:SetJustifyV("BOTTOM") 2188 | self.VersionFont:SetText("Version: "..storyline.Options.Version.." by Renew @ Nostalrius.org updated by tubtubs") 2189 | self.VersionFont:SetTextColor(1,1,1,0.5) 2190 | 2191 | -- hide 2192 | self:Hide() 2193 | end 2194 | 2195 | function storyline.UpdateOptions() 2196 | if QUEST_FADING_DISABLE == "0" then storyline.OptionsFrame.InstantTextButton:SetChecked(0); storyline.OptionsFrame.SpeedSlider:Show(); storyline.OptionsFrame.SpeedFont:Show() 2197 | else storyline.OptionsFrame.InstantTextButton:SetChecked(1); storyline.OptionsFrame.SpeedSlider:Hide(); storyline.OptionsFrame.SpeedFont:Hide() end 2198 | 2199 | if StorylineOptions.EnableModelManip == 0 then 2200 | storyline.OptionsFrame.ModelManipDebugButton:Hide() 2201 | storyline.OptionsFrame.ModelManipDebugFont:Hide() 2202 | storyline.OptionsFrame.ModelManipSaveButton:Hide() 2203 | storyline.OptionsFrame.ModelManipSaveFont:Hide() 2204 | storyline.OptionsFrame.ResetPlayerModelButton:Hide() 2205 | storyline.OptionsFrame.ResetNPCModelButton:Hide() 2206 | else 2207 | storyline.OptionsFrame.ModelManipDebugButton:Show() 2208 | storyline.OptionsFrame.ModelManipDebugFont:Show() 2209 | storyline.OptionsFrame.ModelManipSaveButton:Show() 2210 | storyline.OptionsFrame.ModelManipSaveFont:Show() 2211 | storyline.OptionsFrame.ResetPlayerModelButton:Show() 2212 | storyline.OptionsFrame.ResetNPCModelButton:Show() 2213 | end 2214 | end 2215 | 2216 | function storyline.Player:ConfigureFrame() 2217 | 2218 | self.Background = CreateFrame("Frame",nil,storyline.Background.layer3) 2219 | local backdrop = {bgFile = "Interface\\TutorialFrame\\TutorialFrameBackground"} 2220 | self.Background:SetBackdrop(backdrop) 2221 | self.Background:SetBackdropColor(1,1,1,0) -- alpha = 0 2222 | self.Background:SetWidth(300) 2223 | self.Background:SetHeight(400) 2224 | self.Background:SetPoint("TOP",-200,-60) 2225 | 2226 | self.PlayerFrame = CreateFrame("PlayerModel", nil, storyline.Background.layer3) 2227 | self.PlayerFrame:SetPoint("TOP",self.Background) 2228 | self.PlayerFrame:SetWidth(300) 2229 | self.PlayerFrame:SetHeight(400) 2230 | self.PlayerFrame:SetUnit("player") 2231 | self.PlayerFrame:SetFacing(0.8) 2232 | end 2233 | 2234 | function storyline.NPC:ConfigureFrame() 2235 | self.Background = CreateFrame("Frame",nil,storyline.Background.layer3) 2236 | local backdrop = {bgFile = "Interface\\TutorialFrame\\TutorialFrameBackground"} 2237 | self.Background:SetBackdrop(backdrop) 2238 | self.Background:SetBackdropColor(1,1,1,0) -- alpha = 0 2239 | self.Background:SetWidth(500) 2240 | self.Background:SetHeight(400) 2241 | self.Background:SetPoint("TOPRIGHT",-30,-30) 2242 | 2243 | self.PlayerFrame = CreateFrame("PlayerModel", nil, storyline.Background.layer3) 2244 | self.PlayerFrame:SetPoint("TOPRIGHT",self.Background) 2245 | self.PlayerFrame:SetWidth(500) 2246 | self.PlayerFrame:SetHeight(400) 2247 | self.PlayerFrame:SetModel("Interface\\Buttons\\talktomequestionmark.mdx") -- modelfix: set random model first, so GetModel will be avalible for "npc" later 2248 | self.PlayerFrame:SetFacing(-0.8) 2249 | 2250 | storyline.NPC.PlayerFrame:SetModelScale(1) 2251 | storyline.NPC.PlayerFrame:SetPosition(0,0,0) 2252 | storyline.NPC.PlayerFrame:SetFacing(-0.8) 2253 | 2254 | end 2255 | 2256 | function storyline.Text:ConfigureFrame() 2257 | 2258 | -- Banner Font 2259 | self.Banner = storyline.Background.layer4.Banner:CreateFontString(nil, "OVERLAY") 2260 | self.Banner:SetPoint("CENTER", 0, 5) 2261 | self.Banner:SetFont("Fonts\\FRIZQT__.TTF", 16) 2262 | self.Banner:SetWidth(260) 2263 | self.Banner:SetJustifyH("CENTER") 2264 | self.Banner:SetJustifyV("CENTER") 2265 | self.Banner:SetText("Quest Title") 2266 | self.Banner:SetTextColor(0.95,0.95,0.95) 2267 | self.Banner:SetShadowOffset(1, -1) 2268 | 2269 | -- NPC Name Font 2270 | self.NPCName = storyline.Background.layer5.Questtext:CreateFontString(nil, "OVERLAY") 2271 | self.NPCName:SetPoint("TOPRIGHT", -70, 15) 2272 | self.NPCName:SetFont("Fonts\\FRIZQT__.TTF", 16) 2273 | self.NPCName:SetWidth(300) 2274 | self.NPCName:SetJustifyH("RIGHT") 2275 | self.NPCName:SetJustifyV("TOP") 2276 | self.NPCName:SetText("NPC Name") 2277 | self.NPCName:SetTextColor(1,0.75,0) 2278 | self.NPCName:SetShadowOffset(1, -1) 2279 | 2280 | -- Questtext Font 2281 | self.Questtext = {} 2282 | self.Questtext.Font = storyline.Background.layer5.Questtext.Scrollframe.Content:CreateFontString(nil, "OVERLAY") 2283 | self.Questtext.Font:SetPoint("TOPLEFT", 15, 0) 2284 | self.Questtext.Font:SetFont("Fonts\\FRIZQT__.TTF", StorylineOptions.FontSize) 2285 | self.Questtext.Font:SetWidth(600) 2286 | self.Questtext.Font:SetHeight(0) 2287 | self.Questtext.Font:SetJustifyH("LEFT") 2288 | self.Questtext.Font:SetJustifyV("TOP") 2289 | self.Questtext.Font:SetText("TEST") 2290 | self.Questtext.Font:SetTextColor(1,1,0.4) 2291 | 2292 | -- Continue Font 2293 | self.Questtext.Continue = storyline.Background.layer5.Questtext:CreateFontString(nil, "OVERLAY") 2294 | self.Questtext.Continue:SetPoint("BOTTOM", 0, -15) --Shifted Down, below the frame 2295 | self.Questtext.Continue:SetFont("Fonts\\FRIZQT__.TTF", 10) 2296 | self.Questtext.Continue:SetWidth(100) 2297 | self.Questtext.Continue:SetHeight(20) 2298 | self.Questtext.Continue:SetJustifyH("LEFT") 2299 | self.Questtext.Continue:SetJustifyV("TOP") 2300 | self.Questtext.Continue:SetText("Continue") 2301 | self.Questtext.Continue:SetTextColor(1,1,0.4) 2302 | 2303 | -- Complete Font 2304 | self.Questtext.Complete = storyline.Background.layer5.Questtext:CreateFontString(nil, "OVERLAY") 2305 | self.Questtext.Complete:SetPoint("BOTTOM", 0, -15) --Shifted Down, below the frame 2306 | self.Questtext.Complete:SetFont("Fonts\\FRIZQT__.TTF", 10) 2307 | self.Questtext.Complete:SetWidth(100) 2308 | self.Questtext.Complete:SetHeight(20) 2309 | self.Questtext.Complete:SetJustifyH("LEFT") 2310 | self.Questtext.Complete:SetJustifyV("TOP") 2311 | self.Questtext.Complete:SetText("Complete quest") 2312 | self.Questtext.Complete:SetTextColor(1,1,0.4) 2313 | 2314 | end 2315 | 2316 | function storyline:AcceptQuest() 2317 | -- hide and show 2318 | storyline:HideAll() 2319 | --Display Rewards early if Instant Rewards is enabled 2320 | UIFrameFadeIn(storyline.QuestDetail.GetQuest,0.5) 2321 | if (StorylineOptions.InstantRewards == 1) then 2322 | storyline.QuestComplete.Mainframe.CenterFlash:Hide() 2323 | storyline.QuestComplete.Mainframe.CenterRing:Hide() 2324 | storyline.QuestComplete.Mainframe.CenterItem.Frame:Hide() 2325 | storyline.QuestComplete.Mainframe.CenterItem:Hide() 2326 | 2327 | storyline.Background.layer4.Banner:Show() 2328 | storyline:UpdateRewardItems() 2329 | for i=1,6 do 2330 | storyline.QuestComplete.Mainframe.Reward.Block[i]:SetBackdropColor(0.8,0.8,0.8,0) 2331 | storyline.QuestComplete.Mainframe.Reward.Block[i].Item.Button:SetScript("OnClick",function() end) 2332 | end 2333 | UIFrameFadeIn(storyline.QuestComplete.Mainframe,0.5) 2334 | end 2335 | --Show quest rewards while accepting quests 2336 | 2337 | -- open clicking 2338 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnEnter",function() 2339 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(0,1,0,1) 2340 | storyline.Text.Questtext.Continue:SetTextColor(0,1,0) 2341 | 2342 | end) 2343 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnLeave",function() storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) 2344 | storyline.Text.Questtext.Continue:SetTextColor(1,1,0.4) 2345 | end) 2346 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnClick",function() storyline:AcceptQuestOnClick() end) 2347 | storyline.Text.Questtext.Continue:Show() 2348 | storyline.Text.Questtext.Complete:Hide() 2349 | 2350 | -- play sound 2351 | PlaySound("WriteQuest") 2352 | 2353 | -- Set Questtext 2354 | local QuestText = GetQuestText() 2355 | storyline:ShowNPCText(QuestText) 2356 | 2357 | --Update Text 2358 | storyline.Text.NPCName:SetText(UnitName("npc")) 2359 | local QuestTitel = GetTitleText() 2360 | storyline.Text.Banner:SetText(QuestTitel) 2361 | 2362 | -- show 2363 | storyline.Background:Show() 2364 | 2365 | -- Update PlayerFrames 2366 | storyline:UpdateModels() 2367 | 2368 | end 2369 | 2370 | function storyline:AcceptQuestOnClick() 2371 | 2372 | --Display Rewards late if Instant Rewards is disabled. 2373 | if (StorylineOptions.InstantRewards == 0) then 2374 | storyline.QuestComplete.Mainframe.CenterFlash:Hide() 2375 | storyline.QuestComplete.Mainframe.CenterRing:Hide() 2376 | storyline.QuestComplete.Mainframe.CenterItem.Frame:Hide() 2377 | storyline.QuestComplete.Mainframe.CenterItem:Hide() 2378 | 2379 | storyline.Background.layer4.Banner:Show() 2380 | storyline:UpdateRewardItems() 2381 | for i=1,6 do 2382 | storyline.QuestComplete.Mainframe.Reward.Block[i]:SetBackdropColor(0.8,0.8,0.8,0) 2383 | storyline.QuestComplete.Mainframe.Reward.Block[i].Item.Button:SetScript("OnClick",function() end) 2384 | end 2385 | UIFrameFadeIn(storyline.QuestComplete.Mainframe,0.5) 2386 | end 2387 | 2388 | -- close clicking 2389 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) 2390 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnEnter",function() 2391 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) 2392 | end) 2393 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnLeave",function() storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) end) 2394 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnClick",function() end) 2395 | storyline.Text.Questtext.Continue:Hide() 2396 | 2397 | local ObjectiveText = GetObjectiveText() 2398 | storyline:ShowNPCText("Quest Objectives: "..ObjectiveText,0) 2399 | end 2400 | 2401 | function storyline:ProgressQuest() 2402 | -- hide and show 2403 | storyline:HideAll() 2404 | UIFrameFadeIn(storyline.QuestProgress.Mainframe,0.5) 2405 | storyline.Background.layer4.Banner:Show() 2406 | -- point to Quest 2407 | storyline:GetObjectiveText() 2408 | storyline:UpdateReqItems() 2409 | 2410 | -- close clicking 2411 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnEnter",function() 2412 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(0,1,0,1) 2413 | storyline.Text.Questtext.Continue:SetTextColor(0,1,0) 2414 | end) 2415 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnLeave",function() 2416 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) 2417 | storyline.Text.Questtext.Continue:SetTextColor(1,1,0.4) 2418 | end) 2419 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnClick",function() storyline:ProgressQuestObjectives() end) 2420 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) 2421 | storyline.Text.Questtext.Continue:Show() 2422 | storyline.Text.Questtext.Complete:Hide() 2423 | 2424 | --Update Text 2425 | storyline.Text.NPCName:SetText(UnitName("npc")) 2426 | local QuestTitel = GetTitleText() 2427 | local ProgressText = GetProgressText() 2428 | 2429 | storyline.Text.Banner:SetText(QuestTitel) 2430 | storyline:ShowNPCText(ProgressText) 2431 | 2432 | -- completeable? 2433 | if IsQuestCompletable() then 2434 | storyline.QuestProgress.Mainframe.State:SetBackdrop({bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\ReadyCheck-Ready"}) 2435 | else 2436 | storyline.QuestProgress.Mainframe.State:SetBackdrop({bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\ReadyCheck-NotReady"}) 2437 | end 2438 | 2439 | -- show 2440 | storyline.Background:Show() 2441 | 2442 | -- Update PlayerFrames 2443 | storyline:UpdateModels() 2444 | end 2445 | 2446 | function storyline:ProgressQuestObjectives() 2447 | -- close clicking 2448 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnEnter",function() 2449 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) 2450 | end) 2451 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnLeave",function() 2452 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) 2453 | end) 2454 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnClick",function() end) 2455 | storyline.Text.Questtext.Continue:Hide() 2456 | 2457 | local ObjectiveText = storyline:GetObjectiveText() 2458 | storyline:ShowNPCText("Quest Objectives: "..ObjectiveText,0) 2459 | 2460 | -- completeable? 2461 | if IsQuestCompletable() then 2462 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnEnter",function() 2463 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(0,1,0,1) 2464 | storyline.Text.Questtext.Complete:SetTextColor(0,1,0) 2465 | end) 2466 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnLeave",function() 2467 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) 2468 | storyline.Text.Questtext.Complete:SetTextColor(1,1,0.4) 2469 | end) 2470 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnClick",function() CompleteQuest() end) 2471 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) 2472 | storyline.Text.Questtext.Complete:Show() 2473 | storyline.QuestProgress.Mainframe.State:SetBackdrop({bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\ReadyCheck-Ready"}) 2474 | else 2475 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnEnter",function() end) 2476 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnLeave",function() end) 2477 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnClick",function() end) 2478 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) 2479 | storyline.Text.Questtext.Complete:Hide() 2480 | storyline.QuestProgress.Mainframe.State:SetBackdrop({bgFile = "Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\ReadyCheck-NotReady"}) 2481 | end 2482 | 2483 | end 2484 | 2485 | function storyline:CompleteQuest() 2486 | -- hide and show 2487 | storyline:HideAll() 2488 | --Show the decorations for completing the quest 2489 | storyline.QuestComplete.Mainframe.CenterFlash:Show() 2490 | storyline.QuestComplete.Mainframe.CenterRing:Show() 2491 | storyline.QuestComplete.Mainframe.CenterItem.Frame:Show() 2492 | storyline.QuestComplete.Mainframe.CenterItem:Show() 2493 | --Update cached rewards, and un-click all of them (visually) 2494 | storyline:UpdateRewardItems() 2495 | for i=1,6 do storyline.QuestComplete.Mainframe.Reward.Block[i]:SetBackdropColor(0.8,0.8,0.8,0) end 2496 | UIFrameFadeIn(storyline.QuestComplete.Mainframe,0.5) 2497 | 2498 | storyline.Background.layer4.Banner:Show() 2499 | 2500 | 2501 | -- close clicking 2502 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnEnter",function() 2503 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(0,1,0,1) 2504 | storyline.Text.Questtext.Complete:SetTextColor(0,1,0) 2505 | end) 2506 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnLeave",function() 2507 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) 2508 | storyline.Text.Questtext.Complete:SetTextColor(1,1,0.4) 2509 | end) 2510 | storyline.Background.layer5.Questtext.Fade.Button:SetScript("OnClick",function() QuestRewardCompleteButton_OnClick(); DressUpFrame:Hide() end) 2511 | storyline.Background.layer5.Questtext:SetBackdropBorderColor(1,1,1,1) 2512 | storyline.Text.Questtext.Continue:Hide() 2513 | storyline.Text.Questtext.Complete:Show() 2514 | 2515 | --Update Text 2516 | storyline.Text.NPCName:SetText(UnitName("npc")) 2517 | local QuestTitel = GetTitleText() 2518 | local RewardText = GetRewardText() 2519 | 2520 | storyline.Text.Banner:SetText(QuestTitel) 2521 | storyline:ShowNPCText(RewardText) 2522 | 2523 | -- show 2524 | storyline.Background:Show() 2525 | 2526 | -- Update PlayerFrames 2527 | storyline:UpdateModels() 2528 | end 2529 | 2530 | -- Get Objective Text from QuestLog : Devlivers Objective Text from quest 2531 | function storyline:GetObjectiveText() 2532 | local QuestID = 0 2533 | local QuestTitel = GetTitleText() 2534 | local QuestLogTitel = "" 2535 | local QuestLogTitelLevel 2536 | local numEntries = GetNumQuestLogEntries() 2537 | local ObjectiveText 2538 | 2539 | -- buggy for few quests 2540 | for i=1, numEntries do 2541 | QuestLogTitel = GetQuestLogTitle(i) 2542 | if string.find(QuestTitel, QuestLogTitel) then -- find doesnt accept functions as arguments 2543 | QuestID = i 2544 | end 2545 | end 2546 | 2547 | if QuestID > 0 then 2548 | QuestLog_SetSelection(QuestID) 2549 | _,ObjectiveText = GetQuestLogQuestText() 2550 | else ObjectiveText = "" end 2551 | 2552 | return ObjectiveText 2553 | end 2554 | 2555 | -- Updates the Req. Items for Progress Frame 2556 | function storyline:UpdateReqItems() 2557 | 2558 | -- hide all frames 2559 | for i=1,6 do storyline.QuestProgress.Mainframe.Objective.Block[i]:Hide() end 2560 | for i=1,6 do storyline.QuestProgress.Mainframe.Objective.Font[i]:Hide() end 2561 | 2562 | -- Items and money 2563 | local numRequiredItems = GetNumQuestItems() 2564 | local numRequiredMoney = GetQuestMoneyToGet()/10000 2565 | local startCounter = 1 2566 | if numRequiredItems > 6 then numRequiredItems = 6 end -- max display of 6 items 2567 | local questItemName = "QuestProgressItem" 2568 | local counter = 0 2569 | 2570 | if numRequiredItems > 0 then 2571 | -- check for gold req. 2572 | if numRequiredMoney > 0 then 2573 | counter = counter + 1 2574 | storyline.QuestProgress.Mainframe.Objective.Block[counter].Item:SetBackdrop({bgFile = "Interface\\Icons\\INV_Misc_Coin_02"}) 2575 | storyline.QuestProgress.Mainframe.Objective.Block[counter].Item.Font:SetText(numRequiredMoney) 2576 | storyline.QuestProgress.Mainframe.Objective.Block[counter].TextFont:SetText("Gold") 2577 | storyline.QuestProgress.Mainframe.Objective.Block[counter]:Show() 2578 | 2579 | end 2580 | 2581 | for i=1,numRequiredItems do 2582 | counter = counter + 1 2583 | local name, texture, numItems = GetQuestItemInfo("required", i) 2584 | if numItems == 1 then numItems = " " end -- dont show 1 item 2585 | 2586 | storyline.QuestProgress.Mainframe.Objective.Block[counter].Item:SetBackdrop({bgFile = texture}) 2587 | storyline.QuestProgress.Mainframe.Objective.Block[counter].Item.Font:SetText(numItems) 2588 | storyline.QuestProgress.Mainframe.Objective.Block[counter].TextFont:SetText(name) 2589 | storyline.QuestProgress.Mainframe.Objective.Block[counter]:Show() 2590 | end 2591 | 2592 | else 2593 | -- Text 2594 | local numObjectives = GetNumQuestLeaderBoards() 2595 | for i=1, numObjectives do 2596 | local reqText 2597 | local reqtype 2598 | local finished 2599 | reqText, reqtype, finished = GetQuestLogLeaderBoard(i); 2600 | 2601 | if ( finished ) then 2602 | storyline.QuestProgress.Mainframe.Objective.Font[i]:SetTextColor(0,1,0) 2603 | else 2604 | storyline.QuestProgress.Mainframe.Objective.Font[i]:SetTextColor(1,0,0) 2605 | end 2606 | storyline.QuestProgress.Mainframe.Objective.Font[i]:SetText(reqText) 2607 | storyline.QuestProgress.Mainframe.Objective.Font[i]:Show() 2608 | end 2609 | end 2610 | end 2611 | 2612 | -- Updates the Reward Items for Complete Frame 2613 | function storyline:UpdateRewardItems() 2614 | -- hide all frames 2615 | for i=1,6 do storyline.QuestComplete.Mainframe.Reward.Block[i]:Hide() end 2616 | 2617 | -- reset center item 2618 | storyline.QuestComplete.Mainframe.CenterItem:SetBackdrop({bgFile = "Interface\\Icons\\INV_Box_02"}) 2619 | 2620 | local numQuestChoices = GetNumQuestChoices() 2621 | local numQuestRewards = GetNumQuestRewards() 2622 | local numQuestSpellRewards = 0 2623 | if GetRewardSpell() then numQuestSpellRewards = 1 end 2624 | local money = GetRewardMoney() 2625 | local totalRewards = numQuestRewards + numQuestChoices + numQuestSpellRewards 2626 | local counter = 0 2627 | 2628 | -- display gold 2629 | local gold = floor(money/10000) 2630 | local silver = floor((money-(gold*10000))/100) 2631 | local copper = (money-(gold*10000)-(silver*100)) 2632 | 2633 | if gold == 0 then storyline.QuestComplete.Mainframe.Reward.Money.Gold:Hide() else storyline.QuestComplete.Mainframe.Reward.Money.Gold:Show() end 2634 | if gold == 0 and silver == 0 then storyline.QuestComplete.Mainframe.Reward.Money.Silver:Hide() else storyline.QuestComplete.Mainframe.Reward.Money.Silver:Show() end 2635 | 2636 | if money > 0 then 2637 | storyline.QuestComplete.Mainframe.Reward.Money:Show() 2638 | storyline.QuestComplete.Mainframe.Reward.Money.Gold.Font:SetText(gold) 2639 | storyline.QuestComplete.Mainframe.Reward.Money.Silver.Font:SetText(silver) 2640 | storyline.QuestComplete.Mainframe.Reward.Money.Copper.Font:SetText(copper) 2641 | else storyline.QuestComplete.Mainframe.Reward.Money:Hide() 2642 | end 2643 | 2644 | for i=1,numQuestChoices do 2645 | counter = counter + 1 2646 | local IDnum = i 2647 | local name, texture, numItems, quality, isUsable = GetQuestItemInfo("choice", i) 2648 | if numItems == 1 then numItems = " " end -- dont show 1 item 2649 | 2650 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item:SetBackdrop({bgFile = texture}) 2651 | if not isUsable then storyline.QuestComplete.Mainframe.Reward.Block[counter].Item:SetBackdropColor(1,0,0,1) 2652 | else storyline.QuestComplete.Mainframe.Reward.Block[counter].Item:SetBackdropColor(1,1,1,1) end 2653 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Font:SetText(numItems) 2654 | storyline.QuestComplete.Mainframe.Reward.Block[counter].TextFont:SetText(name) 2655 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button:SetID(IDnum) 2656 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button.type = "choice" 2657 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button:SetScript("OnEnter",function() 2658 | GameTooltip:SetOwner(storyline.QuestComplete.Mainframe.Reward.Block[counter].Item,"TOPLEFT") 2659 | GameTooltip:SetQuestItem("choice", this:GetID()) 2660 | end) 2661 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button:SetScript("OnLeave",function() GameTooltip:Hide(); ResetCursor() end) 2662 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button:SetScript("OnClick",function() storyline:QuestReward_OnClick() end) 2663 | storyline.QuestComplete.Mainframe.Reward.Block[counter]:Show() 2664 | end 2665 | 2666 | -- display Rewards 2667 | for i=1,numQuestRewards do 2668 | counter = counter + 1 2669 | local IDnum = i 2670 | local name, texture, numItems, quality, isUsable = GetQuestItemInfo("reward", i) 2671 | if i == 1 then storyline.QuestComplete.Mainframe.CenterItem:SetBackdrop({bgFile = texture}) end 2672 | if numItems == 1 then numItems = " " end -- dont show 1 item 2673 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item:SetBackdrop({bgFile = texture}) 2674 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Font:SetText(numItems) 2675 | storyline.QuestComplete.Mainframe.Reward.Block[counter].TextFont:SetText(name) 2676 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button:SetID(IDnum) 2677 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button.type = "reward" 2678 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button:SetScript("OnEnter",function() 2679 | GameTooltip:SetOwner(storyline.QuestComplete.Mainframe.Reward.Block[counter].Item,"TOPLEFT") 2680 | GameTooltip:SetQuestItem("reward", this:GetID()) 2681 | end) 2682 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button:SetScript("OnLeave",function() GameTooltip:Hide(); ResetCursor() end) 2683 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button:SetScript("OnClick",function() end) 2684 | storyline.QuestComplete.Mainframe.Reward.Block[counter]:Show() 2685 | end 2686 | 2687 | if GetRewardSpell() then 2688 | counter = counter + 1 2689 | local IDnum = 1 2690 | local numItems = 1 2691 | local texture, name, isTradeskillSpell = GetRewardSpell() 2692 | if numItems == 1 then numItems = " " end -- dont show 1 item 2693 | storyline.QuestComplete.Mainframe.CenterItem:SetBackdrop({bgFile = texture}) 2694 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item:SetBackdrop({bgFile = texture}) 2695 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Font:SetText(numItems) 2696 | storyline.QuestComplete.Mainframe.Reward.Block[counter].TextFont:SetText(name) 2697 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button:SetID(IDnum) 2698 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button.type = "spell" 2699 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button:SetScript("OnEnter",function() 2700 | GameTooltip:SetOwner(storyline.QuestComplete.Mainframe.Reward.Block[counter].Item,"TOPLEFT") 2701 | GameTooltip:SetQuestRewardSpell() 2702 | end) 2703 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button:SetScript("OnLeave",function() GameTooltip:Hide(); ResetCursor() end) 2704 | storyline.QuestComplete.Mainframe.Reward.Block[counter].Item.Button:SetScript("OnClick",function() end) 2705 | storyline.QuestComplete.Mainframe.Reward.Block[counter]:Show() 2706 | end 2707 | -- hide if no rewards 2708 | if totalRewards == 0 then storyline.QuestComplete.Mainframe:Hide() end 2709 | end 2710 | 2711 | function storyline:ConfigureModelRotation() 2712 | if StorylineOptions.EnableModelManip == 1 then storyline:EnableModelManipulation() 2713 | else storyline:DisableModelManipulation() 2714 | end 2715 | end 2716 | 2717 | 2718 | function storyline:StoreNPCModel() 2719 | if (StorylineOptions.EnableModelManipDebug == 1 or StorylineOptions.EnableModelManipSave==1) then 2720 | Z, X, Y = storyline.NPC.PlayerFrame:GetPosition(Z, X, Y) 2721 | facing=storyline.NPC.PlayerFrame:GetFacing() 2722 | model=storyline.NPC.PlayerFrame:GetModel() 2723 | scale = storyline.NPC.PlayerFrame:GetModelScale() 2724 | if (StorylineOptions.EnableModelManipSave==1) then 2725 | UserNPCModels[model]={f=facing,z=Z,y=Y,x=X,s=scale} 2726 | end 2727 | 2728 | if (StorylineOptions.EnableModelManipDebug==1) then 2729 | model = string.gsub(model,"\\","\\\\") 2730 | DEFAULT_CHAT_FRAME:AddMessage(format('["%s"]={f=%s,z=%s,y=%s,x=%s,s=%s}', model, facing,Z,Y,X,scale)) 2731 | end 2732 | end 2733 | end 2734 | 2735 | function storyline:StorePlayerModel() 2736 | if (StorylineOptions.EnableModelManipDebug == 1 or StorylineOptions.EnableModelManipSave==1) then 2737 | Z, X, Y = storyline.Player.PlayerFrame:GetPosition(Z, X, Y) 2738 | facing=storyline.Player.PlayerFrame:GetFacing() 2739 | model=storyline.Player.PlayerFrame:GetModel() 2740 | scale = storyline.Player.PlayerFrame:GetModelScale() 2741 | if (StorylineOptions.EnableModelManipSave==1) then 2742 | UserPlayerModels[model]={f=facing,z=Z,y=Y,x=X,s=scale} 2743 | end 2744 | 2745 | if (StorylineOptions.EnableModelManipDebug==1) then 2746 | model = string.gsub(model,"\\","\\\\") 2747 | DEFAULT_CHAT_FRAME:AddMessage(format('["%s"]={f=%s,z=%s,y=%s,x=%s,s=%s}', model, facing,Z,Y,X,scale)) 2748 | end 2749 | end 2750 | end 2751 | 2752 | function storyline:ResetNPCModel() 2753 | UserNPCModels[storyline.NPC.PlayerFrame:GetModel()] = nil 2754 | storyline:ResetModels() 2755 | storyline:UpdateModels() 2756 | end 2757 | 2758 | function storyline:ResetPlayerModel() 2759 | UserPlayerModels[storyline.Player.PlayerFrame:GetModel()] = nil 2760 | storyline:ResetModels() 2761 | storyline:UpdateModels() 2762 | end 2763 | 2764 | function storyline:DisableModelManipulation() 2765 | --PlayerFrame 2766 | storyline.Player.PlayerFrame:EnableMouse(0) 2767 | storyline.Player.PlayerFrame:EnableMouseWheel(0) 2768 | 2769 | storyline.Player.PlayerFrame:SetScript('OnMouseWheel', function(self, spining) end) 2770 | 2771 | storyline.Player.PlayerFrame:SetScript('OnMouseUp', function(self) end) 2772 | 2773 | storyline.Player.PlayerFrame:SetScript('OnMouseDown', function() end) 2774 | 2775 | --NPCFrame 2776 | storyline.NPC.PlayerFrame:EnableMouse(0) 2777 | storyline.NPC.PlayerFrame:EnableMouseWheel(0) 2778 | storyline.NPC.PlayerFrame:SetScript('OnMouseWheel', function(self, spining) end) 2779 | 2780 | storyline.NPC.PlayerFrame:SetScript('OnMouseUp', function(self) end) 2781 | 2782 | storyline.NPC.PlayerFrame:SetScript('OnMouseDown', function() end) 2783 | end 2784 | 2785 | function storyline:EnableModelManipulation() 2786 | --PlayerFrame 2787 | storyline.Player.PlayerFrame:EnableMouse(1) 2788 | storyline.Player.PlayerFrame:EnableMouseWheel(1) 2789 | storyline.Player.PlayerFrame:SetScript('OnMouseWheel', function(self, spining) --Scroll Wheel Scaling 2790 | --local Z, X, Y = storyline.Player.PlayerFrame:GetPosition() 2791 | --Z = (arg1 > 0 and Z + 1 or Z - 1) 2792 | --storyline.Player.PlayerFrame:SetPosition(Z, X, Y) 2793 | 2794 | local s = storyline.Player.PlayerFrame:GetModelScale() 2795 | s = (arg1 > 0 and s + 0.01 or s - 0.01) 2796 | if (StorylineOptions.EnableModelManipDebug == 1) then 2797 | DEFAULT_CHAT_FRAME:AddMessage(format("Scale: %s",s)) 2798 | end 2799 | storyline:StorePlayerModel() 2800 | storyline.Player.PlayerFrame:SetModelScale(s) 2801 | end) 2802 | 2803 | storyline.Player.PlayerFrame:SetScript('OnMouseUp', function(self) 2804 | storyline.Player.PlayerFrame:SetScript('OnUpdate', nil) 2805 | storyline:StorePlayerModel() 2806 | end) 2807 | 2808 | storyline.Player.PlayerFrame:SetScript('OnMouseDown', function() 2809 | local StartX, StartY = GetCursorPosition() 2810 | 2811 | local EndX, EndY, Z, X, Y 2812 | if arg1 == 'LeftButton' then 2813 | storyline.Player.PlayerFrame:SetScript('OnUpdate', function(self) 2814 | EndX, EndY = GetCursorPosition() 2815 | 2816 | storyline.Player.PlayerFrame.rotation = (EndX - StartX) / 34 + storyline.Player.PlayerFrame:GetFacing() 2817 | 2818 | storyline.Player.PlayerFrame:SetFacing(storyline.Player.PlayerFrame.rotation) 2819 | 2820 | StartX, StartY = GetCursorPosition() 2821 | end) 2822 | elseif arg1 == 'RightButton' then 2823 | storyline.Player.PlayerFrame:SetScript('OnUpdate', function(self) 2824 | EndX, EndY = GetCursorPosition() 2825 | 2826 | Z, X, Y = storyline.Player.PlayerFrame:GetPosition(Z, X, Y) 2827 | X = (EndX - StartX) / 45 + X 2828 | Y = (EndY - StartY) / 45 + Y 2829 | 2830 | storyline.Player.PlayerFrame:SetPosition(Z, X, Y) 2831 | StartX, StartY = GetCursorPosition() 2832 | end) 2833 | end 2834 | end) 2835 | 2836 | --NPCFrame 2837 | storyline.NPC.PlayerFrame:EnableMouse(1) 2838 | storyline.NPC.PlayerFrame:EnableMouseWheel(1) 2839 | storyline.NPC.PlayerFrame:SetScript('OnMouseWheel', function(self, spining) --Scroll Wheel Scaling 2840 | --local Z, X, Y = storyline.NPC.PlayerFrame:GetPosition() 2841 | -- Z = (arg1 > 0 and Z + 1 or Z - 1) 2842 | -- storyline.NPC.PlayerFrame:SetPosition(Z, X, Y) 2843 | 2844 | local s = storyline.NPC.PlayerFrame:GetModelScale() 2845 | s = (arg1 > 0 and s + 0.01 or s - 0.01) 2846 | if (StorylineOptions.EnableModelManipDebug == 1 ) then 2847 | DEFAULT_CHAT_FRAME:AddMessage(format("Scale: %s",s)) 2848 | end 2849 | storyline:StoreNPCModel() 2850 | storyline.NPC.PlayerFrame:SetModelScale(s) 2851 | end) 2852 | 2853 | storyline.NPC.PlayerFrame:SetScript('OnMouseUp', function(self) 2854 | storyline.NPC.PlayerFrame:SetScript('OnUpdate', nil) 2855 | storyline:StoreNPCModel() 2856 | end) 2857 | 2858 | storyline.NPC.PlayerFrame:SetScript('OnMouseDown', function() 2859 | local StartX, StartY = GetCursorPosition() 2860 | 2861 | local EndX, EndY, Z, X, Y 2862 | if arg1 == 'LeftButton' then 2863 | storyline.NPC.PlayerFrame:SetScript('OnUpdate', function(self) 2864 | EndX, EndY = GetCursorPosition() 2865 | 2866 | storyline.NPC.PlayerFrame.rotation = (EndX - StartX) / 34 + storyline.NPC.PlayerFrame:GetFacing() 2867 | 2868 | storyline.NPC.PlayerFrame:SetFacing(storyline.NPC.PlayerFrame.rotation) 2869 | 2870 | StartX, StartY = GetCursorPosition() 2871 | end) 2872 | elseif arg1 == 'RightButton' then 2873 | storyline.NPC.PlayerFrame:SetScript('OnUpdate', function(self) 2874 | EndX, EndY = GetCursorPosition() 2875 | 2876 | Z, X, Y = storyline.NPC.PlayerFrame:GetPosition(Z, X, Y) 2877 | X = (EndX - StartX) / 45 + X 2878 | Y = (EndY - StartY) / 45 + Y 2879 | 2880 | storyline.NPC.PlayerFrame:SetPosition(Z, X, Y) 2881 | StartX, StartY = GetCursorPosition() 2882 | end) 2883 | end 2884 | end) 2885 | end 2886 | 2887 | 2888 | -- Update 3D Models 2889 | function storyline:UpdateModels() 2890 | 2891 | if UnitExists("npc") then storyline.NPC.PlayerFrame:SetUnit("npc") 2892 | else storyline.NPC.PlayerFrame:SetModel("Interface\\Buttons\\talktomequestionmark.mdx") end 2893 | 2894 | -- set default players model info 2895 | storyline.Player.PlayerFrame:SetUnit("player") 2896 | storyline.Player.PlayerFrame:SetModelScale(1) 2897 | 2898 | --set model scale if known model. Otherwise default might be fine 2899 | m = storyline.Models.PlayerModelDB[storyline.Player.PlayerFrame:GetModel()] 2900 | um = UserPlayerModels[storyline.Player.PlayerFrame:GetModel()] 2901 | if(um) then 2902 | storyline.Player.PlayerFrame:SetFacing(um.f) 2903 | storyline.Player.PlayerFrame:SetPosition(um.z, um.x, um.y) 2904 | storyline.Player.PlayerFrame:SetModelScale(um.s) 2905 | elseif (m) then --cant seem to set model position, but I might keep trying with the user rotated models 2906 | storyline.Player.PlayerFrame:SetFacing(storyline.Models.PlayerFacing) 2907 | storyline.Player.PlayerFrame:SetModelScale(m.s) 2908 | --storyline.Player.PlayerFrame:SetModelScale(m.s-(StorylineOptions.WindowScale-1)) -- might want to try something to allow window scaling 2909 | end 2910 | 2911 | -- set default parameters 2912 | storyline.NPC.PlayerFrame:SetModelScale(0.75) 2913 | storyline.NPC.PlayerFrame:SetPosition(0,0.6,0.05) 2914 | storyline.NPC.PlayerFrame:SetFacing(-0.8) 2915 | 2916 | -- Model setup for NPCs 2917 | -- Most will be covered, defaults might work for anything else 2918 | local model = storyline.NPC.PlayerFrame:GetModel() 2919 | m = storyline.Models.NPCModelDB[model] 2920 | um = UserNPCModels[model] 2921 | if (um) then 2922 | storyline.NPC.PlayerFrame:SetFacing(um.f) 2923 | storyline.NPC.PlayerFrame:SetPosition(um.z, um.x, um.y) 2924 | storyline.NPC.PlayerFrame:SetModelScale(um.s) 2925 | elseif (m) then 2926 | storyline.NPC.PlayerFrame:SetFacing(m.f) 2927 | storyline.NPC.PlayerFrame:SetPosition(m.z, m.x, m.y) 2928 | storyline.NPC.PlayerFrame:SetModelScale(m.s) 2929 | --storyline.NPC.PlayerFrame:SetModelScale(m.s-(StorylineOptions.WindowScale-1)) -- might want to try something to allow window scaling 2930 | --DEFAULT_CHAT_FRAME:AddMessage(format("%s %s %s %s %s",m.f,m.z,m.y,m.x,storyline.NPC.PlayerFrame:GetModelScale())) 2931 | end 2932 | end 2933 | 2934 | 2935 | function storyline:ResetModels() 2936 | -- Reset parameter 2937 | storyline.NPC.PlayerFrame:SetModelScale(1) 2938 | storyline.NPC.PlayerFrame:SetPosition(0,0,0) 2939 | storyline.NPC.PlayerFrame:SetFacing(-0.8) 2940 | 2941 | storyline.Player.PlayerFrame:SetModelScale(1) 2942 | end 2943 | 2944 | -- Fill the Scrollframe + Fade 2945 | function storyline:ShowNPCText(Text,Offset) 2946 | 2947 | -- set text offset 2948 | if not Offset then storyline.Options.Offset = 50 2949 | else storyline.Options.Offset = Offset end 2950 | 2951 | -- refresh Variables 2952 | storyline.Options.Fading = 0 2953 | storyline.Variables.fadingProgress = 0 2954 | storyline.Variables.SliderProgress = 0 2955 | storyline.Variables.SliderStop = 0 2956 | storyline.Variables.QuesttextLength = 0 2957 | storyline.Variables.LastTime = 0 2958 | storyline.Variables.Time = 0 2959 | 2960 | 2961 | storyline.Variables.QuesttextLength = string.len(Text) 2962 | storyline.Text.Questtext.Font:SetText(Text) 2963 | _,storyline.Variables.FontSize = storyline.Text.Questtext.Font:GetFont() 2964 | storyline.Variables.FontHeight = storyline.Text.Questtext.Font:GetHeight() 2965 | if storyline.Variables.FontHeight < 50 then storyline.Variables.FontHeight = 50 end 2966 | storyline.Background.layer5.Questtext.Slider:SetMinMaxValues(0, storyline.Variables.FontHeight -50) -- -50 offset at end of scrollframe 2967 | 2968 | if QUEST_FADING_DISABLE == "1" then 2969 | storyline.Options.Fading = 0 2970 | storyline.Background.layer5.Questtext.Slider:SetValue(0) 2971 | elseif QUEST_FADING_DISABLE == "0" then 2972 | storyline.Options.Fading = 1 2973 | end 2974 | end 2975 | 2976 | -- hide frames after Eventcall 2977 | function storyline:HideAll() 2978 | -- Hide Gossip Frame 2979 | storyline.Gossip.Frame:Hide() 2980 | -- Hide Quest Detail 2981 | storyline.QuestDetail.GetQuest:Hide() 2982 | 2983 | -- Hide Progress Frame 2984 | storyline.QuestProgress.Mainframe:Hide() 2985 | 2986 | -- Hide Complete Frame 2987 | storyline.QuestComplete.Mainframe:Hide() 2988 | 2989 | -- Hide Options 2990 | storyline.OptionsFrame:Hide() 2991 | end 2992 | 2993 | -- Hide Blizzards Frames 2994 | function storyline:HideBlizzard() 2995 | if storyline.Options.HideBlizzardFrames == 1 then 2996 | -- Greetings Frames 2997 | QuestFrameGreetingPanel:Hide() 2998 | -- Gossip Frame 2999 | GossipFrameGreetingPanel:Hide() 3000 | GossipNpcNameFrame:Hide() 3001 | GossipFrameCloseButton:Hide() 3002 | GossipFramePortrait:SetTexture() 3003 | -- Accept Quest Interact 3004 | QuestFrameDetailPanel:Hide() 3005 | QuestNpcNameFrame:Hide() 3006 | QuestFramePortrait:Hide() 3007 | QuestFrameCloseButton:Hide() 3008 | -- Progress Quest Interact 3009 | QuestFrameProgressPanel:Hide() 3010 | -- Reward Quest Interact 3011 | QuestFrameRewardPanel:Hide() 3012 | -- if Adapt addon is active 3013 | if Adapt and Adapt.Textures and Adapt.Textures["GossipFramePortrait"] then Adapt.Textures["GossipFramePortrait"]:Hide() end 3014 | if Adapt and Adapt.Textures and Adapt.Textures["GossipFramePortrait"] and Adapt.Textures["GossipFramePortrait"].modelLayer then Adapt.Textures["GossipFramePortrait"].modelLayer:Hide() end 3015 | if Adapt and Adapt.Textures and Adapt.Textures["QuestFramePortrait"] then Adapt.Textures["QuestFramePortrait"]:Hide() end 3016 | if Adapt and Adapt.Textures and Adapt.Textures["QuestFramePortrait"] and Adapt.Textures["QuestFramePortrait"].modelLayer then Adapt.Textures["QuestFramePortrait"].modelLayer:Hide() end 3017 | 3018 | else 3019 | GossipFrameGreetingPanel:Show() 3020 | GossipNpcNameFrame:Show() 3021 | GossipFrameCloseButton:Show() 3022 | 3023 | end 3024 | end 3025 | 3026 | function storyline:QuestReward_OnClick() 3027 | 3028 | if ( IsControlKeyDown() ) then 3029 | if ( this.rewardType ~= "spell" ) then 3030 | DressUpItemLink(GetQuestItemLink(this.type, this:GetID())); 3031 | DressUpFrame:SetPoint("TOPLEFT",storyline.Background,"TOPRIGHT") 3032 | end 3033 | elseif ( IsShiftKeyDown() ) then 3034 | if ( ChatFrameEditBox:IsVisible() ) then 3035 | ChatFrameEditBox:Insert(GetQuestItemLink(this.type, this:GetID())); 3036 | end 3037 | elseif ( this.type == "choice" ) then 3038 | for i=1,6 do storyline.QuestComplete.Mainframe.Reward.Block[i]:SetBackdropColor(0.8,0.8,0.8,0) end 3039 | storyline.QuestComplete.Mainframe.Reward.Block[this:GetID()]:SetBackdropColor(0,0.8,0,0.3) 3040 | QuestFrameRewardPanel.itemChoice = this:GetID(); 3041 | local _, texture= GetQuestItemInfo("choice", QuestFrameRewardPanel.itemChoice) 3042 | storyline.QuestComplete.Mainframe.CenterItem:SetBackdrop({bgFile = texture}) 3043 | end 3044 | end 3045 | 3046 | function storyline:UpdateZone() 3047 | local zoneName = V[GetZoneText()] 3048 | -- clear textures 3049 | for i=1,11 do 3050 | if self.Background.layer2.Background[i] then self.Background.layer2.Background[i].Bg:SetTexture(storyline.Area["Clear"][i]) end 3051 | end 3052 | 3053 | -- Set new Textures 3054 | if storyline.Area[zoneName] then 3055 | for i=1,11 do 3056 | if storyline.Area[zoneName][i] then self.Background.layer2.Background[i].Bg:SetTexture(storyline.Area[zoneName][i]) end 3057 | end 3058 | else -- standard picture if unusual area 3059 | self.Background.layer2.Background[11].Bg:SetTexture(storyline.Area["Standard"][11]) 3060 | end 3061 | end 3062 | 3063 | function storyline:SetFrameStrata() 3064 | storyline.Background:SetFrameStrata(storyline.Options.FrameStrata[StorylineOptions.WindowLevel]) 3065 | end 3066 | 3067 | -- Animation Functions -- 3068 | -------------------------- 3069 | -- play PlayerFrame 3070 | function storyline:playPlayerAnimation(event,maxTime) 3071 | storyline.Player.PlayerFrame:SetScript("OnUpdate",function() 3072 | storyline.Player.PlayerFrame:SetSequenceTime(event,storyline.Animation.Player) 3073 | storyline.Animation.Player = storyline.Animation.Player+(arg1*1000) 3074 | if storyline.Animation.Player > maxTime then storyline.Player.PlayerFrame:SetScript("OnUpdate", nil); storyline.Animation.Player = 0 end 3075 | end) 3076 | end 3077 | 3078 | -- play NPCFrame 3079 | function storyline:playNPCAnimation(event,maxTime) 3080 | storyline.Animation.NPC = - 200 -- delay 3081 | storyline.NPC.PlayerFrame:SetScript("OnUpdate",function() 3082 | if storyline.Animation.NPC >= 0 then 3083 | storyline.NPC.PlayerFrame:SetSequenceTime(event,storyline.Animation.NPC) 3084 | end 3085 | storyline.Animation.NPC = storyline.Animation.NPC+(arg1*1000) 3086 | if storyline.Animation.NPC > maxTime then storyline.NPC.PlayerFrame:SetScript("OnUpdate", nil); storyline.Animation.NPC = 0 end 3087 | end) 3088 | end 3089 | 3090 | -- from http://stackoverflow.com/questions/2705793/how-to-get-number-of-entries-in-a-lua-table 3091 | function storyline:tablelength(T) 3092 | local count = 0 3093 | for _ in pairs(T) do count = count + 1 end 3094 | return count 3095 | end 3096 | 3097 | -- play greetings animation 3098 | function storyline:GreetingsAnimation() 3099 | if storyline.Animation.Database[storyline.NPC.PlayerFrame:GetModel()] then 3100 | local randAnimation = math.random(1,storyline:tablelength(storyline.Animation.Database[storyline.NPC.PlayerFrame:GetModel()])) 3101 | local counter = 0 3102 | for key,value in pairs(storyline.Animation.Database[storyline.NPC.PlayerFrame:GetModel()]) do 3103 | counter = counter + 1 3104 | if counter == randAnimation then storyline:playNPCAnimation(key,storyline.Animation.Database[storyline.NPC.PlayerFrame:GetModel()][key]);break; end 3105 | end 3106 | end 3107 | end 3108 | 3109 | -- play talk animation 3110 | function storyline:TalkAnimation() 3111 | local emoteNum = "60" 3112 | if storyline.Animation.Database[storyline.NPC.PlayerFrame:GetModel()] and storyline.Animation.Database[storyline.NPC.PlayerFrame:GetModel()][emoteNum] then 3113 | storyline:playNPCAnimation(emoteNum,storyline.Animation.Database[storyline.NPC.PlayerFrame:GetModel()][emoteNum]) 3114 | end 3115 | end 3116 | 3117 | -- chat inputs 3118 | local function TextMenu(arg) 3119 | if arg == nil or arg == "" then 3120 | DEFAULT_CHAT_FRAME:AddMessage("|cFF00FF00Vanilla Storyline:|r This is help topic for |cFFFFFF00 /storyline|r",1,1,1) 3121 | DEFAULT_CHAT_FRAME:AddMessage("|cFF00FF00Vanilla Storyline:|r |cFFFFFF00 /storyline reset|r - resets scale and window position.",1,1,1) 3122 | DEFAULT_CHAT_FRAME:AddMessage("|cFF00FF00Vanilla Storyline:|r |cFFFFFF00 /storyline move|r - set moveable.",1,1,1) 3123 | else 3124 | if arg == "reset" then 3125 | storyline.Background:SetScale(1); storyline.Options.WindowScale = 1; StorylineOptions.WindowScale = 1 3126 | storyline.Background:SetUserPlaced(false) 3127 | ReloadUI() 3128 | 3129 | elseif arg == "move" then 3130 | if not storyline.OptionsFrame.MoveButton:GetChecked() then storyline.Background:EnableMouse(1); storyline.OptionsFrame.MoveButton:SetChecked(true) 3131 | else storyline.Background:EnableMouse(0);storyline.OptionsFrame.MoveButton:SetChecked(false) end 3132 | else 3133 | DEFAULT_CHAT_FRAME:AddMessage("|cFF00FF00Vanilla Storyline:|r unknown command",1,0.3,0.3); 3134 | end 3135 | end 3136 | end 3137 | -- slashcommands 3138 | SlashCmdList['VANILLA_STORYLINE'] = TextMenu 3139 | SLASH_VANILLA_STORYLINE1 = '/storyline' 3140 | 3141 | -- possible Areas and their textures 3142 | storyline.Area = {} 3143 | storyline.Area["Dun Morogh"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\DunMorogh"} 3144 | storyline.Area["Durotar"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Durotar"} 3145 | storyline.Area["Elwynn Forest"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\ElwynnForest"} 3146 | storyline.Area["Mulgore"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Mulgore"} 3147 | storyline.Area["Teldrassil"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Teldrassil"} 3148 | storyline.Area["Tirisfal Glades"]={[1]="Interface\\Glues\\Credits\\TirisfallGlades1", 3149 | [2]="Interface\\Glues\\Credits\\TirisfallGlades2", 3150 | [3]="Interface\\Glues\\Credits\\TirisfallGlades3", 3151 | [4]="Interface\\Glues\\Credits\\TirisfallGlades4", 3152 | [5]="Interface\\Glues\\Credits\\TirisfallGlades5", 3153 | [6]="Interface\\Glues\\Credits\\TirisfallGlades6"} 3154 | storyline.Area["Loch Modan"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\LochModan"} 3155 | storyline.Area["Silverpine Forest"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\SilverpineForest"} 3156 | storyline.Area["Westfall"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Westfall"} 3157 | storyline.Area["The Barrens"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\TheBarrens"} 3158 | storyline.Area["Redridge Mountains"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\RedridgeMountains"} 3159 | storyline.Area["Stonetalon Mountains"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\StonetalonMountains"} 3160 | storyline.Area["Ashenvale"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Ashenvale"} 3161 | storyline.Area["Duskwood"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Duskwood"} 3162 | storyline.Area["Hillsbrad Foothills"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\HillsbradFoothills"} 3163 | storyline.Area["Wetlands"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Wetlands"} 3164 | storyline.Area["Thousand Needles"]={[1]="Interface\\Glues\\Credits\\ThousandNeedles1", 3165 | [2]="Interface\\Glues\\Credits\\ThousandNeedles2", 3166 | [3]="Interface\\Glues\\Credits\\ThousandNeedles3", 3167 | [4]="Interface\\Glues\\Credits\\ThousandNeedles4", 3168 | [5]="Interface\\Glues\\Credits\\ThousandNeedles5", 3169 | [6]="Interface\\Glues\\Credits\\ThousandNeedles6"} 3170 | storyline.Area["Alterac Mountains"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\AlteracMountains"} 3171 | storyline.Area["Arathi Highlands"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\ArathiHighlands"} 3172 | storyline.Area["Desolace"]={[1]="Interface\\Glues\\Credits\\SouthernDesolace1", 3173 | [2]="Interface\\Glues\\Credits\\SouthernDesolace2", 3174 | [3]="Interface\\Glues\\Credits\\SouthernDesolace3", 3175 | [4]="Interface\\Glues\\Credits\\SouthernDesolace4", 3176 | [5]="Interface\\Glues\\Credits\\SouthernDesolace5", 3177 | [6]="Interface\\Glues\\Credits\\SouthernDesolace6"} 3178 | storyline.Area["Stranglethorn Vale"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\StranglethornVale"} 3179 | storyline.Area["Dustwallow Marsh"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\DustwallowMarsh"} 3180 | storyline.Area["Badlands"]={[1]="Interface\\Glues\\Credits\\Badlands1", 3181 | [2]="Interface\\Glues\\Credits\\Badlands2", 3182 | [3]="Interface\\Glues\\Credits\\Badlands3", 3183 | [4]="Interface\\Glues\\Credits\\Badlands4", 3184 | [5]="Interface\\Glues\\Credits\\Badlands5", 3185 | [6]="Interface\\Glues\\Credits\\Badlands6"} 3186 | storyline.Area["Swamp of Sorrows"]={[1]="Interface\\Glues\\Credits\\SwampofSorrows1", 3187 | [2]="Interface\\Glues\\Credits\\SwampofSorrows2", 3188 | [3]="Interface\\Glues\\Credits\\SwampofSorrows3", 3189 | [4]="Interface\\Glues\\Credits\\SwampofSorrows4", 3190 | [5]="Interface\\Glues\\Credits\\SwampofSorrows5", 3191 | [6]="Interface\\Glues\\Credits\\SwampofSorrows6"} 3192 | storyline.Area["Feralas"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Feralas"} 3193 | storyline.Area["The Hinterlands"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\TheHinterlands"} 3194 | storyline.Area["Tanaris"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Tanaris"} 3195 | storyline.Area["Searing Gorge"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\SearingGorge"} 3196 | storyline.Area["Azshara"]={[1]="Interface\\Glues\\Credits\\Ocean1", 3197 | [2]="Interface\\Glues\\Credits\\Ocean2", 3198 | [3]="Interface\\Glues\\Credits\\Ocean3", 3199 | [4]="Interface\\Glues\\Credits\\Ocean4", 3200 | [5]="Interface\\Glues\\Credits\\Ocean5", 3201 | [6]="Interface\\Glues\\Credits\\Ocean6"} 3202 | storyline.Area["Blasted Lands"]={[1]="Interface\\Glues\\Credits\\BlastedLands1", 3203 | [2]="Interface\\Glues\\Credits\\BlastedLands2", 3204 | [3]="Interface\\Glues\\Credits\\BlastedLands3", 3205 | [4]="Interface\\Glues\\Credits\\BlastedLands4", 3206 | [5]="Interface\\Glues\\Credits\\BlastedLands5", 3207 | [6]="Interface\\Glues\\Credits\\BlastedLands6"} 3208 | storyline.Area["Un'Goro Crater"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\UngoroCrater"} 3209 | storyline.Area["Felwood"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Felwood"} 3210 | storyline.Area["Burning Steppes"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\BurningSteppes"} 3211 | storyline.Area["Western Plaguelands"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\WesternPlaguelands"} 3212 | storyline.Area["Deadwind Pass"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\DeadwindPass"} 3213 | storyline.Area["Eastern Plaguelands"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\EasternPlaguelands"} 3214 | storyline.Area["Winterspring"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Winterspring"} 3215 | storyline.Area["Moonglade"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Moonglade"} 3216 | storyline.Area["Silithus"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Silithus"} 3217 | storyline.Area["Blackrock Mountain"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\BlackrockMountain"} 3218 | storyline.Area["Darnassus"]={[1]="Interface\\Glues\\Credits\\Darnasis1", 3219 | [2]="Interface\\Glues\\Credits\\Darnasis2", 3220 | [3]="Interface\\Glues\\Credits\\Darnasis3", 3221 | [4]="Interface\\Glues\\Credits\\Darnasis4", 3222 | [5]="Interface\\Glues\\Credits\\Darnasis5", 3223 | [6]="Interface\\Glues\\Credits\\Darnasis6"} 3224 | storyline.Area["City of Ironforge"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Ironforge"} 3225 | storyline.Area["Orgrimmar"]={[1]="Interface\\Glues\\Credits\\Orccamp1", 3226 | [2]="Interface\\Glues\\Credits\\Orccamp2", 3227 | [3]="Interface\\Glues\\Credits\\Orccamp3", 3228 | [4]="Interface\\Glues\\Credits\\Orccamp4", 3229 | [5]="Interface\\Glues\\Credits\\Orccamp5", 3230 | [6]="Interface\\Glues\\Credits\\Orccamp6"} 3231 | storyline.Area["Stormwind City"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\StormwindCity"} 3232 | storyline.Area["Thunder Bluff"]={[1]="Interface\\Glues\\Credits\\ThunderBluff1", 3233 | [2]="Interface\\Glues\\Credits\\ThunderBluff2", 3234 | [3]="Interface\\Glues\\Credits\\ThunderBluff3", 3235 | [4]="Interface\\Glues\\Credits\\ThunderBluff4", 3236 | [5]="Interface\\Glues\\Credits\\ThunderBluff5", 3237 | [6]="Interface\\Glues\\Credits\\ThunderBluff6"} 3238 | storyline.Area["Undercity"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Undercity"} 3239 | 3240 | storyline.Area["Standard"]={[11]="Interface\\AddOns\\VanillaStoryline\\Assets\\Images\\Locations\\Standard"} 3241 | storyline.Area["Clear"]={[1]="", 3242 | [2]="", 3243 | [3]="", 3244 | [4]="", 3245 | [5]="", 3246 | [6]="", 3247 | [7]="", 3248 | [8]="", 3249 | [9]="", 3250 | [10]="", 3251 | [11]=""} 3252 | --------------------------------------------------------------------------------