├── AdvancedTradeSkillWindow2.lua
├── AdvancedTradeSkillWindow2.toc
├── AdvancedTradeSkillWindow2.xml
├── Bindings.xml
├── CustomSorting.lua
├── CustomSorting.xml
├── Localization.lua
├── README.md
├── Read me.txt
└── Textures
├── Background
├── Alchemy.blp
├── BeastTraining.blp
├── Blacksmithing.blp
├── Cooking.blp
├── Enchanting.blp
├── Engineering.blp
├── FirstAid.blp
├── Jewelcrafting.blp
├── Leatherworking.blp
├── Poisons.blp
├── Smelting.blp
├── Survival.blp
└── Tailoring.blp
├── Category.blp
├── MouseWheelCursor.blp
├── Options
├── AtlasLootMinimap.blp
├── AtlasLootMinimapEffect.blp
├── Separate.blp
└── Unified.blp
├── Parchment.blp
├── ProgressBarFlash.blp
├── Search.blp
├── TrainingCost.blp
├── UI-DialogBox-Header.blp
├── UI-TaxiFrame-BotLeftReplacement.blp
├── UI-TaxiFrame-BotRightReplacement.blp
├── UI-TaxiFrame-BotRightReplacement2.blp
├── UI-TaxiFrame-InBetween1.blp
├── UI-TaxiFrame-InBetween2.blp
├── UI-TaxiFrame-TopLeftReplacement2.blp
├── UI-TaxiFrame-TopRightReplacement2.blp
└── Web.blp
/AdvancedTradeSkillWindow2.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11200
2 | ## Title: Advanced Trade Skill Window 2 |cFF909090v2.1.9|r
3 | ## Notes: Improved window for your professions for World of Warcraft vanilla
4 | ## Version: 2.1.9
5 | ## SavedVariables: ATSW_Characters, ATSW_Profession, ATSW_SelectedRecipe, ATSW_SortBy, ATSW_SearchString, ATSW_SubClassFilter, ATSW_InvSlotFilter, ATSW_ScrollOffset, ATSW_PreviousRecipes, ATSW_Tasks, ATSW_TimeCost, ATSW_NecessaryReagents, ATSW_ContractedCategories, ATSW_Amount, ATSW_Bags, ATSW_Bank, ATSW_Merchant, ATSW_ConsiderBank, ATSW_ConsiderAlts, ATSW_ConsiderMerchants, ATSW_AutoBuy, ATSW_Unified, ATSW_RecipeTooltip, ATSW_DisplayShoppingList, ATSW_CustomCategories, ATSW_CSOpenCategory, ATSW_CSSelected, ATSW_Debug
6 |
7 | ## X-ReleaseDate: $Date: 01/06/2025 $
8 | ## X-Email: shellyoung@protonmail.com
9 | ## X-Category: Tradeskill
10 | ## X-Website: https://github.com/Shellyoung/AdvancedTradeSkillWindow2
11 |
12 | AdvancedTradeSkillWindow2.xml
13 | CustomSorting.xml
--------------------------------------------------------------------------------
/AdvancedTradeSkillWindow2.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
95 |
96 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
198 |
199 |
200 |
201 |
270 |
271 |
369 |
370 |
371 |
372 |
373 |
396 |
403 |
408 |
421 |
437 |
438 |
439 |
440 | getglobal(this:GetName() .. "ItemHighlight"):SetDesaturated(true)
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
464 |
465 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 |
530 |
531 |
532 |
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 |
553 |
554 |
555 |
556 |
557 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 |
567 |
568 |
569 |
570 | if this.Name ~= ATSW_Profession[ATSW_realm][ATSW_player] then
571 | CastSpellByName(this.Name)
572 | else
573 | this:SetChecked()
574 | end
575 |
576 |
577 | GameTooltip:SetOwner(this, "ANCHOR_RIGHT")
578 | GameTooltip:SetText(this.Name)
579 |
580 |
581 | GameTooltip:Hide()
582 |
583 |
584 |
585 |
586 |
587 |
588 |
589 |
590 |
591 |
592 |
593 |
594 |
595 |
596 |
597 |
598 |
599 |
600 |
601 |
602 |
603 |
604 |
605 | this.Working = false
606 |
607 |
608 |
609 |
610 |
611 |
612 |
613 |
614 |
615 |
616 |
617 |
618 |
619 |
620 |
621 |
622 |
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
667 |
668 |
669 |
670 |
671 |
672 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 |
700 |
701 |
702 |
703 |
704 |
705 |
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 |
739 |
740 |
741 |
742 |
743 |
744 |
745 |
746 |
747 |
748 |
749 |
750 |
751 |
752 |
753 |
754 |
755 |
756 |
757 |
758 |
759 |
760 |
761 |
762 |
763 |
764 |
765 |
766 |
767 |
768 |
769 |
770 |
771 |
772 |
773 |
774 |
775 |
776 |
777 |
778 |
779 |
780 |
781 |
782 |
783 |
784 |
785 |
786 |
787 |
788 |
789 |
790 |
791 |
792 |
793 |
794 |
795 |
796 |
797 |
798 |
799 |
800 |
801 |
802 |
803 |
804 |
805 |
806 |
807 |
808 |
809 |
810 |
811 |
812 |
813 |
814 |
815 |
816 |
817 |
818 |
819 |
820 |
821 |
822 |
823 |
824 |
825 |
826 |
827 |
828 |
829 |
830 |
831 |
832 |
833 |
834 |
835 |
836 |
837 |
838 |
839 |
840 |
841 |
842 |
843 |
844 |
845 |
846 |
847 |
848 |
849 |
850 |
851 |
852 |
853 |
854 |
855 |
856 |
857 |
858 |
859 |
860 |
861 |
862 |
863 |
864 |
865 |
866 |
867 |
868 |
869 |
870 |
871 |
872 |
873 |
874 |
875 |
876 |
877 |
878 |
879 |
880 |
881 |
882 |
883 |
884 |
885 |
886 |
887 |
888 |
889 |
890 |
891 |
892 |
893 |
894 |
895 |
896 |
897 |
898 |
899 |
900 |
901 |
902 |
903 |
904 |
905 |
906 |
907 |
908 |
909 |
910 |
911 |
912 |
913 |
914 |
915 |
916 |
917 |
918 |
919 |
920 |
921 |
922 |
923 |
924 |
925 |
926 |
927 |
928 |
929 |
930 |
931 |
932 |
933 |
934 |
935 |
936 |
937 |
938 |
939 |
940 |
941 |
942 | getglobal(this:GetName() .. "Background"):SetVertexColor(0.0, 0.0, 0.75, 0.5)
943 | getglobal(this:GetName() .. "SparkTexture"):SetVertexColor(0.0, 0.0, 0.75, 1)
944 |
945 |
946 |
947 |
948 |
949 |
950 |
951 |
952 |
953 |
954 |
955 |
956 |
957 |
958 |
959 |
960 |
961 |
962 |
963 |
964 |
965 |
982 |
983 |
984 |
985 |
986 |
987 |
988 |
989 |
990 |
991 |
992 |
993 |
994 |
995 |
996 |
997 |
998 |
999 |
1000 |
1001 |
1002 |
1003 |
1004 |
1005 |
1006 |
1007 |
1008 |
1009 |
1010 | this.Sort = "Category"
1011 |
1012 |
1013 | ATSW_SortCheckbox_OnClick()
1014 |
1015 |
1016 |
1017 |
1018 |
1019 |
1020 |
1021 |
1022 |
1023 |
1024 |
1025 |
1026 |
1027 |
1028 |
1029 |
1030 |
1031 |
1032 |
1033 |
1034 |
1035 |
1036 |
1037 |
1038 | this.Sort = "Difficulty"
1039 |
1040 |
1041 | ATSW_SortCheckbox_OnClick()
1042 |
1043 |
1044 |
1045 |
1046 |
1047 |
1048 |
1049 |
1050 |
1051 |
1052 |
1053 |
1054 |
1055 |
1056 |
1057 |
1058 |
1059 |
1060 |
1061 |
1062 |
1063 |
1064 |
1065 |
1066 | this.Sort = "Name"
1067 |
1068 |
1069 | ATSW_SortCheckbox_OnClick()
1070 |
1071 |
1072 |
1073 |
1074 |
1075 |
1076 |
1077 |
1078 |
1079 |
1080 |
1081 |
1082 |
1083 |
1084 |
1085 |
1086 |
1087 |
1088 |
1089 |
1090 |
1091 |
1092 |
1093 |
1094 | this.Sort = "Custom"
1095 |
1096 |
1097 | ATSW_SortCheckbox_OnClick()
1098 |
1099 |
1100 |
1101 |
1102 |
1121 |
1122 |
1123 |
1124 |
1125 |
1126 |
1127 |
1128 |
1129 |
1130 |
1131 |
1132 |
1133 |
1134 |
1135 |
1136 |
1137 |
1138 |
1139 |
1140 |
1141 |
1142 |
1143 |
1144 |
1145 |
1146 |
1147 |
1148 |
1149 |
1150 |
1151 |
1152 |
1153 |
1154 |
1155 |
1156 |
1157 |
1158 |
1159 | this:ClearFocus()
1160 |
1161 |
1162 | this:ClearFocus()
1163 |
1164 |
1165 | local text = this:GetText()
1166 |
1167 | ATSWSearchBox_OnTextChanged(text)
1168 |
1169 | if text == "" then
1170 | ATSWSearchBoxClear:Hide()
1171 | else
1172 | ATSWSearchBoxClear:Show()
1173 | ATSWSearchLabel:Hide()
1174 | ATSWSearchIcon:Hide()
1175 | end
1176 |
1177 |
1178 | local text = this:GetText()
1179 |
1180 | this:HighlightText(0, 0)
1181 |
1182 | if text == "" then
1183 | ATSWSearchLabel:Show()
1184 | ATSWSearchIcon:Show()
1185 | else
1186 | ATSWSearchLabel:Hide()
1187 | ATSWSearchIcon:Hide()
1188 | end
1189 |
1190 |
1191 | this:HighlightText()
1192 | ATSWSearchLabel:Hide()
1193 | ATSWSearchIcon:Hide()
1194 |
1195 |
1196 |
1197 |
1198 |
1199 |
1219 |
1220 |
1221 |
1222 |
1223 |
1224 |
1225 |
1226 |
1227 |
1228 |
1229 |
1230 |
1231 |
1232 |
1233 |
1234 |
1235 |
1236 |
1237 |
1238 |
1239 |
1240 |
1241 |
1242 |
1243 |
1244 |
1245 |
1246 |
1247 |
1248 |
1249 |
1250 |
1251 |
1252 | PlaySound("igMainMenuOption")
1253 | ATSWSearchHelpButton:SetButtonState("PUSHED", true)
1254 |
1255 |
1256 | PlaySound("igMainMenuOptionCheckBoxOn")
1257 | ATSWSearchHelpButton:SetButtonState("NORMAL", false)
1258 |
1259 |
1260 |
1261 |
1262 |
1285 |
1286 |
1287 |
1288 |
1289 |
1290 |
1291 |
1292 |
1293 |
1294 | ATSWSubClassDropDown_OnLoad()
1295 |
1296 |
1297 | ATSWSubClassDropDown_OnShow()
1298 |
1299 |
1300 |
1301 |
1302 |
1303 |
1304 |
1305 |
1306 |
1307 |
1308 |
1309 |
1310 | ATSWInvSlotDropDown_OnLoad()
1311 |
1312 |
1313 | ATSWInvSlotDropDown_OnShow()
1314 |
1315 |
1316 |
1317 |
1318 |
1319 |
1320 |
1321 |
1322 |
1323 |
1324 |
1325 |
1326 |
1327 |
1328 |
1329 |
1330 |
1331 |
1332 |
1333 |
1334 |
1335 |
1336 |
1337 |
1338 |
1339 |
1340 |
1341 |
1342 |
1343 | if ATSWListScrollFrameScrollBar:IsVisible() then
1344 | ATSW_ScrollOffset[ATSW_realm][ATSW_player][ATSW_Profession[ATSW_realm][ATSW_player]] = ATSWListScrollFrameScrollBar:GetValue()
1345 | FauxScrollFrame_OnVerticalScroll(ATSW_TRADESKILL_HEIGHT, ATSW_UpdateRecipes)
1346 | end
1347 |
1348 |
1349 |
1350 |
1351 |
1414 |
1415 |
1449 |
1450 |
1469 |
1470 |
1471 |
1472 |
1473 |
1474 |
1475 |
1476 |
1477 |
1478 |
1479 |
1480 |
1481 |
1482 |
1483 |
1484 |
1485 |
1486 |
1487 |
1488 |
1489 |
1490 |
1491 |
1492 |
1493 |
1494 |
1495 |
1496 |
1497 |
1498 |
1499 |
1500 |
1521 |
1522 |
1539 |
1540 |
1558 |
1559 |
1560 |
1561 |
1562 |
1563 |
1564 |
1565 |
1566 |
1567 |
1568 |
1569 |
1570 |
1571 |
1572 |
1573 |
1574 |
1575 |
1576 |
1577 |
1578 |
1579 |
1580 |
1581 |
1582 |
1583 |
1584 |
1585 |
1586 |
1587 |
1588 |
1589 |
1590 |
1591 |
1592 |
1593 |
1594 |
1595 |
1596 | this:ClearFocus()
1597 |
1598 |
1599 | this:ClearFocus()
1600 |
1601 |
1602 | ATSW_UpdateCreateButton()
1603 |
1604 | if this:GetNumber() == 0 then
1605 | ATSWAmountBox:SetText(ATSW_ALL)
1606 | elseif this:GetNumber()>100 then
1607 | this:SetNumber(100)
1608 | end
1609 |
1610 | ATSW_Amount[ATSW_realm][ATSW_player][ATSW_Profession[ATSW_realm][ATSW_player]] = this:GetNumber()
1611 |
1612 |
1613 | this:HighlightText(0, 0)
1614 |
1615 |
1616 | this:HighlightText()
1617 |
1618 |
1619 | if arg1 == 1 then --Up
1620 | ATSWFrameIncrement_OnClick()
1621 | elseif arg1 == -1 then --Down
1622 | ATSWFrameDecrement_OnClick()
1623 | end
1624 |
1625 |
1626 | SetCursor("Interface\\AddOns\\AdvancedTradeSkillWindow2\\Textures\\MouseWheelCursor")
1627 |
1628 |
1629 | ResetCursor()
1630 |
1631 |
1632 |
1633 |
1634 |
1635 |
1665 |
1666 |
1667 |
1668 |
1669 |
1670 |
1671 |
1672 |
1673 |
1674 |
1675 |
1676 |
1677 |
1678 |
1679 |
1680 |
1681 |
1682 |
1683 |
1684 |
1685 |
1686 |
1687 |
1688 |
1689 |
1690 |
1691 |
1692 |
1693 |
1694 |
1695 |
1696 |
1697 |
1698 |
1699 |
1700 |
1701 |
1702 |
1703 |
1704 |
1705 |
1706 |
1707 |
1708 |
1709 |
1710 |
1711 |
1712 |
1713 |
1714 |
1715 |
1716 |
1717 | ATSW_UpdateTaskListScroll()
1718 | FauxScrollFrame_OnVerticalScroll(ATSW_TRADESKILL_HEIGHT-1, ATSW_UpdateTasks)
1719 |
1720 |
1721 | ATSW_UpdateTaskListScroll()
1722 |
1723 |
1724 |
1725 |
1726 |
1727 |
1728 | ATSW_OnLoad()
1729 |
1730 |
1731 | ATSW_OnEvent()
1732 |
1733 |
1734 | if not ATSW_SwitchingFrames then
1735 | CloseATSW()
1736 | end
1737 |
1738 |
1739 |
1740 |
1741 |
1742 |
1743 |
1744 | ATSW_OnUpdate(arg1)
1745 |
1746 |
1747 |
1748 |
1749 |
1759 |
1760 |
1778 |
1779 |
1791 |
1792 |
1801 |
1802 |
1803 |
1804 |
1805 |
1806 |
1807 |
1808 |
1809 |
1810 |
1811 |
1812 |
1813 |
1814 |
1815 |
1816 |
1817 |
1818 |
1819 |
1820 |
1821 |
1822 |
1823 |
1824 |
1825 |
1826 |
1827 |
1828 |
1829 |
1830 |
1831 |
1832 |
1833 |
1834 |
1835 |
1836 |
1837 |
1838 |
1839 |
1840 |
1841 |
1842 |
1843 |
1844 |
1845 |
1846 |
1847 |
1848 |
1849 |
1850 |
1851 |
1852 |
1853 |
1854 |
1855 |
1856 |
1857 |
1858 |
1859 |
1860 |
1861 |
1862 |
1863 |
1864 |
1865 |
1866 |
1867 |
1868 |
1869 |
1870 |
1871 |
1872 |
1873 |
1874 |
1875 |
1876 |
1877 |
1878 |
1879 |
1880 |
1881 |
1882 |
1883 |
1884 |
1885 |
1886 |
1887 |
1888 |
1889 |
1890 |
1891 |
1892 |
1893 |
1894 |
1895 |
1896 |
1897 |
1898 |
1899 |
1900 |
1901 |
1902 |
1903 |
1904 |
1905 |
1906 |
1907 |
1908 |
1909 |
1910 |
1911 |
1912 |
1913 |
1914 |
1915 |
1916 |
1917 |
1918 |
1919 |
1920 |
1921 |
1922 |
1923 |
1924 |
1925 |
1926 |
1927 |
1928 |
1929 |
1930 |
1931 |
1932 |
1933 |
1934 |
1941 |
1942 |
1943 |
1944 | PlaySound("igMainMenuOption")
1945 | ATSWReagentsButton:SetButtonState("PUSHED", true)
1946 |
1947 |
1948 | PlaySound("igMainMenuOptionCheckBoxOn")
1949 | ATSWReagentsButton:SetButtonState("NORMAL", false)
1950 |
1951 |
1952 |
1953 |
1954 |
1955 |
1956 |
1957 |
1958 |
1959 |
1960 |
1961 |
1962 |
1963 |
1964 |
1965 |
1966 |
1967 |
1968 |
1969 |
1970 |
1971 |
1972 |
1973 |
1974 |
1975 |
1976 |
1977 |
1978 |
1979 |
1980 |
1981 |
1982 |
1983 |
1984 |
1985 |
1986 |
1987 |
1988 |
1989 |
1990 |
1991 |
1992 |
1993 |
1994 |
1995 |
1996 |
1997 |
1998 |
1999 |
2000 |
2001 |
2002 |
2003 |
2004 |
2005 |
2006 |
2007 |
2008 |
2009 |
2010 |
2011 |
2012 |
2013 |
2014 |
2015 |
2016 |
2017 |
2018 | if this:GetChecked() then
2019 | PlaySound("igMainMenuOptionCheckBoxOn")
2020 | ATSW_Unified=true
2021 | ATSWOFSeparateButton:SetChecked(false)
2022 | end
2023 |
2024 | if ATSWFrame:IsVisible() then
2025 | ATSW_UpdateRecipes()
2026 | end
2027 |
2028 | this:SetChecked()
2029 |
2030 |
2031 |
2032 |
2033 |
2034 |
2035 |
2036 |
2037 |
2038 |
2039 |
2040 |
2041 |
2042 |
2043 |
2044 |
2045 |
2046 |
2047 |
2048 |
2049 |
2050 |
2051 |
2052 |
2053 |
2054 |
2055 |
2056 |
2057 |
2058 |
2059 |
2060 |
2061 |
2062 | if this:GetChecked() then
2063 | PlaySound("igMainMenuOptionCheckBoxOn")
2064 | ATSW_Unified=false
2065 | ATSWOFUnifiedButton:SetChecked(false)
2066 | end
2067 |
2068 | if ATSWFrame:IsVisible() then
2069 | ATSW_UpdateRecipes()
2070 | end
2071 |
2072 | this:SetChecked()
2073 |
2074 |
2075 |
2076 |
2077 |
2078 |
2079 | this:SetBackdropBorderColor (0.4, 0.4, 0.4)
2080 | this:SetBackdropColor (0.15, 0.15, 0.15)
2081 | getglobal(this:GetName() .. "Title"):SetText(ATSWOFTOTALDISPLAY_TEXT)
2082 |
2083 |
2084 |
2085 |
2086 |
2087 |
2088 |
2089 |
2090 |
2091 |
2092 |
2093 |
2094 |
2095 |
2096 |
2097 |
2098 |
2099 |
2100 |
2101 |
2102 |
2103 |
2104 |
2105 |
2106 |
2107 |
2108 |
2109 |
2110 |
2111 |
2112 |
2113 |
2114 | if this:GetChecked() then
2115 | PlaySound("igMainMenuOptionCheckBoxOn")
2116 | ATSW_ConsiderBank=true
2117 | else
2118 | PlaySound("igMainMenuOptionCheckBoxOff")
2119 | ATSW_ConsiderBank=false
2120 | end
2121 |
2122 | if ATSWFrame:IsVisible() then
2123 | ATSW_UpdateRecipes()
2124 | end
2125 |
2126 |
2127 |
2128 |
2129 |
2130 |
2131 |
2132 |
2133 |
2134 |
2135 |
2136 |
2137 |
2138 |
2139 |
2140 |
2141 |
2142 |
2143 |
2144 |
2145 |
2146 |
2147 | if this:GetChecked() then
2148 | PlaySound("igMainMenuOptionCheckBoxOn")
2149 | ATSW_ConsiderAlts=true
2150 | else
2151 | PlaySound("igMainMenuOptionCheckBoxOff")
2152 | ATSW_ConsiderAlts=false
2153 | end
2154 |
2155 | if ATSWFrame:IsVisible() then
2156 | ATSW_UpdateRecipes()
2157 | end
2158 |
2159 |
2160 |
2161 |
2162 |
2163 |
2164 |
2165 |
2166 |
2167 |
2168 |
2169 |
2170 |
2171 |
2172 |
2173 |
2174 |
2175 |
2176 |
2177 |
2178 |
2179 |
2180 | if this:GetChecked() then
2181 | PlaySound("igMainMenuOptionCheckBoxOn")
2182 | ATSW_ConsiderMerchants=true
2183 | else
2184 | PlaySound("igMainMenuOptionCheckBoxOff")
2185 | ATSW_ConsiderMerchants=false
2186 | end
2187 |
2188 | if ATSWFrame:IsVisible() then
2189 | ATSW_UpdateRecipes()
2190 | end
2191 |
2192 |
2193 |
2194 |
2195 |
2196 |
2197 | this:SetBackdropBorderColor (0.4, 0.4, 0.4)
2198 | this:SetBackdropColor (0.15, 0.15, 0.15)
2199 | getglobal(this:GetName() .. "Title"):SetText(ATSWOFTOTALINCLUDE_TEXT)
2200 |
2201 |
2202 |
2203 |
2204 |
2205 |
2206 |
2207 |
2208 |
2209 |
2210 |
2211 |
2212 |
2213 |
2214 |
2215 |
2216 |
2217 |
2218 |
2219 |
2220 |
2221 |
2222 |
2223 |
2224 | if this:GetChecked() then
2225 | PlaySound("igMainMenuOptionCheckBoxOn")
2226 | ATSW_AutoBuy=true
2227 | else
2228 | PlaySound("igMainMenuOptionCheckBoxOff")
2229 | ATSW_AutoBuy=false
2230 | end
2231 |
2232 | if ATSWFrame:IsVisible() then
2233 | ATSW_UpdateRecipes()
2234 | end
2235 |
2236 |
2237 |
2238 |
2239 |
2240 |
2241 |
2242 |
2243 |
2244 |
2245 |
2246 |
2247 |
2248 |
2249 |
2250 |
2251 |
2252 |
2253 |
2254 |
2255 |
2256 |
2257 |
2258 |
2259 | if this:GetChecked() then
2260 | PlaySound("igMainMenuOptionCheckBoxOn")
2261 | ATSW_RecipeTooltip=true
2262 | else
2263 | PlaySound("igMainMenuOptionCheckBoxOff")
2264 | ATSW_RecipeTooltip=false
2265 | end
2266 |
2267 |
2268 |
2269 |
2270 |
2271 |
2272 |
2273 |
2274 |
2275 |
2276 |
2277 |
2278 |
2279 |
2280 |
2281 |
2282 |
2283 |
2284 |
2285 |
2286 |
2287 |
2288 |
2289 |
2290 | if this:GetChecked() then
2291 | PlaySound("igMainMenuOptionCheckBoxOn")
2292 | ATSW_DisplayShoppingList=true
2293 | else
2294 | PlaySound("igMainMenuOptionCheckBoxOff")
2295 | ATSW_DisplayShoppingList=false
2296 | end
2297 |
2298 |
2299 |
2300 |
2301 |
2302 |
2303 |
2304 |
2305 |
2306 |
2307 |
2308 |
2309 |
2310 |
2311 |
2312 |
2313 |
2314 |
2315 |
2316 |
2317 |
2318 |
2319 |
2320 |
2321 |
2322 |
2323 |
2324 |
2325 |
2326 |
2327 |
2328 |
2329 |
2330 |
2331 |
2332 |
2333 |
2334 |
2335 |
2336 |
2337 |
2338 |
2339 |
2340 |
2341 |
2342 |
2343 |
2344 |
2345 |
2346 |
2347 |
2348 |
2349 |
2350 |
2351 |
2352 |
2353 |
2354 |
2355 |
2356 |
2357 |
2358 |
2359 |
2360 |
2361 |
2362 |
2363 |
2364 |
2365 |
2366 |
2367 |
2368 |
2369 | this:SetBackdropBorderColor (0.4, 0.4, 0.4)
2370 | this:SetBackdropColor (0.15, 0.15, 0.15)
2371 | getglobal(this:GetName() .. "Title"):SetText(ATSWOFADDONCOMPAT_TEXT)
2372 |
2373 |
2374 |
2375 |
2376 |
2377 |
2378 |
2379 |
2380 |
2381 |
2382 |
2383 |
2384 |
2385 |
2386 |
2387 |
2388 |
2389 |
2390 |
2391 |
2392 |
2393 |
2394 | local AtlasLootTexturePath = "Interface\\AddOns\\AdvancedTradeSkillWindow2\\Textures\\Options\\AtlasLootMinimap"
2395 | local Name = getglobal(this:GetName() .. "Name")
2396 |
2397 | Name:SetNormalTexture(AtlasLootTexturePath)
2398 | Name:SetText("AtlasLoot")
2399 | Name:Disable()
2400 |
2401 | getglobal(this:GetName() .. "Effect"):SetTexture(AtlasLootTexturePath .. "Effect")
2402 | getglobal(this:GetName() .. "Effect"):SetPoint("CENTER", 165, -70)
2403 | getglobal(this:GetName() .. "EffectDescription"):SetText(ATSWOFALDESCRIPTION)
2404 |
2405 |
2406 | local Version = getglobal(this:GetName() .. "NameVersion")
2407 | local Installed = getglobal(this:GetName() .. "Installed")
2408 |
2409 | if ATSW_CheckForAtlasLootLoaded() then
2410 | Version:SetText(GetAddOnMetadata("AtlasLoot", "Version"))
2411 | this:SetAlpha(1)
2412 | Installed:Show()
2413 | else
2414 | Version:SetText("")
2415 | this:SetAlpha(0.4)
2416 | Installed:Hide()
2417 | end
2418 |
2419 |
2420 |
2421 |
2422 |
2423 |
2424 | this:SetBackdropBorderColor (0.4, 0.4, 0.4)
2425 | this:SetBackdropColor (0.25, 0.25, 0.25)
2426 |
2427 |
2428 |
2429 |
2430 |
2431 |
2432 | PlaySound("igMainMenuOpen")
2433 | if ATSWFrame:IsVisible() or ATSWCSFrame:IsVisible() then
2434 | CloseATSW()
2435 | end
2436 |
2437 |
2438 | HideUIPanel(ATSWConfigFrame)
2439 | PlaySound("igMainMenuQuit")
2440 |
2441 |
2442 |
2443 |
2444 |
2445 |
2446 |
2447 |
2448 |
2449 |
2450 |
2451 |
2452 |
2453 |
2454 |
2455 |
2456 |
2457 |
2458 |
2459 |
2460 |
2461 |
2462 |
2463 |
2464 |
2465 |
2466 |
2467 |
2468 |
2469 |
2470 |
2471 |
2472 |
2473 |
2474 |
2475 |
2476 |
2477 |
2478 |
2479 |
2480 |
2481 |
2482 |
2483 |
2484 |
2485 |
2486 |
2487 |
2488 |
2489 |
2490 |
2491 |
2492 |
2493 |
2494 |
2495 |
2496 |
2497 |
2498 |
2499 |
2500 |
2501 |
2502 |
2503 |
2504 |
2505 |
2506 |
2507 |
2508 |
2509 |
2510 |
2511 |
2512 |
2513 |
2514 |
2515 |
2516 |
2517 |
2518 |
2519 |
2520 |
2521 |
2522 |
2523 |
2524 |
2525 |
2526 |
2527 |
2528 |
2529 |
2530 |
2531 |
2532 |
2533 |
2534 |
2535 |
2536 |
2537 |
2538 |
2539 |
2540 |
2541 |
2542 |
2543 |
2544 |
2545 |
2546 |
2547 |
2548 |
2549 |
2550 |
2551 |
2552 |
2553 |
2554 |
2555 |
2556 |
2557 |
2558 |
2559 |
2560 |
2561 |
2562 |
2563 |
2564 |
2565 |
2566 |
2567 |
2568 |
2569 |
2570 |
2571 |
2572 |
2573 |
2574 |
2575 |
2576 |
2577 |
2578 |
2579 |
2580 |
2581 |
2582 |
2583 |
2584 |
2585 |
2586 |
2587 |
2588 |
2589 |
2590 |
2591 |
2592 |
2593 |
2594 |
2595 |
2596 |
2597 |
2598 |
2599 |
2600 |
2601 |
2602 |
2603 |
2604 |
2605 |
2606 |
2607 |
2608 |
2609 |
2610 |
2611 |
2612 |
2613 |
2614 |
2615 |
2616 |
2617 |
2618 |
2619 |
2620 |
2621 |
2622 |
2623 |
2624 |
2625 |
2626 |
2627 |
2628 |
2629 |
2630 |
2631 |
2632 |
2633 |
2634 |
2635 |
2636 |
2637 |
2638 |
2639 |
2640 |
2641 |
2642 |
2643 |
2644 |
2645 |
2646 |
2647 |
2648 |
2649 |
2650 |
2651 |
2652 |
2653 |
2654 |
2655 |
2656 |
2657 |
2658 |
2659 |
2660 |
2661 |
2662 |
2663 |
2664 |
2665 |
2666 |
2667 |
2668 |
2669 |
2670 |
2671 |
2672 |
2673 |
2674 |
2675 |
2676 |
2677 |
2678 |
2679 |
2680 |
2681 |
2682 |
2683 |
2684 |
2685 |
2686 |
2687 |
2688 |
2689 |
2690 |
2691 |
2692 |
2693 |
2694 |
2695 |
2696 |
2697 |
2698 |
2699 |
2700 |
2701 |
2702 |
2703 |
2704 |
2705 |
2706 |
2707 |
2708 |
2709 |
2710 |
2711 |
2712 |
2713 |
2714 |
2715 |
2716 |
2717 |
2718 |
2719 |
2720 |
2721 |
2722 |
2723 |
2724 |
2725 |
2726 |
2727 |
2728 |
2729 |
2730 |
2731 |
2732 |
2733 |
2734 |
2735 |
2736 |
2737 |
2738 |
2739 |
2740 |
2741 |
2742 |
2743 |
2744 |
2745 |
2746 |
2747 |
2748 |
2749 |
2750 |
2751 |
2752 |
2753 |
2754 |
2755 |
2756 |
2757 |
2758 |
2759 |
2760 |
2761 |
2762 |
2763 |
2764 |
2765 |
2766 |
2767 |
2768 |
2769 |
2770 |
2771 |
2772 |
2773 |
2774 |
2775 |
2776 |
2777 |
2778 |
2779 |
2780 |
2781 |
2782 |
2783 |
2784 |
2785 |
2786 |
2787 |
2788 |
2789 |
2790 |
2791 |
2792 |
2793 |
2794 |
2795 |
2796 |
2797 |
2798 |
2799 |
2800 |
2801 |
2802 |
2803 |
2804 |
2805 |
2806 |
2807 |
2808 |
2809 |
2810 |
2811 |
2812 |
2813 |
2814 |
2815 |
2816 |
2817 |
2818 |
2819 |
2820 |
2821 |
2822 |
2823 |
2824 |
2825 |
2826 |
2827 |
2828 |
2829 |
2830 |
2831 |
2832 |
2833 |
2834 |
2835 |
2836 |
2837 |
2838 |
2839 |
2840 |
2841 |
2842 |
2843 |
2844 |
2845 |
2846 |
2847 |
2848 |
2849 |
2850 |
2851 |
2852 |
2853 |
2854 |
2855 |
2856 |
2857 |
2858 |
2859 |
2860 |
2861 |
2862 |
2863 |
2864 |
2865 |
2866 |
2867 |
2868 |
2869 |
2870 |
2871 |
2872 |
2873 |
2874 |
2875 |
2876 |
2877 |
2878 |
2879 |
2880 |
2881 |
2882 |
2883 |
2884 |
2885 |
2886 |
2887 |
2888 |
2889 |
2890 |
2891 |
2892 |
2893 |
2894 |
2895 |
2896 |
2897 |
2898 |
2899 |
2900 |
2901 |
2902 |
2903 |
2904 |
2905 |
2906 |
2907 |
2908 |
2909 |
2910 |
2911 |
2912 |
2913 |
2914 |
2915 |
2916 |
2917 |
2918 |
2919 |
2920 |
2921 |
2922 |
2923 |
2924 |
2925 |
2926 |
2927 |
2928 |
2929 |
2930 |
2931 |
2932 |
2933 |
2934 |
2935 |
2936 |
2937 |
2938 |
2939 |
2940 |
2941 |
2942 |
2943 |
2944 |
2945 |
2946 |
2947 |
2948 | this:SetScale(GetCVar("uiscale"))
2949 |
2950 |
2951 |
2952 |
2953 |
2954 |
2955 |
2956 |
2980 |
3004 |
3028 |
3029 |
3030 |
3031 | this.small = 1
3032 | this.info = {}
3033 | this.info.collapse = true
3034 | this.info.showSmallerCoins = false
3035 |
3036 |
3037 |
3038 |
3039 |
3040 |
3041 |
3042 |
3043 |
3044 |
3045 |
3046 |
3047 |
3048 |
3049 |
3050 |
3051 |
3052 |
3053 |
3054 |
3055 |
3056 |
3057 |
3058 |
3059 |
3060 |
3061 |
3062 |
3063 |
3064 |
3065 |
3066 |
3086 |
3087 |
3088 |
3089 |
3090 |
3091 |
3092 |
3093 |
3094 |
3095 |
3096 |
3097 |
3098 |
3099 |
3135 |
3142 |
3147 |
3160 |
3176 |
3177 |
3178 |
3179 | getglobal(this:GetName() .. "ItemHighlight"):SetDesaturated(true)
3180 |
3181 |
3182 |
3183 |
3184 |
3185 |
3186 |
3187 |
3188 |
3189 |
3190 |
3191 |
3192 |
3193 |
3194 |
3195 |
3196 |
3197 |
3198 |
3199 |
3200 |
3201 |
3202 |
3203 |
3204 |
3205 |
3206 |
3207 |
3208 |
3209 |
3210 |
3211 |
3212 |
3213 |
3214 |
3215 |
3216 |
3217 |
3218 |
3219 |
3220 |
3221 |
3222 |
3223 |
3224 |
3225 |
3226 |
3227 |
3228 |
3229 |
3230 |
3231 |
3232 |
3233 |
3234 |
3235 |
3236 |
3237 |
3238 |
3239 |
3240 |
3241 |
3242 |
3243 |
3244 |
3245 |
3246 |
3247 |
3248 |
3249 |
3250 |
3251 |
3252 |
3253 |
3254 |
3255 |
3256 |
3257 |
3258 |
3259 |
3260 |
3261 |
3262 |
3263 |
3264 |
3265 |
3266 |
3267 |
3268 |
3269 |
3270 |
3271 |
3272 |
3273 |
3274 |
3275 |
3276 |
3277 |
3278 |
3279 |
3280 |
3281 |
3282 |
3283 |
3284 |
3285 |
3286 |
3287 |
3288 |
3289 |
3290 |
3291 |
3292 |
3293 |
3294 |
3295 |
3296 |
3297 |
3298 |
3299 |
3300 |
3301 |
3302 |
3303 |
3304 |
3305 |
3306 |
3307 |
3308 |
3309 |
3310 |
3311 |
3312 |
3313 |
3314 |
3315 |
3316 |
3317 |
3318 |
3319 |
3320 |
3321 |
3322 | FauxScrollFrame_OnVerticalScroll(ATSW_TRADESKILL_HEIGHT, ATSW_UpdateAuctionList)
3323 |
3324 |
3325 |
3326 |
3327 |
3328 |
3329 |
3330 |
3331 |
3332 | this:SetOwner(UIParent, "ANCHOR_NONE")
3333 |
3334 |
3335 |
3336 |
--------------------------------------------------------------------------------
/Bindings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | ATSW_ShowFrame()
4 |
5 |
--------------------------------------------------------------------------------
/CustomSorting.lua:
--------------------------------------------------------------------------------
1 | local player = UnitName("player")
2 | local realm = GetRealmName()
3 |
4 | ATSW_CUSTOM_RECIPES_DISPLAYED = 23
5 | ATSW_CUSTOM_CATEGORIES_DISPLAYED = 19
6 |
7 | ATSW_CSSelected = {}
8 | ATSW_CSSelected[realm] = {}
9 | ATSW_CSSelected[realm][player] = {}
10 | ATSW_CSOpenCategory = {}
11 | ATSW_CSOpenCategory[realm] = {}
12 | ATSW_CSOpenCategory[realm][player] = {}
13 | ATSW_CustomCategories = {}
14 | ATSW_CustomCategories[realm] = {}
15 | ATSW_CustomCategories[realm][player] = {}
16 |
17 | ATSWCS_PreviousSkill = nil
18 |
19 | local function TransformSettings(Table)
20 | ATSW_TransformSettings(Table)
21 | end
22 |
23 | local function Profession()
24 | return ATSW_Profession[realm][player]
25 | end
26 |
27 | local function RecipesSize()
28 | TransformSettings(ATSW_RecipesSize)
29 |
30 | return ATSW_RecipesSize[realm][player][Profession()] or 0
31 | end
32 |
33 | local function CategorySelected()
34 | TransformSettings(ATSW_CSOpenCategory)
35 |
36 | return ATSW_CSOpenCategory[realm][player][Profession()]
37 | end
38 |
39 | local function GetSelected()
40 | TransformSettings(ATSW_CSSelected)
41 |
42 | return ATSW_CSSelected[realm][player][Profession()] or ""
43 | end
44 |
45 | local function SetSelected(Value)
46 | if Profession() == nil then return end
47 |
48 | ATSW_CSSelected[realm][player][Profession()] = Value or ""
49 | end
50 |
51 | ATSW_CustomRecipes = {}
52 | ATSW_CustomRecipesSize = 0
53 |
54 | local function CustomRecipes()
55 | return ATSW_CustomRecipes
56 | end
57 |
58 | local function CustomRecipesSize()
59 | return ATSW_CustomRecipesSize or 0
60 | end
61 |
62 | local function SetCustomRecipesSize(Value)
63 | if Profession() then
64 | ATSW_CustomRecipesSize = Value
65 | end
66 | end
67 |
68 | local function CustomRecipe(I)
69 | return CustomRecipes()[I]
70 | end
71 |
72 | local function AddCustomRecipe(Index)
73 | local Size = CustomRecipesSize() + 1
74 |
75 | if Size > table.getn(ATSW_CustomRecipes) then
76 | for I = 1, ATSW_TABLE_CREATION_SIZE do
77 | table.insert(ATSW_CustomRecipes, nil)
78 | end
79 | end
80 |
81 | CustomRecipes()[Size] = ATSW_Recipe(Index)
82 |
83 | SetCustomRecipesSize(Size)
84 | end
85 |
86 | local function SetVisible(Frame, State)
87 | if State then
88 | Frame:Show()
89 | else
90 | Frame:Hide()
91 | end
92 | end
93 |
94 | local function GetCategoryTexture(Expanded)
95 | return "Interface\\Buttons\\UI-" .. (Expanded and "Min" or "Pl") .. "usButton-Up"
96 | end
97 |
98 | local function IsExpanded(Name)
99 | return not ATSW_IsContracted(Name)
100 | end
101 |
102 | local function Categories()
103 | TransformSettings(ATSW_CustomCategories)
104 |
105 | return ATSW_CustomCategories[realm][player][Profession()]
106 | end
107 |
108 | local function CategoriesSize()
109 | return table.getn(Categories())
110 | end
111 |
112 | local function Category(I)
113 | return Categories()[I]
114 | end
115 |
116 | local function Item(I, J)
117 | return Category(I).Items[J]
118 | end
119 |
120 | local function SetCategorySelected(Value)
121 | if Profession() == nil then return end
122 |
123 | ATSW_CSOpenCategory[realm][player][Profession()] = Value
124 |
125 | if Value > 0 then
126 | SetSelected(Category(Value).Name)
127 | else
128 | SetSelected()
129 | end
130 | end
131 |
132 | local function ItemsSize(C)
133 | return table.getn(Category(C).Items)
134 | end
135 |
136 | local function GetCategoryItemByItemName(Name)
137 | for C = 1, CategoriesSize() do
138 | for I = 1, ItemsSize(C) do
139 | if Item(C, I).Name .. ATSW_SubNameToString(Item(C, I).SubName) == Name then
140 | return C, I
141 | end
142 | end
143 | end
144 | end
145 |
146 | local function CategoryExist(Name)
147 | if CategoriesSize() == 0 then return false end
148 |
149 | for C = 1, CategoriesSize() do
150 | if Category(C).Name == Name then
151 | return C
152 | end
153 | end
154 | end
155 |
156 | local function GetItemType(Name)
157 | local Type = "item"
158 | local Name = Name or GetSelected()
159 |
160 | for I = 1, CategoriesSize() do
161 | if Category(I).Name == Name then
162 | Type = "header"
163 |
164 | break
165 | end
166 | end
167 |
168 | return Type
169 | end
170 |
171 | local function IsFirst(Name)
172 | if GetItemType(Name) == "header" then
173 | return Category(1).Name == Name
174 | else
175 | local C = GetCategoryItemByItemName(Name)
176 |
177 | if C then
178 | return Item(C, 1).Name .. ATSW_SubNameToString(Item(C, 1).SubName) == Name
179 | end
180 | end
181 | end
182 |
183 | local function IsLast(Name)
184 | if GetItemType(Name) == "header" then
185 | return Category(CategoriesSize()).Name == Name
186 | else
187 | local C = GetCategoryItemByItemName(Name)
188 |
189 | if C then
190 | return Item(C, ItemsSize(C)).Name .. ATSW_SubNameToString(Item(C, ItemsSize(C)).SubName) == Name
191 | end
192 | end
193 | end
194 |
195 | function ATSWCS_OnLoad()
196 | for R = 1, ATSW_CUSTOM_RECIPES_DISPLAYED do
197 | local B = CreateFrame("Button", "ATSWCSRecipe" .. R, ATSWCSFrame, "ATSWCSRecipeButtonTemplate")
198 |
199 | if R == 1 then
200 | B:SetPoint("TOPLEFT", ATSWCSRecipesListScrollFrame, "TOPLEFT", 0, -2)
201 | else
202 | B:SetPoint("TOPLEFT", "ATSWCSRecipe" .. R - 1, "BOTTOMLEFT")
203 | end
204 | end
205 |
206 | for C = 1, ATSW_CUSTOM_CATEGORIES_DISPLAYED do
207 | local F = CreateFrame("Frame", "ATSWCSCategory" .. C, ATSWCSFrame, "ATSWCSCategoryFrame")
208 |
209 | if C == 1 then
210 | F:SetPoint("TOPLEFT", ATSWCSCategoriesListScrollFrame, "TOPLEFT")
211 | else
212 | F:SetPoint("TOPLEFT", "ATSWCSCategory" .. C - 1, "BOTTOMLEFT")
213 | end
214 | end
215 |
216 | ATSWCSFrameCloseButton:GetNormalTexture():SetTexCoord(0.20, 0.8, 0.2, 0.8)
217 | ATSWCSFrameCloseButton:GetPushedTexture():SetTexCoord(0.20, 0.8, 0.2, 0.8)
218 |
219 | getglobal("ATSWCSFrameDelete"):GetNormalTexture():SetTexCoord(0.2, 0.8, 0.2, 0.8)
220 | getglobal("ATSWCSFrameDelete"):GetPushedTexture():SetTexCoord(0.2, 0.8, 0.2, 0.8)
221 |
222 | for I = 1, ATSW_CUSTOM_RECIPES_DISPLAYED do
223 | getglobal("ATSWCSRecipe"..I.."Highlight"):SetDesaturated(true)
224 | end
225 |
226 | local Color = ATSWTypeColor["header"]
227 |
228 | ATSWCSHighlightTexture:SetVertexColor(Color.R, Color.G, Color.B, 0.8)
229 | end
230 |
231 | function ATSWCS_OnShow()
232 | Name = Profession()
233 |
234 | if Name then
235 | ATSWCSFrameTitleText:SetText(ATSWCS_TITLE .. " (" .. Name .. ")")
236 |
237 | --Set Skill Portrait
238 | SetPortraitToTexture(ATSWCSFramePortrait, ATSW_GetProfessionTexture(Name))
239 |
240 | --Fill items list
241 | if ATSWCS_PreviousSkill ~= Profession() then
242 | ATSWCS_FillAllRecipes()
243 |
244 | ATSWCS_PreviousSkill = Profession()
245 | end
246 |
247 | ATSWCSFrame:SetPoint(ATSWFrame:GetPoint())
248 | ATSWCS_Update()
249 | end
250 | end
251 |
252 | function ATSWCSAddButton_OnClick()
253 | local Text = ATSWCSNewCategoryBox:GetText()
254 |
255 | if Text ~= "" then
256 | ATSWCS_AddCategory(Text)
257 | end
258 | end
259 |
260 | function ATSWCSNewCategoryBox_OnTextChanged()
261 | local CatIndex = CategorySelected()
262 | local Text = ATSWCSNewCategoryBox:GetText()
263 | local Exist = false
264 |
265 | if Text ~= "" then
266 | for I = 1, CategoriesSize() do
267 | if Category(I).Name == Text then
268 | Exist = true
269 |
270 | break
271 | end
272 | end
273 |
274 | SetEnabled(ATSWCSAddButton, not Exist)
275 | ATSWCSAddCategoryLabel:Hide()
276 | ATSWCSAddCategoryIcon:Hide()
277 |
278 | SetEnabled(ATSWCSRenameButton, CatIndex and CatIndex > 0 and not CategoryExist(Text))
279 | else
280 | ATSWCSAddButton:Disable()
281 | ATSWCSRenameButton:Disable()
282 | end
283 | end
284 |
285 | function ATSWCSRenameButton_OnClick()
286 | local CatIndex = CategorySelected()
287 | local Text = ATSWCSNewCategoryBox:GetText()
288 |
289 | Category(CatIndex).Name = Text
290 | SetSelected(Text)
291 |
292 | ATSWCSNewCategoryBox:SetText("")
293 |
294 | ATSWCS_Update()
295 | ATSWCS_UpdateATSWFrame()
296 | end
297 |
298 | function ATSWCSRecipeButton_OnClick(Name, SubName, Type, Texture)
299 | local CatIndex = CategorySelected()
300 | local ItemCount = 0
301 | local Position = 0
302 |
303 | if CatIndex == 0 then
304 | return
305 | end
306 |
307 | ItemCount = ItemsSize(CatIndex)
308 |
309 | if ItemCount > 0 and GetSelected() ~= Category(CatIndex).Name then
310 | for I = 1, ItemCount do
311 | local Name = Category(CatIndex).Items[I].Name
312 | local SubName = Category(CatIndex).Items[I].SubName
313 |
314 | if Name .. ATSW_SubNameToString(SubName) == GetSelected() then
315 | Position = I
316 |
317 | break
318 | end
319 | end
320 | end
321 |
322 | table.insert(Category(CatIndex).Items, Position+1, {Name = Name, SubName = SubName, Type = Type, Texture = Texture})
323 |
324 | ATSWCS_Update()
325 | ATSWCS_UpdateATSWFrame()
326 | end
327 |
328 | function ATSWCSCategoryButton_OnClick(Name, Type, Index, CatIndex)
329 | if not Index then
330 | return
331 | end
332 |
333 | local PrevCategory = ""
334 |
335 | if CategorySelected() > 0 then
336 | PrevCategory = Category(CategorySelected()).Name
337 | end
338 |
339 | if CatIndex ~= CategorySelected() then
340 | SetCategorySelected(CatIndex)
341 | end
342 |
343 | if Type == "header" then
344 | if CatIndex == CategorySelected() and Name == PrevCategory and Name == GetSelected() then
345 | ATSW_SwitchCategory(Category(CatIndex).Name)
346 | else
347 | SetCategorySelected(CatIndex)
348 | end
349 | else
350 | if Name == GetSelected() then
351 | table.remove(Category(CatIndex).Items, Index)
352 | SetSelected("")
353 | else
354 | SetSelected(Name)
355 | end
356 | end
357 |
358 | ATSWCS_Update()
359 | ATSWCS_UpdateATSWFrame()
360 | end
361 |
362 | local function PrepareForMove()
363 | local CatIndex = CategorySelected()
364 | local Type = GetItemType(GetSelected())
365 | local Index
366 |
367 | if Type == "header" then
368 | Index = CatIndex
369 | else
370 | _, Index = GetCategoryItemByItemName(GetSelected())
371 | end
372 |
373 | return CatIndex, Index, Type
374 | end
375 |
376 | function ATSWCSFrameMoveUp_OnClick()
377 | local CatIndex, Index, Type = PrepareForMove()
378 |
379 | ATSWCS_Move(CatIndex, Index, Index-1, Type)
380 | end
381 |
382 | function ATSWCSFrameMoveDown_OnClick()
383 | local CatIndex, Index, Type = PrepareForMove()
384 |
385 | ATSWCS_Move(CatIndex, Index, Index+1, Type)
386 | end
387 |
388 | function ATSWCS_Move(CatIndex, From, To, Type)
389 | if Type == "header" then
390 | ATSW_CustomCategories[realm][player][Profession()][To], ATSW_CustomCategories[realm][player][Profession()][From] =
391 | ATSW_CustomCategories[realm][player][Profession()][From], ATSW_CustomCategories[realm][player][Profession()][To]
392 |
393 | if ATSW_CSOpenCategory[realm][player][Profession()] == From then
394 | ATSW_CSOpenCategory[realm][player][Profession()] = To
395 | elseif ATSW_CSOpenCategory[realm][player][Profession()] == To then
396 | ATSW_CSOpenCategory[realm][player][Profession()] = From
397 | end
398 | else
399 | Category(CatIndex).Items[To], Category(CatIndex).Items[From] =
400 | Category(CatIndex).Items[From], Category(CatIndex).Items[To]
401 | end
402 |
403 | ATSWCS_UpdateCategories()
404 | ATSWCS_UpdateATSWFrame()
405 | end
406 |
407 | function ATSWCSFrameRename_OnClick()
408 | ATSWCSNewCategoryBox:SetFocus()
409 | ATSWCSNewCategoryBox:SetText(GetSelected())
410 | end
411 |
412 | function ATSWCS_AddCategory(Name)
413 | local CategoryExists
414 |
415 | for I = 1, CategoriesSize() do
416 | if Category(I).Name == Name then
417 | CategoryExists = true
418 | SetCategorySelected(I)
419 | end
420 | end
421 |
422 | if not CategoryExists then
423 | table.insert(Categories(),
424 | {
425 | Name = Name,
426 | SubName = nil,
427 | Type = "header",
428 | Items = {}
429 | })
430 |
431 | SetCategorySelected(CategoriesSize())
432 | end
433 |
434 | ATSWCS_UpdateCategories()
435 | ATSWCS_UpdateATSWFrame()
436 | end
437 |
438 | function ATSWCSFrameDelete_OnClick()
439 | local Index
440 |
441 | if GetItemType() == "header" then
442 | Index = CategorySelected()
443 |
444 | local ItemsCount = ItemsSize(Index)
445 | local ContractedPos = ATSW_GetContractedPos(Category(Index).Name)
446 |
447 | table.remove(Categories(), Index)
448 | SetCategorySelected(0)
449 |
450 | if ContractedPos then
451 | table.remove(ATSW_Contracted(), ContractedPos)
452 | end
453 |
454 | if ItemsCount > 0 then
455 | ATSWCS_UpdateRecipes()
456 | end
457 | else
458 | _, Index = GetCategoryItemByItemName(GetSelected())
459 | local NewC, NewI = CategorySelected()
460 | local WasLast = IsLast(GetSelected())
461 | table.remove(Category(NewC).Items, Index)
462 |
463 | if ItemsSize(NewC) > 1 then
464 | if WasLast then
465 | NewI = ItemsSize(NewC)
466 | else
467 | NewI = Index
468 | end
469 | elseif ItemsSize(NewC) == 1 then
470 | NewI = 1
471 | end
472 |
473 | if ItemsSize(NewC) > 0 then
474 | SetSelected(Item(NewC, NewI).Name .. ATSW_SubNameToString(Item(NewC, NewI).SubName))
475 | else
476 | SetSelected(Category(NewC).Name)
477 | end
478 |
479 | ATSWCS_UpdateRecipes()
480 | end
481 |
482 | ATSWCS_UpdateCategories()
483 | ATSWCS_UpdateATSWFrame()
484 | end
485 |
486 | function ATSWCS_FillAllRecipes()
487 | local function CompareDifficulty(Left, Right)
488 | return ATSW_TypeToNumber(Left.Type) < ATSW_TypeToNumber(Right.Type)
489 | end
490 |
491 | local function CompareDifficultyUsingExternalData(Left, Right)
492 | return (ATSW_TypeToNumber(Left.Type) == ATSW_TypeToNumber(Right.Type)) and (ATSW_Skill(Left.Name) > ATSW_Skill(Right.Name))
493 | end
494 |
495 | SetCustomRecipesSize(0)
496 |
497 | for I = 1, RecipesSize() do
498 | if ATSW_Recipe(I).Type ~= "header" then
499 | AddCustomRecipe(I)
500 | end
501 | end
502 |
503 | -- Compatibility for AtlasLoot
504 | if ATSW_CheckForAtlasLootLoaded() then
505 | ATSW_Sort(CustomRecipes(), CustomRecipesSize(), CompareDifficulty)
506 | ATSW_Sort(CustomRecipes(), CustomRecipesSize(), CompareDifficultyUsingExternalData)
507 | end
508 | end
509 |
510 | function ATSWCS_IsCategorized(Name, SubName)
511 | for C = 1, CategoriesSize() do
512 | for I = 1, ItemsSize(C) do
513 | local R = Item(C, I)
514 |
515 | local LSubName = SubName
516 |
517 | if LSubName == "" then
518 | LSubName = nil
519 | end
520 |
521 | if R.Name == Name and (LSubName and R.SubName == LSubName or LSubName == nil) then
522 | return true
523 | end
524 | end
525 | end
526 | end
527 |
528 | function ATSWCS_UpdateATSWFrame()
529 | if ATSW_SortBy[realm][player][Profession()] == "Custom" then
530 | ATSW_GetRecipesSorted(true)
531 | ATSW_UpdateRecipes()
532 | end
533 | end
534 |
535 | function ATSWCS_Update()
536 | ATSWCS_UpdateRecipes()
537 | ATSWCS_UpdateCategories()
538 | end
539 |
540 | function ATSWCS_UpdateRecipes()
541 | local IsHighlightSet
542 | local ListSize = CustomRecipesSize()
543 | local ScrollOffset = FauxScrollFrame_GetOffset(ATSWCSRecipesListScrollFrame)
544 |
545 | for I = 1, ATSW_CUSTOM_RECIPES_DISPLAYED do
546 | local Button = getglobal("ATSWCSRecipe" .. I)
547 | local ButtonText = getglobal("ATSWCSRecipe" .. I .. "Text")
548 | local ButtonTexture = getglobal("ATSWCSRecipe" .. I .. "Texture")
549 |
550 | local Index = I + ScrollOffset
551 | local ItemExists = Index <= ListSize
552 | local R
553 |
554 | if ItemExists then
555 | R = CustomRecipe(Index)
556 | ItemExists = not ATSWCS_IsCategorized(R.Name, R.SubName)
557 | end
558 |
559 | SetVisible(Button, ItemExists)
560 |
561 | if ItemExists then
562 | local tWidth = ButtonTexture:GetWidth()
563 | local _, _, _, fsxOfs = Button:GetFontString():GetPoint(0)
564 | local Color = ATSWTypeColor[R.Type]
565 |
566 | Button.Name = R.Name
567 | Button.SubName = R.SubName
568 | Button.Type = R.Type
569 | Button.Texture = R.Texture
570 |
571 | ButtonText: SetWidth (0)
572 | Button: SetText (R.Name .. ATSW_SubNameToString(R.SubName))
573 | Button: SetTextColor (Color.R, Color.G, Color.B)
574 | Button: SetWidth (Button:GetTextWidth() + tWidth + fsxOfs*2)
575 | ButtonTexture: SetTexture (R.Texture)
576 |
577 | local Width = math.min(Button:GetTextWidth() + 20, 280)
578 |
579 | Button: SetWidth (Width)
580 | ButtonText: SetWidth (Width)
581 | end
582 | end
583 |
584 | FauxScrollFrame_Update( ATSWCSRecipesListScrollFrame, ListSize,
585 | ATSW_CUSTOM_RECIPES_DISPLAYED, ATSW_TRADESKILL_HEIGHT)
586 | end
587 |
588 | function ATSWCS_UpdateCategories()
589 | local IsHighlightSet
590 | local ListSize = ATSWCS_GetCategoriesListSize()
591 | local ScrollOffset = FauxScrollFrame_GetOffset(ATSWCSCategoriesListScrollFrame)
592 |
593 | for I = 1, ATSW_CUSTOM_CATEGORIES_DISPLAYED do
594 | local Button = getglobal("ATSWCSCategory" .. I .. "SkillButton")
595 | local ButtonText = getglobal("ATSWCSCategory" .. I .. "SkillButtonText")
596 | local ButtonTexture = getglobal("ATSWCSCategory" .. I .. "SkillButtonTexture")
597 | local ButtonHighlight = getglobal("ATSWCSCategory" .. I .. "SkillButtonHighlight")
598 |
599 | local Index = I + ScrollOffset
600 | local Name, SubName, Type, Texture, Expanded
601 | local ItemExists = Index <= ListSize
602 |
603 | if ItemExists then
604 | CatIndex, Index, Name, SubName, Type, Texture, Expanded = ATSWCS_GetItemFromCategories(Index)
605 | end
606 |
607 | SetVisible(Button, Name)
608 |
609 | if Name then
610 | local point, relativeTo, relativePoint, xOfs, yOfs = Button:GetPoint(0)
611 | local tWidth = ButtonTexture:GetWidth()
612 | local _, _, _, txOfs = ButtonTexture:GetPoint(0)
613 | local _, _, _, fsxOfs = Button:GetFontString():GetPoint(0)
614 | local HighlightSize = 0.2
615 | local BorderSize = 0.071
616 | local Color = ATSWTypeColor[Type]
617 |
618 | xOfs = (Type == "header" and 0 or 20)
619 |
620 | if Type == "header" then
621 | HighlightSize = 0
622 | BorderSize = 0
623 | end
624 |
625 | if Name .. ATSW_SubNameToString(SubName) == GetSelected() then
626 | ATSWCSHighlight:SetPoint("TOP", Button:GetName(), "TOP", 0, 0)
627 | ATSWCSHighlightTexture:SetVertexColor(Color.R, Color.G, Color.B, 0.7)
628 | Button:LockHighlight()
629 | IsHighlightSet = true
630 | else
631 | Button:UnlockHighlight()
632 | end
633 |
634 | Button:GetParent().Index = Index
635 | Button:GetParent().CatIndex = CatIndex
636 | Button:GetParent().Name = Name
637 | Button:GetParent().Type = Type
638 | Button:GetParent().Texture = Texture
639 |
640 | ButtonText: SetWidth (0)
641 | Button: SetText (Name .. ATSW_SubNameToString(SubName))
642 | Button: SetTextColor (Color.R, Color.G, Color.B)
643 | Button: SetPoint (point, relativeTo:GetName(), relativePoint, xOfs, yOfs)
644 | Button: SetWidth (Button:GetTextWidth() + tWidth + fsxOfs*2)
645 | ButtonTexture: SetTexture (Texture)
646 | ButtonTexture: SetTexCoord (0+BorderSize+0.025, 1-BorderSize, 0+BorderSize, 1-BorderSize)
647 | ButtonHighlight: SetTexCoord (0+HighlightSize, 1-HighlightSize, 0+HighlightSize, 1-HighlightSize)
648 | ButtonHighlight: SetDesaturated (Type ~= "header")
649 |
650 | local Width = math.min(Button:GetTextWidth() + 20, 280)
651 |
652 | Button: SetWidth (Width)
653 | ButtonText: SetWidth (Width)
654 | end
655 | end
656 |
657 | SetVisible(ATSWCSHighlight, IsHighlightSet)
658 |
659 | FauxScrollFrame_Update( ATSWCSCategoriesListScrollFrame, ListSize,
660 | ATSW_CUSTOM_CATEGORIES_DISPLAYED, ATSW_TRADESKILL_HEIGHT )
661 |
662 | ATSWCS_UpdateButtons()
663 | end
664 |
665 | function ATSWCS_UpdateButtons()
666 | local function SetLabelColor(Button)
667 | local Label = getglobal(Button:GetName() .. "Label")
668 |
669 | if Button:IsEnabled() == 1 then
670 | Label:SetTextColor(1, 1, 1)
671 | else
672 | Label:SetTextColor(0.5, 0.5, 0.5)
673 | end
674 | end
675 |
676 | local Parent = "ATSWCSFrame"
677 | local Delete = getglobal(Parent .. "Delete")
678 | local MoveDown = getglobal(Parent .. "MoveDown")
679 | local MoveUp = getglobal(Parent .. "MoveUp")
680 | local Rename = getglobal(Parent .. "Rename")
681 |
682 | SetEnabled(Delete, GetSelected() ~= "")
683 | SetEnabled(MoveDown, GetSelected() ~= "" and not IsLast(GetSelected()))
684 | SetEnabled(MoveUp, GetSelected() ~= "" and not IsFirst(GetSelected()))
685 | SetEnabled(Rename, CategorySelected() > 0 and GetSelected() == Category(CategorySelected()).Name)
686 |
687 | SetLabelColor(Delete)
688 | SetLabelColor(MoveDown)
689 | SetLabelColor(MoveUp)
690 | SetLabelColor(Rename)
691 | end
692 |
693 | function ATSWCS_GetCategoriesListSize()
694 | local Size, ListSize = CategoriesSize()
695 |
696 | ListSize = Size
697 |
698 | for C = 1, Size do
699 | if IsExpanded(Category(C).Name) then
700 | ListSize = ListSize + ItemsSize(C)
701 | end
702 | end
703 |
704 | return ListSize
705 | end
706 |
707 | function ATSWCS_GetItemFromCategories(Need)
708 | local Size = CategoriesSize()
709 | local NextIndex = 0
710 | local C = 0
711 | local Name, Type, Expanded, Texture
712 |
713 | for C = 1, Size do
714 | NextIndex = NextIndex + 1
715 |
716 | if NextIndex == Need then
717 | Name = Category(C).Name
718 | Type = Category(C).Type
719 | Expanded = IsExpanded(Name)
720 | Texture = GetCategoryTexture(Expanded)
721 |
722 | return C, C, Name, nil, Type, Texture, Expanded
723 | end
724 |
725 | if IsExpanded(Category(C).Name) then
726 | for I = 1, ItemsSize(C) do
727 | NextIndex = NextIndex + 1
728 |
729 | if NextIndex == Need then
730 | local Type = ATSW_Recipe(ATSW_GetRecipePosition(Item(C, I).Name)).Type
731 | return C, I, Item(C, I).Name, Item(C, I).SubName, Type, Item(C, I).Texture
732 | end
733 | end
734 | end
735 | end
736 | end
737 |
738 | function ATSWCS_UpdateCategoriesTypes()
739 | local Size = CategoriesSize()
740 |
741 | for C = 1, Size do
742 | for I = 1, ItemsSize(C) do
743 | Item(C, I).Type = ATSW_GetSkillDataFromSkillList(Item(C, I).Name)
744 | end
745 | end
746 | end
--------------------------------------------------------------------------------
/CustomSorting.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
64 |
65 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 | FauxScrollFrame_OnVerticalScroll(ATSW_TRADESKILL_HEIGHT, ATSWCS_UpdateRecipes)
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 | FauxScrollFrame_OnVerticalScroll(ATSW_TRADESKILL_HEIGHT, ATSWCS_UpdateCategories)
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 |
385 |
386 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 | text = ATSWCSNewCategoryBox:GetText()
454 |
455 | if text ~= ATSW_UNCATEGORIZED then
456 | ATSWCSAddButton_OnClick()
457 | this:SetText("")
458 | this:ClearFocus()
459 | end
460 |
461 |
462 | this:ClearFocus()
463 |
464 |
465 | ATSWCSNewCategoryBox_OnTextChanged()
466 |
467 |
468 | local text = this:GetText()
469 |
470 | this:HighlightText(0, 0)
471 |
472 | if text ~= "" then
473 | ATSWCSAddCategoryLabel:Hide()
474 | ATSWCSAddCategoryIcon:Hide()
475 | else
476 | ATSWCSAddCategoryLabel:Show()
477 | ATSWCSAddCategoryIcon:Show()
478 | end
479 |
480 |
481 | this:HighlightText()
482 | ATSWCSAddCategoryLabel:Hide()
483 | ATSWCSAddCategoryIcon:Hide()
484 |
485 |
486 |
487 |
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 |
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 |
552 |
553 |
577 |
578 |
602 |
603 |
628 |
629 |
630 |
631 | ATSWCS_OnLoad()
632 |
633 |
634 | ATSWCS_OnShow()
635 | ATSWUpdaterFrame:Show()
636 |
637 |
638 | ATSWUpdaterFrame:Hide()
639 | ATSW_SwitchingToMain = true
640 | ATSW_SwitchToFrame(ATSWFrame)
641 |
642 |
643 |
644 |
645 |
646 |
647 |
--------------------------------------------------------------------------------
/Localization.lua:
--------------------------------------------------------------------------------
1 | -- Language file
2 |
3 | -- German and English Language by Rene Schneider, Alexander Sheloknev
4 | -- Русский язык доработал Александр Шелохнёв
5 | -- French language is made by Nilyn (EU Dalaran Alliance Server)
6 | -- El idioma español está compuesto por Jsr1976-Fili
7 |
8 | BINDING_HEADER_ATSW = "Advanced Trade Skill Window 2"
9 |
10 | local Locale = GetLocale()
11 |
12 | if Locale == "deDE" then
13 | ATSW_CLEAR = "Klar"
14 | ATSW_CREATE = "Schaffen"
15 | ATSW_STOP = "Halt"
16 | ATSW_SORTBY = "Sortieren:"
17 | ATSW_SORTBYCATEGORY = "Kategorie"
18 | ATSW_SORTBYNAMES = "Name"
19 | ATSW_SORTBYDIFFICULTY = "Schwierigkeit"
20 | ATSW_CUSTOMSORTING = "Brauch"
21 | ATSW_TASK = "Task"
22 | ATSW_SEARCHLABEL = "Suche"
23 | ATSW_REAGENTLIST1 = "Zur Herstellung von"
24 | ATSW_REAGENTLIST2 = "werden folgende Reagenzien benötigt:"
25 | ATSW_REAGENTFRAMETITLE = "Ihre Aufgaben erfordern die folgenden Reagenzien:"
26 | ATSW_REAGENTBUTTON = "Reagenzien"
27 | ATSW_REAGENTFRAME_CH1 = "Taschen"
28 | ATSW_REAGENTFRAME_CH2 = "Bank"
29 | ATSW_REAGENTFRAME_CH3 = "Twink"
30 | ATSW_REAGENTFRAME_CH4 = "Händler"
31 | ATSW_ALTLIST1 = "in Taschen"
32 | ATSW_ALTLIST2 = "auf der Bank"
33 | ATSW_ANDMORE = "und mehr..."
34 |
35 | ATSW_OPTIONS_TITLE = "Advanced Trade Skill Window 2 Aufbau"
36 | ATSWOFTOTALDISPLAY_TEXT = "Gesamtzahl wird angezeigt:"
37 | ATSWOFUCB_TEXT = "Unified"
38 | ATSWOFSCB_TEXT = "Separated"
39 | ATSWOFTOTALINCLUDE_TEXT = "Die Gesamtzahl umfasst:"
40 | ATSWOFADDONCOMPAT_TEXT = "Kompatibilität mit add-ons"
41 | ATSWOFIB_TEXT = "Bank"
42 | ATSWOFIA_TEXT = "Alternative Zeichen"
43 | ATSWOFIM_TEXT = "Händler"
44 | ATSWOFAB_TEXT = "Autokauf vom Händler\n|cff808080Kaufen Sie automatisch alles Mögliche und Notwendige für alle Artikel \nin der Aufgabenliste, wenn Sie mit Händlern sprechen|r"
45 | ATSWOFTB_TEXT = "Kurzinfo zum Rezept\n|cff808080Zeigen Sie einen Tooltip an, wenn ein Mauszeiger über einem Rezept \nin der Rezeptliste schwebt|r"
46 | ATSWOFSLB_TEXT = "Einkaufsliste des Auktionshauses\n|cff808080Zeigen Sie eine Liste der Gegenstände an, die zum Herstellen aller Gegenstände \nin der Aufgabenliste unter dem Auktionsfenster erforderlich sind|r"
47 | ATSWOF_INSTALLED = "Aktiv"
48 | ATSWOF_ADDON = "Zusatz"
49 | ATSWOF_EFFECT = "Wirkung"
50 | ATSWOFALDESCRIPTION = "Bietet handwerkliche Fertigkeitsstufen\nund Bastelzeit"
51 | ATSWOFOKAY_TEXT = "OKAY"
52 |
53 | ATSW_TOOLTIP_NECESSARY = "Benötigte reagenzien:"
54 | ATSW_TOOLTIP_SKILLUPS = "Verbesserung: "
55 | ATSW_TOOLTIP_POSSESS = "Diese charaktere besitzen"
56 | ATSW_TOOLTIP_BUYABLE = "(käuflich)"
57 | ATSW_TOOLTIP_INBAGS = "Taschen:"
58 | ATSW_TOOLTIP_INBANK = "Bank:"
59 | ATSW_TOOLTIP_ONALTS = "Twinks:"
60 | ATSW_TOOLTIP_SAYREAGENTS = "\n|cff1eff00Shift + Linksklick|r: |cffffffffFügen Sie alle Reagenzien zum Chat hinzu|r"
61 | ATSW_TOOLTIP_TO = " |cffffffffan|r "
62 | ATSW_TOOLTIP_YELL = "aufschrei"
63 | ATSW_TOOLTIP_PARTY = "gruppe"
64 | ATSW_TOOLTIP_GUILD = "gilde"
65 | ATSW_TOOLTIP_RAID = "raid"
66 | ATSW_TOOLTIP_ADDITEM = "\n|cff1eff00Shift + Linksklick|r: |cffffffffAlle Elemente zu Aufgaben hinzufügen|r"
67 | ATSW_BUYBUTTON_TOPTEXT = "Dieser Händler verkauft Reagenzien, die für Aufgaben benötigt werden, für"
68 | ATSW_BUYBUTTON_TEXT = "Reagenzien kaufen"
69 | ATSW_SHOPPINGLISTTITLE = "Erforderliche Reagenzien zum Erstellen aller Elemente in der Aufgabenliste:"
70 |
71 | ATSW_TOOLS = "Werkzeug:"
72 | ATSW_AMOUNT = "Menge:"
73 | ATSW_ALL = "Alle"
74 | ATSW_ENCHANT = "Verzaubern"
75 |
76 | ATSW_CSBUTTON = "Editor"
77 | ATSWCS_TITLE = "Benutzerdefinierter Sortiereditor"
78 | ATSWCS_TRADESKILLLISTTITLE = "Rezepturen"
79 | ATSWCS_CATEGORYLISTTITLE = "Kategorien"
80 | ATSWCS_ADDCATEGORYLABEL = "Geben Sie den Kategorienamen ein"
81 | ATSWCS_ADD = "Addieren"
82 | ATSWCS_RENAME = "Umbenennen"
83 | ATSWCS_DELETE = "Löschen"
84 | ATSWCS_MOVEUP = "Hoch"
85 | ATSWCS_MOVEDOWN = "Runter"
86 | ATSWCS_CATEGORYNAMETITLE = "Name:"
87 | ATSW_UNCATEGORIZED = "Unkategorisiert"
88 |
89 | BINDING_NAME_SHOWHIDE = "Anzeigen / Ausblenden"
90 |
91 | ATSW_HELP_TITLE = "Suchbefehle"
92 | ATSW_HELP_REAGENT = ":reagent |cReagens|r|n:r |cReagens|r"
93 | ATSW_HELP_REAGENT_DESC = "- rezepte anzeigen, für deren Herstellung |cReagens|r erforderlich ist"
94 | ATSW_HELP_LEVEL = ":level |cEben|r|n:level |c1 - 10|r|n:level |c45+|r"
95 | ATSW_HELP_LEVEL_DESC = "- zeigt Rezepte, die Gegenstände der Stufe |cEben|r produzieren"
96 | ATSW_HELP_QUALITY = ":quality |cQualität|r|n:q |cQualität|r|n:rarity |cQualität|r|n:r |cQualität|r|n:quality |cwhite|r|n:quality |cgreen+|r|n:q |cpoor - uncommon|r"
97 | ATSW_HELP_QUALITY_DESC = "- zeigt Rezepte, die Gegenstände von |cQualität|r-Qualität herstellen"
98 | ATSW_HELP_POSSIBLE = ":possible |cMenge|r|n:possible |c10+|r|n:possible |c1 - 40|r"
99 | ATSW_HELP_POSSIBLE_DESC = "- zeigt Rezepte, die |cMenge|r-mal mit Materialien in euren Taschen hergestellt werden können"
100 | ATSW_HELP_POSSIBLE_TOTAL = ":possibletotal |cMenge|r"
101 | ATSW_HELP_POSSIBLE_TOTAL_DESC = "- zeigt Rezepte an, die |cMenge|r-mal mit Materialien in deinen Taschen und Orten hergestellt werden können, die im Optionsmenü angegeben sind (Bank, alternative Charaktere oder Händler)"
102 | ATSW_HELP_QNAMES = "Qualitätsnamen:"
103 | ATSW_HELP_QNAMES_DESC = "|cff9d9d9dPoor|r, Common|r, |cff1eff00Uncommon|r, |cff0070ddRare|r, |cffa335eeEpic|r, |cffff8000Legendary|r, |cffe6cc80Artifact|r"
104 | ATSW_HELP_QCOLORS = "Qualitätsfarben:"
105 | ATSW_HELP_QCOLORS_DESC = "|cff9d9d9dGrey|r, White|r, |cff1eff00Green|r, |cff0070ddBlue|r, |cffa335eePurple|r, |cffff8000Orange|r, |cffe6cc80Gold|r"
106 |
107 | elseif Locale == "frFR" then
108 | ATSW_CLEAR = "Nettoyer"
109 | ATSW_CREATE = "Créer"
110 | ATSW_STOP = "Arrêt"
111 | ATSW_SORTBY = "Trier par:"
112 | ATSW_SORTBYCATEGORY = "Catégorie"
113 | ATSW_SORTBYDIFFICULTY = "Difficulté"
114 | ATSW_SORTBYNAMES = "Nom"
115 | ATSW_CUSTOMSORTING = "Personnalisé"
116 | ATSW_TASK = "Tâche"
117 | ATSW_SEARCHLABEL = "Chercher"
118 | ATSW_REAGENTLIST1 = "Pour produir"
119 | ATSW_REAGENTLIST2 = "les réactifs suivants sont nécessaire:"
120 | ATSW_REAGENTFRAMETITLE = "Vos tâches nécessitent les réactifs suivants:"
121 | ATSW_REAGENTBUTTON = "Réactifs"
122 | ATSW_REAGENTFRAME_CH1 = "Sacs"
123 | ATSW_REAGENTFRAME_CH2 = "Banque"
124 | ATSW_REAGENTFRAME_CH3 = "Alts"
125 | ATSW_REAGENTFRAME_CH4 = "Marchand"
126 | ATSW_ALTLIST1 = "dans des sacs"
127 | ATSW_ALTLIST2 = "dans la banque"
128 | ATSW_ANDMORE = "et plus..."
129 |
130 | ATSW_OPTIONS_TITLE = "Configuration Advanced Trade Skill Window 2"
131 | ATSWOFTOTALDISPLAY_TEXT = "Le nombre total est affiché :"
132 | ATSWOFUCB_TEXT = "Unifié"
133 | ATSWOFSCB_TEXT = "Séparé"
134 | ATSWOFTOTALINCLUDE_TEXT = "Le nombre total comprend :"
135 | ATSWOFADDONCOMPAT_TEXT = "Compatibilité avec les ajouts interface"
136 | ATSWOFIB_TEXT = "La banque"
137 | ATSWOFIA_TEXT = "Les personnages alternatifs"
138 | ATSWOFIM_TEXT = "Le marchand"
139 | ATSWOFAB_TEXT = "Achat automatique auprès d'un marchand\n|cff808080Achetez automatiquement tout ce qui est possible et nécessaire \npour tous les articles de la liste des tâches lorsque vous parlez aux marchands|r"
140 | ATSWOFTB_TEXT = "Info-bulle de la recette\n|cff808080Afficher une info-bulle lorsque le curseur de la souris survole \nune recette dans la liste des recettes|r"
141 | ATSWOFSLB_TEXT = "Liste de courses de la maison de vente aux enchères\n|cff808080Afficher une liste des objets nécessaires à la fabrication de tous \nles objets de la liste des tâches sous la fenêtre d'enchères|r"
142 | ATSWOF_INSTALLED = "Installed"
143 | ATSWOF_ADDON = "Ajout"
144 | ATSWOF_EFFECT = "Effet"
145 | ATSWOFALDESCRIPTION = "Fournit des niveaux de compétences\net le temps de fabrication"
146 | ATSWOFOKAY_TEXT = "D'accord"
147 |
148 | ATSW_TOOLTIP_NECESSARY = "Réactifs nécessaires:"
149 | ATSW_TOOLTIP_SKILLUPS = "Augmenter: "
150 | ATSW_TOOLTIP_POSSESS = "Ces personnages possèdent"
151 | ATSW_TOOLTIP_BUYABLE = "(Achetable)"
152 | ATSW_TOOLTIP_INBAGS = "Sacs:"
153 | ATSW_TOOLTIP_INBANK = "Banque:"
154 | ATSW_TOOLTIP_ONALTS = "Alts:"
155 | ATSW_TOOLTIP_SAYREAGENTS = "\n|cff1eff00Maj. + Clic gauche|r: |cffffffffAjouter tous les réactifs dans le chat|r"
156 | ATSW_TOOLTIP_TO = " |cffffffffà|r "
157 | ATSW_TOOLTIP_YELL = "cri"
158 | ATSW_TOOLTIP_PARTY = "groupe"
159 | ATSW_TOOLTIP_GUILD = "guilde"
160 | ATSW_TOOLTIP_RAID = "raid"
161 | ATSW_TOOLTIP_ADDITEM = "\n|cff1eff00Maj. + Clic gauche|r: |cffffffffAjouter tous les éléments aux tâches|r"
162 | ATSW_BUYBUTTON_TOPTEXT = "Ce marchand vend des réactifs nécessaires aux tâches de"
163 | ATSW_BUYBUTTON_TEXT = "Acheter des réactifs"
164 | ATSW_SHOPPINGLISTTITLE = "Réactifs requis pour créer tous les éléments de la liste des tâches:"
165 |
166 | ATSW_TOOLS = "Outils:"
167 | ATSW_AMOUNT = "Montant:"
168 | ATSW_ALL = "Tout"
169 | ATSW_ENCHANT = "Enchanter"
170 |
171 | ATSW_CSBUTTON = "Editeur"
172 | ATSWCS_TITLE = "Editeur de Classement personnel"
173 | ATSWCS_TRADESKILLLISTTITLE = "Recettes"
174 | ATSWCS_CATEGORYLISTTITLE = "Catégories"
175 | ATSWCS_ADDCATEGORYLABEL = "Saisissez le nom de la catégorie"
176 | ATSWCS_ADD = "Ajouter"
177 | ATSWCS_RENAME = "Renommer"
178 | ATSWCS_DELETE = "Supprimer"
179 | ATSWCS_MOVEUP = "En haut"
180 | ATSWCS_MOVEDOWN = "Vers le bas"
181 | ATSWCS_CATEGORYNAMETITLE = "Nom:"
182 | ATSW_UNCATEGORIZED = "Non classé"
183 |
184 | BINDING_NAME_SHOWHIDE = "Afficher / Masquer"
185 |
186 | ATSW_HELP_TITLE = "Commandes de recherche"
187 | ATSW_HELP_REAGENT = ":reagent |cRéactif|r|n:r |cRéactif|r"
188 | ATSW_HELP_REAGENT_DESC = "- afficher les recettes qui nécessitent |cRéactif|r pour être fabriquées"
189 | ATSW_HELP_LEVEL = ":level |cNiveau|r|n:level |c1 - 10|r|n:level |c45+|r"
190 | ATSW_HELP_LEVEL_DESC = "- afficher des recettes qui produisent des objets de niveau |cNiveau|r"
191 | ATSW_HELP_QUALITY = ":quality |cQualité|r|n:q |cQualité|r|n:rarity |cQualité|r|n:r |cQualité|r|n:quality |cwhite|r|n:quality |cgreen+|r|n:q |cpoor - uncommon|r"
192 | ATSW_HELP_QUALITY_DESC = "- montrer des recettes qui produisent des articles de qualité |cQualité|r"
193 | ATSW_HELP_POSSIBLE = ":possible |cNombre|r|n:possible |c10+|r|n:possible |c1 - 40|r"
194 | ATSW_HELP_POSSIBLE_DESC = "- montrer des recettes qui peuvent être fabriquées |cNombre|r de fois en utilisant des matériaux dans vos sacs"
195 | ATSW_HELP_POSSIBLE_TOTAL = ":possibletotal |cNombre|r"
196 | ATSW_HELP_POSSIBLE_TOTAL_DESC = "- afficher les recettes qui peuvent être fabriquées |cNombre|r de fois en utilisant les matériaux dans vos sacs et les emplacements spécifiés dans le menu des options (Banque, Personnages alternatifs ou Marchand)"
197 | ATSW_HELP_QNAMES = "Noms de qualité:"
198 | ATSW_HELP_QNAMES_DESC = "|cff9d9d9dPoor|r, Common|r, |cff1eff00Uncommon|r, |cff0070ddRare|r, |cffa335eeEpic|r, |cffff8000Legendary|r, |cffe6cc80Artifact|r"
199 | ATSW_HELP_QCOLORS = "Couleurs de qualité:"
200 | ATSW_HELP_QCOLORS_DESC = "|cff9d9d9dGrey|r, White|r, |cff1eff00Green|r, |cff0070ddBlue|r, |cffa335eePurple|r, |cffff8000Orange|r, |cffe6cc80Gold|r"
201 |
202 | elseif Locale == "esES" then
203 | ATSW_CLEAR = "Claro"
204 | ATSW_CREATE = "Crear"
205 | ATSW_STOP = "Cancelar"
206 | ATSW_SORTBY = "Ordenar por:"
207 | ATSW_SORTBYCATEGORY = "Categoría"
208 | ATSW_SORTBYDIFFICULTY = "Dificultad"
209 | ATSW_SORTBYNAMES = "Nombre"
210 | ATSW_CUSTOMSORTING = "Personalizado"
211 | ATSW_TASK = "Tarea"
212 | ATSW_SEARCHLABEL = "Buscar"
213 | ATSW_REAGENTLIST1 = "La elaboración"
214 | ATSW_REAGENTLIST2 = "requiere los siguientes reactivos:"
215 | ATSW_REAGENTFRAMETITLE = "Sus tareas requieren los siguientes reactivos:"
216 | ATSW_REAGENTBUTTON = "Reactivos"
217 | ATSW_REAGENTFRAME_CH1 = "Bolsas"
218 | ATSW_REAGENTFRAME_CH2 = "Banco"
219 | ATSW_REAGENTFRAME_CH3 = "Alt"
220 | ATSW_REAGENTFRAME_CH4 = "Mercader"
221 | ATSW_ALTLIST1 = "en bolsas"
222 | ATSW_ALTLIST2 = "en el banco"
223 | ATSW_ANDMORE = "y más..."
224 |
225 | ATSW_OPTIONS_TITLE = "Advanced Trade Skill Window 2 Configuración"
226 | ATSWOFTOTALDISPLAY_TEXT = "Se muestra el conteo total:"
227 | ATSWOFUCB_TEXT = "Unificado"
228 | ATSWOFSCB_TEXT = "Separado"
229 | ATSWOFTOTALINCLUDE_TEXT = "El recuento total incluye:"
230 | ATSWOFADDONCOMPAT_TEXT = "Compatibilidad con extensiones"
231 | ATSWOFIB_TEXT = "Banco"
232 | ATSWOFIA_TEXT = "Personajes alternativos"
233 | ATSWOFIM_TEXT = "Mercader"
234 | ATSWOFAB_TEXT = "Autocompra del mercader\n|cff808080Compre automáticamente todo lo posible y necesario para todos \nlos elementos de la lista de tareas cuando hable con los comerciantes|r"
235 | ATSWOFTB_TEXT = "Información de la receta\n|cff808080Muestre una información sobre herramientas cuando el cursor del mouse \nse desplace sobre una receta en la lista de recetas|r"
236 | ATSWOFSLB_TEXT = "Lista de compras de la casa de subastas\n|cff808080Muestre una lista de artículos que se requieren para fabricar todos \nlos artículos en la lista de tareas en la ventana de subasta|r"
237 | ATSWOF_INSTALLED = "Activo"
238 | ATSWOF_ADDON = "Extensión"
239 | ATSWOF_EFFECT = "Efecto"
240 | ATSWOFALDESCRIPTION = "Proporciona niveles de habilidad de\ny tiempo de elaboración"
241 | ATSWOFOKAY_TEXT = "BUENO"
242 |
243 | ATSW_TOOLTIP_NECESSARY = "Reactivos necesarios:"
244 | ATSW_TOOLTIP_SKILLUPS = "Aumentar: "
245 | ATSW_TOOLTIP_POSSESS = "Estos personajes poseen"
246 | ATSW_TOOLTIP_BUYABLE = "(adquirible)"
247 | ATSW_TOOLTIP_INBAGS = "Bolsas:"
248 | ATSW_TOOLTIP_INBANK = "Banco:"
249 | ATSW_TOOLTIP_ONALTS = "Alts:"
250 | ATSW_TOOLTIP_SAYREAGENTS = "\n|cff1eff00Mayús + Clic izquierdo|r: |cffffffffAgregue todos los reactivos al chat|r"
251 | ATSW_TOOLTIP_TO = " |cffffffffa|r "
252 | ATSW_TOOLTIP_YELL = "grito"
253 | ATSW_TOOLTIP_PARTY = "grupo"
254 | ATSW_TOOLTIP_GUILD = "gremio"
255 | ATSW_TOOLTIP_RAID = "raid"
256 | ATSW_TOOLTIP_ADDITEM = "\n|cff1eff00Mayús + Clic izquierdo|r: |cffffffffAgregar todos los elementos a las tareas|r"
257 | ATSW_BUYBUTTON_TOPTEXT = "Este mercader vende reactivos que son necesarios para las tareas de"
258 | ATSW_BUYBUTTON_TEXT = "Comprar reactivos"
259 | ATSW_SHOPPINGLISTTITLE = "Lista de compra que necesitas para producir los objetos de la cola:"
260 |
261 | ATSW_TOOLS = "Instrumentos:"
262 | ATSW_AMOUNT = "Monto:"
263 | ATSW_ALL = "Todos"
264 | ATSW_ENCHANT = "Encantar"
265 |
266 | ATSW_CSBUTTON = "Editor"
267 | ATSWCS_TITLE = "Editor de clasificación personalizado"
268 | ATSWCS_TRADESKILLLISTTITLE = "Recetas"
269 | ATSWCS_CATEGORYLISTTITLE = "Categorías"
270 | ATSWCS_ADDCATEGORYLABEL = "Introduce el nombre de la categoría"
271 | ATSWCS_ADD = "Agregar"
272 | ATSWCS_RENAME = "Rebautizar"
273 | ATSWCS_DELETE = "Borrar"
274 | ATSWCS_MOVEUP = "Arriba"
275 | ATSWCS_MOVEDOWN = "Abajo"
276 | ATSWCS_CATEGORYNAMETITLE = "Nombre:"
277 | ATSW_UNCATEGORIZED = "Sin Categoria"
278 |
279 | BINDING_NAME_SHOWHIDE = "Mostrar / Ocultar"
280 |
281 | ATSW_HELP_TITLE = "Comandos de búsqueda"
282 | ATSW_HELP_REAGENT = ":reagent |cReactivo|r|n:r |cReactivo|r"
283 | ATSW_HELP_REAGENT_DESC = "- mostrar recetas que requieren |cReactivo|r para elaborar"
284 | ATSW_HELP_LEVEL = ":level |cNivel|r|n:level |c1 - 10|r|n:level |c45+|r"
285 | ATSW_HELP_LEVEL_DESC = "- mostrar recetas que producen artículos de nivel |cNivel|r"
286 | ATSW_HELP_QUALITY = ":quality |cCalidad|r|n:q |cCalidad|r|n:rarity |cCalidad|r|n:r |cCalidad|r|n:quality |cwhite|r|n:quality |cgreen+|r|n:q |cpoor - uncommon|r"
287 | ATSW_HELP_QUALITY_DESC = "- mostrar recetas que producen artículos de |cCalidad|r calidad"
288 | ATSW_HELP_POSSIBLE = ":possible |cMonto|r|n:possible |c10+|r|n:possible |c1 - 40|r"
289 | ATSW_HELP_POSSIBLE_DESC = "- muestra recetas que se pueden fabricar |cMonto|r veces usando materiales en tus bolsas"
290 | ATSW_HELP_POSSIBLE_TOTAL = ":possibletotal |cMonto|r"
291 | ATSW_HELP_POSSIBLE_TOTAL_DESC = "muestre recetas que se pueden fabricar |cMonto|r veces usando materiales en sus bolsas y ubicaciones especificadas en el menú de opciones (Banco, Personajes alternativos o Comerciante)"
292 | ATSW_HELP_QNAMES = "Nombres de calidad:"
293 | ATSW_HELP_QNAMES_DESC = "|cff9d9d9dPoor|r, Common|r, |cff1eff00Uncommon|r, |cff0070ddRare|r, |cffa335eeEpic|r, |cffff8000Legendary|r, |cffe6cc80Artifact|r"
294 | ATSW_HELP_QCOLORS = "Colores de calidad:"
295 | ATSW_HELP_QCOLORS_DESC = "|cff9d9d9dGrey|r, White|r, |cff1eff00Green|r, |cff0070ddBlue|r, |cffa335eePurple|r, |cffff8000Orange|r, |cffe6cc80Gold|r"
296 |
297 | elseif Locale == "ruRU" then
298 | ATSW_CLEAR = "Очистить"
299 | ATSW_CREATE = "Создать"
300 | ATSW_STOP = "Стоп"
301 | ATSW_SORTBY = "Сортировка:"
302 | ATSW_SORTBYCATEGORY = "Категория"
303 | ATSW_SORTBYNAMES = "Имя"
304 | ATSW_SORTBYDIFFICULTY = "Навык"
305 | ATSW_CUSTOMSORTING = "Своя"
306 | ATSW_TASK = "Задача"
307 | ATSW_SEARCHLABEL = "Поиск"
308 | ATSW_REAGENTLIST1 = "Создание"
309 | ATSW_REAGENTLIST2 = "требует следующие реагенты:"
310 | ATSW_REAGENTFRAMETITLE = "Для выполнения задач нужны следующие реагенты:"
311 | ATSW_REAGENTBUTTON = "Реагенты"
312 | ATSW_REAGENTFRAME_CH1 = "Сумки"
313 | ATSW_REAGENTFRAME_CH2 = "Банк"
314 | ATSW_REAGENTFRAME_CH3 = "Персонажи"
315 | ATSW_REAGENTFRAME_CH4 = "Продавец"
316 | ATSW_ALTLIST1 = "в сумках"
317 | ATSW_ALTLIST2 = "в банке"
318 | ATSW_ANDMORE = "и более..."
319 |
320 | ATSW_OPTIONS_TITLE = "Настройки Advanced Trade Skill Window 2"
321 | ATSWOFTOTALDISPLAY_TEXT = "Количество отображается:"
322 | ATSWOFUCB_TEXT = "Едино"
323 | ATSWOFSCB_TEXT = "Раздельно"
324 | ATSWOFTOTALINCLUDE_TEXT = "Количество включает:"
325 | ATSWOFADDONCOMPAT_TEXT = "Совместимость с аддонами"
326 | ATSWOFIB_TEXT = "Банк"
327 | ATSWOFIA_TEXT = "Других персонажей"
328 | ATSWOFIM_TEXT = "Торговцев"
329 | ATSWOFAB_TEXT = "Автопокупка у продавца\n|cff808080Автоматически покупать всё возможное и необходимое \nдля всех предметов в списке задач при разговоре с торговцами|r"
330 | ATSWOFTB_TEXT = "Подсказка для рецептов\n|cff808080Отображение всплывающей подсказки при наведении \nкурсора мыши на рецепт в списке рецептов|r"
331 | ATSWOFSLB_TEXT = "Список покупок под аукционом\n|cff808080Отображать список предметов, необходимых для создания \nвсех предметов в списке задач под окном аукциона|r"
332 | ATSWOF_INSTALLED = "Включён"
333 | ATSWOF_ADDON = "Аддон"
334 | ATSWOF_EFFECT = "Эффект"
335 | ATSWOFALDESCRIPTION = "Даёт уровни повышения навыка\nи время создания"
336 | ATSWOFOKAY_TEXT = "Закрыть"
337 |
338 | ATSW_TOOLTIP_NECESSARY = "Требуемые реагенты:"
339 | ATSW_TOOLTIP_SKILLUPS = "Рост: "
340 | ATSW_TOOLTIP_POSSESS = "Следующие персонажи имеют"
341 | ATSW_TOOLTIP_BUYABLE = "(продаётся)"
342 | ATSW_TOOLTIP_INBAGS = "Сумки:"
343 | ATSW_TOOLTIP_INBANK = "Банк:"
344 | ATSW_TOOLTIP_ONALTS = "Персонажи:"
345 | ATSW_TOOLTIP_SAYREAGENTS = "\n|cff1eff00Shift + ЛКМ|r: |cffffffffСказать список реагентов|r"
346 | ATSW_TOOLTIP_TO = " |cffffffffв|r "
347 | ATSW_TOOLTIP_YELL = "крик"
348 | ATSW_TOOLTIP_PARTY = "группу"
349 | ATSW_TOOLTIP_GUILD = "гильдию"
350 | ATSW_TOOLTIP_RAID = "рейд"
351 | ATSW_TOOLTIP_ADDITEM = "\n|cff1eff00Shift + ЛКМ|r: |cffffffffДобавить все предметы в задачи|r"
352 | ATSW_BUYBUTTON_TOPTEXT = "Этот торговец продаёт реагенты, нужные для задач за"
353 | ATSW_BUYBUTTON_TEXT = "Купить реагенты"
354 | ATSW_SHOPPINGLISTTITLE = "Реагенты, нужные для создания предметов в списке заданий:"
355 |
356 | ATSW_TOOLS = "Инструменты:"
357 | ATSW_AMOUNT = "Кол-во:"
358 | ATSW_ALL = "Все"
359 | ATSW_ENCHANT = "Зачаровать"
360 |
361 | ATSW_CSBUTTON = "Редактор"
362 | ATSWCS_TITLE = "Редактор сортировки рецептов"
363 | ATSWCS_TRADESKILLLISTTITLE = "Рецепты"
364 | ATSWCS_CATEGORYLISTTITLE = "Категории"
365 | ATSWCS_ADDCATEGORYLABEL = "Введи имя категории"
366 | ATSWCS_ADD = "Добавить"
367 | ATSWCS_RENAME = "Новое имя"
368 | ATSWCS_DELETE = "Удалить"
369 | ATSWCS_MOVEUP = "Вверх"
370 | ATSWCS_MOVEDOWN = "Вниз"
371 | ATSWCS_CATEGORYNAMETITLE = "Имя:"
372 | ATSW_UNCATEGORIZED = "Без категории"
373 |
374 | BINDING_NAME_SHOWHIDE = "Показать / Скрыть"
375 |
376 | ATSW_HELP_TITLE = "Команды поиска"
377 | ATSW_HELP_REAGENT = ":reagent |cРеагент|r|n:r |cРеагент|r"
378 | ATSW_HELP_REAGENT_DESC = "- показать рецепты, требующие |cРеагент|r для производства"
379 | ATSW_HELP_LEVEL = ":level |cУровень|r|n:level |c1 - 10|r|n:level |c45+|r"
380 | ATSW_HELP_LEVEL_DESC = "- показать рецепты, которые производят предметы уровня |cУровень|r"
381 | ATSW_HELP_QUALITY = ":quality |cКачество|r|n:q |cКачество|r|n:rarity |cКачество|r|n:r |cКачество|r|n:quality |cwhite|r|n:quality |cgreen+|r|n:q |cpoor - uncommon|r"
382 | ATSW_HELP_QUALITY_DESC = "- показать рецепты, которые производят предметы качества |cКачество|r"
383 | ATSW_HELP_POSSIBLE = ":possible |cКоличество|r|n:possible |c10+|r|n:possible |c1 - 40|r"
384 | ATSW_HELP_POSSIBLE_DESC = "- показать рецепты, которые можно произвести |cКоличество|r раз, используя материалы в сумках"
385 | ATSW_HELP_POSSIBLE_TOTAL = ":possibletotal |cКоличество|r"
386 | ATSW_HELP_POSSIBLE_TOTAL_DESC = "- показать рецепты, которые можно произвести |cКоличество|r раз, используя материалы в сумках и местах, указанных в настройках (Банк, Другие персонажи или Торговцы)"
387 | ATSW_HELP_QNAMES = "Названия качества:"
388 | ATSW_HELP_QNAMES_DESC = "|cff9d9d9dPoor|r, Common|r, |cff1eff00Uncommon|r, |cff0070ddRare|r, |cffa335eeEpic|r, |cffff8000Legendary|r, |cffe6cc80Artifact|r"
389 | ATSW_HELP_QCOLORS = "Цвета качества:"
390 | ATSW_HELP_QCOLORS_DESC = "|cff9d9d9dGrey|r, White|r, |cff1eff00Green|r, |cff0070ddBlue|r, |cffa335eePurple|r, |cffff8000Orange|r, |cffe6cc80Gold|r"
391 |
392 | elseif Locale == "zhCN" then
393 | ATSW_CLEAR = "清除"
394 | ATSW_CREATE = "制作"
395 | ATSW_STOP = "停止"
396 | ATSW_SORTBY = "排序方式:"
397 | ATSW_SORTBYCATEGORY = "分类"
398 | ATSW_SORTBYNAMES = "名称"
399 | ATSW_SORTBYDIFFICULTY = "难度"
400 | ATSW_CUSTOMSORTING = "自定义"
401 | ATSW_TASK = "队列"
402 | ATSW_SEARCHLABEL = "搜索"
403 | ATSW_REAGENTLIST1 = "制作中:"
404 | ATSW_REAGENTLIST2 = "需要以下材料:"
405 | ATSW_REAGENTFRAMETITLE = "你的制作清单中需要以下材料:"
406 | ATSW_REAGENTBUTTON = "材料"
407 | ATSW_REAGENTFRAME_CH1 = "背包"
408 | ATSW_REAGENTFRAME_CH2 = "银行"
409 | ATSW_REAGENTFRAME_CH3 = "小号"
410 | ATSW_REAGENTFRAME_CH4 = "商人"
411 | ATSW_ALTLIST1 = "背包中"
412 | ATSW_ALTLIST2 = "银行中"
413 | ATSW_ANDMORE = "更多..."
414 |
415 | ATSW_OPTIONS_TITLE = "Advanced Trade Skill Window 2 设置"
416 | ATSWOFTOTALDISPLAY_TEXT = "显示总计数:"
417 | ATSWOFUCB_TEXT = "统一展示"
418 | ATSWOFSCB_TEXT = "分开展示"
419 | ATSWOFTOTALINCLUDE_TEXT = "总计数包括:"
420 | ATSWOFADDONCOMPAT_TEXT = "其它插件的兼容性"
421 | ATSWOFIB_TEXT = "银行"
422 | ATSWOFIA_TEXT = "小号"
423 | ATSWOFIM_TEXT = "商人"
424 | ATSWOFAB_TEXT = "商家自动购买\n|cffA0A0A0从商家自动购买与商家交谈时,自动为队列中的所有项目购买任何可能和必要的东西|r"
425 | ATSWOFTB_TEXT = "配方提示\n|cffA0A0A0当鼠标光标悬停在配方列表中的配方上时,显示工具提示|r"
426 | ATSWOFSLB_TEXT = "拍卖行购物清单\n|cffA0A0A0在拍卖窗口下的任务列表中显示制作所有项目所需的材料列表|r"
427 | ATSWOF_INSTALLED = "已安装"
428 | ATSWOF_ADDON = "插件"
429 | ATSWOF_EFFECT = "影响"
430 | ATSWOFALDESCRIPTION = "提供配方和生产时间的生产水平"
431 | ATSWOFOKAY_TEXT = "确定"
432 |
433 | ATSW_TOOLTIP_NECESSARY = "所需材料:"
434 | ATSW_TOOLTIP_SKILLUPS = "技能提升: "
435 | ATSW_TOOLTIP_POSSESS = "其它账号角色拥有"
436 | ATSW_TOOLTIP_BUYABLE = "(可购买)"
437 | ATSW_TOOLTIP_INBAGS = "背包:"
438 | ATSW_TOOLTIP_INBANK = "银行:"
439 | ATSW_TOOLTIP_ONALTS = "小号:"
440 | ATSW_TOOLTIP_SAYREAGENTS = "\n|cff1eff00Shift + 左键|r: |cffffffff|聊天(/s)说列出所需要的材料清单|r"
441 | ATSW_TOOLTIP_TO = " |cffffffffto|r "
442 | ATSW_TOOLTIP_YELL = "叫声"
443 | ATSW_TOOLTIP_PARTY = "派对"
444 | ATSW_TOOLTIP_GUILD = "公会"
445 | ATSW_TOOLTIP_RAID = "突袭"
446 | ATSW_TOOLTIP_ADDITEM = "\n|cff1eff00Shift + 左键|r: |cffffffff|添加所有项至任务制作清单中|r"
447 | ATSW_BUYBUTTON_TOPTEXT = "商人出售如下制作清单中所需的材料"
448 | ATSW_BUYBUTTON_TEXT = "购买材料"
449 | ATSW_SHOPPINGLISTTITLE = "当前制作清单中所有项目所需的材料清单:"
450 |
451 | ATSW_TOOLS = "工具:"
452 | ATSW_AMOUNT = "数量:"
453 | ATSW_ALL = "全部"
454 | ATSW_ENCHANT = "附魔"
455 |
456 | ATSW_CSBUTTON = "编辑"
457 | ATSWCS_TITLE = "编辑自定义排序"
458 | ATSWCS_TRADESKILLLISTTITLE = "配方"
459 | ATSWCS_CATEGORYLISTTITLE = "分类"
460 | ATSWCS_ADDCATEGORYLABEL = "输入分类名称"
461 | ATSWCS_ADD = "添加"
462 | ATSWCS_RENAME = "重命名"
463 | ATSWCS_DELETE = "删除"
464 | ATSWCS_MOVEUP = "向上移动"
465 | ATSWCS_MOVEDOWN = "向下移动"
466 | ATSWCS_CATEGORYNAMETITLE = "名称:"
467 | ATSW_UNCATEGORIZED = "未分类"
468 |
469 | BINDING_NAME_SHOWHIDE = "显示 / 隐藏"
470 |
471 | ATSW_HELP_TITLE = "搜索指令"
472 | ATSW_HELP_REAGENT = ":reagent |cc材料名称|r|n:r |c材料名称|r"
473 | ATSW_HELP_REAGENT_DESC = "- 列出包含该|c材料|r的配方"
474 | ATSW_HELP_LEVEL = ":level |c等级|r|n:level |c1 - 10|r|n:level |c45+|r"
475 | ATSW_HELP_LEVEL_DESC = "- 列出指定|c物品等级|r或|c等级范围|r的配方"
476 | ATSW_HELP_QUALITY = ":quality |cQuality|r|n:q |cQuality|r|n:rarity |cQuality|r|n:r |cQuality|r|n:quality |cwhite|r|n:quality |cgreen+|r|n:q |cpoor - uncommon|r"
477 | ATSW_HELP_QUALITY_DESC = "- 列出指定|c物品品质|r或|c品质范围|r的配方"
478 | ATSW_HELP_POSSIBLE = ":possible |c可用次数|r|n:possible |c10+|r|n:possible |c1 - 40|r"
479 | ATSW_HELP_POSSIBLE_DESC = "- 列出指定(背包)材料齐全并指定包含|c可用次数|r的制作配方"
480 | ATSW_HELP_POSSIBLE_TOTAL = ":possibletotal |c可用次数|r"
481 | ATSW_HELP_POSSIBLE_TOTAL_DESC = "- 列出指定(背包、银行、小号、商人)材料齐全并包含|c可用次数|r的制作配方"
482 | ATSW_HELP_QNAMES = "物品品质(Quality names):"
483 | ATSW_HELP_QNAMES_DESC = "|cff9d9d9dPoor|r, Common|r, |cff1eff00Uncommon|r, |cff0070ddRare|r, |cffa335eeEpic|r, |cffff8000Legendary|r, |cffe6cc80Artifact|r"
484 | ATSW_HELP_QCOLORS = "物品品质颜色(Quality colors):"
485 | ATSW_HELP_QCOLORS_DESC = "|cff9d9d9dGrey|r, White|r, |cff1eff00Green|r, |cff0070ddBlue|r, |cffa335eePurple|r, |cffff8000Orange|r, |cffe6cc80Gold|r"
486 |
487 | else
488 | ATSW_CLEAR = "Clear"
489 | ATSW_CREATE = "Create"
490 | ATSW_STOP = "Stop"
491 | ATSW_SORTBY = "Sort by:"
492 | ATSW_SORTBYCATEGORY = "Category"
493 | ATSW_SORTBYNAMES = "Name"
494 | ATSW_SORTBYDIFFICULTY = "Difficulty"
495 | ATSW_CUSTOMSORTING = "Custom"
496 | ATSW_TASK = "Task"
497 | ATSW_SEARCHLABEL = "Search"
498 | ATSW_REAGENTLIST1 = "Crafting of"
499 | ATSW_REAGENTLIST2 = "require the following reagents:"
500 | ATSW_REAGENTFRAMETITLE = "Your tasks require the following reagents:"
501 | ATSW_REAGENTBUTTON = "Reagents"
502 | ATSW_REAGENTFRAME_CH1 = "Bags"
503 | ATSW_REAGENTFRAME_CH2 = "Bank"
504 | ATSW_REAGENTFRAME_CH3 = "Alts"
505 | ATSW_REAGENTFRAME_CH4 = "Merchant"
506 | ATSW_ALTLIST1 = "in bags"
507 | ATSW_ALTLIST2 = "in bank"
508 | ATSW_ANDMORE = "and more..."
509 |
510 | ATSW_OPTIONS_TITLE = "Advanced Trade Skill Window 2 Configuration"
511 | ATSWOFTOTALDISPLAY_TEXT = "Total count is displayed:"
512 | ATSWOFUCB_TEXT = "Unified"
513 | ATSWOFSCB_TEXT = "Separated"
514 | ATSWOFTOTALINCLUDE_TEXT = "Total count include:"
515 | ATSWOFADDONCOMPAT_TEXT = "Compatibility with add-ons"
516 | ATSWOFIB_TEXT = "Bank"
517 | ATSWOFIA_TEXT = "Alternative characters"
518 | ATSWOFIM_TEXT = "Merchant"
519 | ATSWOFAB_TEXT = "Autobuy from merchant\n|cffA0A0A0Automatically buy anything possible and necessary for all items \nin the task list when speaking to merchants|r"
520 | ATSWOFTB_TEXT = "Recipe tooltip\n|cffA0A0A0Display a tooltip when a mouse cursor is hovering over a recipe \nin the recipe list|r"
521 | ATSWOFSLB_TEXT = "Auction house shopping list\n|cffA0A0A0Display a list of items that are required for crafting all items \nin the task list under auction window|r"
522 | ATSWOF_INSTALLED = "Installed"
523 | ATSWOF_ADDON = "Add-on"
524 | ATSWOF_EFFECT = "Effect"
525 | ATSWOFALDESCRIPTION = "Provides crafting skill-up levels\nand crafting time"
526 | ATSWOFOKAY_TEXT = "OKAY"
527 |
528 | ATSW_TOOLTIP_NECESSARY = "Required reagents:"
529 | ATSW_TOOLTIP_SKILLUPS = "Skill-ups: "
530 | ATSW_TOOLTIP_POSSESS = "These characters possess"
531 | ATSW_TOOLTIP_BUYABLE = "(buyable)"
532 | ATSW_TOOLTIP_INBAGS = "Bags:"
533 | ATSW_TOOLTIP_INBANK = "Bank:"
534 | ATSW_TOOLTIP_ONALTS = "Alts:"
535 | ATSW_TOOLTIP_SAYREAGENTS = "\n|cff1eff00Shift + Left Click|r: |cffffffffSay reagents required to craft the item|r"
536 | ATSW_TOOLTIP_TO = " |cffffffffto|r "
537 | ATSW_TOOLTIP_YELL = "yell"
538 | ATSW_TOOLTIP_PARTY = "party"
539 | ATSW_TOOLTIP_GUILD = "guild"
540 | ATSW_TOOLTIP_RAID = "raid"
541 | ATSW_TOOLTIP_ADDITEM = "\n|cff1eff00Shift + Left Click|r: |cffffffffAdd all items to tasks|r"
542 | ATSW_BUYBUTTON_TOPTEXT = "This merchant sells reagents that are necessary for tasks for"
543 | ATSW_BUYBUTTON_TEXT = "Buy reagents"
544 | ATSW_SHOPPINGLISTTITLE = "Reagents required to create all items in the task list:"
545 |
546 | ATSW_TOOLS = "Tools:"
547 | ATSW_AMOUNT = "Amount:"
548 | ATSW_ALL = "All"
549 | ATSW_ENCHANT = "Enchant"
550 |
551 | ATSW_CSBUTTON = "Editor"
552 | ATSWCS_TITLE = "Custom Sorting Editor"
553 | ATSWCS_TRADESKILLLISTTITLE = "Recipes"
554 | ATSWCS_CATEGORYLISTTITLE = "Categories"
555 | ATSWCS_ADDCATEGORYLABEL = "Enter category name"
556 | ATSWCS_ADD = "Add"
557 | ATSWCS_RENAME = "Rename"
558 | ATSWCS_DELETE = "Delete"
559 | ATSWCS_MOVEUP = "Move up"
560 | ATSWCS_MOVEDOWN = "Move down"
561 | ATSWCS_CATEGORYNAMETITLE = "Name:"
562 | ATSW_UNCATEGORIZED = "Uncategorized"
563 |
564 | BINDING_NAME_SHOWHIDE = "Show / Hide"
565 |
566 | ATSW_HELP_TITLE = "Search commands"
567 | ATSW_HELP_REAGENT = ":reagent |cReagent|r|n:r |cReagent|r"
568 | ATSW_HELP_REAGENT_DESC = "- show recipes that require |cReagent|r to craft"
569 | ATSW_HELP_LEVEL = ":level |cLevel|r|n:level |c1 - 10|r|n:level |c45+|r"
570 | ATSW_HELP_LEVEL_DESC = "- show recipes that produce items of |cLevel|r level"
571 | ATSW_HELP_QUALITY = ":quality |cQuality|r|n:q |cQuality|r|n:rarity |cQuality|r|n:r |cQuality|r|n:quality |cwhite|r|n:quality |cgreen+|r|n:q |cpoor - uncommon|r"
572 | ATSW_HELP_QUALITY_DESC = "- show recipes that produce items of |cQuality|r quality"
573 | ATSW_HELP_POSSIBLE = ":possible |cAmount|r|n:possible |c10+|r|n:possible |c1 - 40|r"
574 | ATSW_HELP_POSSIBLE_DESC = "- show recipes that can be crafted |cAmount|r times using materials in your bags"
575 | ATSW_HELP_POSSIBLE_TOTAL = ":possibletotal |cAmount|r"
576 | ATSW_HELP_POSSIBLE_TOTAL_DESC = "- show recipes that can be crafted |cAmount|r times using materials in your bags and locations specified in options menu (Bank, Alternative characters or Merchant)"
577 | ATSW_HELP_QNAMES = "Quality names:"
578 | ATSW_HELP_QNAMES_DESC = "|cff9d9d9dPoor|r, Common|r, |cff1eff00Uncommon|r, |cff0070ddRare|r, |cffa335eeEpic|r, |cffff8000Legendary|r, |cffe6cc80Artifact|r"
579 | ATSW_HELP_QCOLORS = "Quality colors:"
580 | ATSW_HELP_QCOLORS_DESC = "|cff9d9d9dGrey|r, White|r, |cff1eff00Green|r, |cff0070ddBlue|r, |cffa335eePurple|r, |cffff8000Orange|r, |cffe6cc80Gold|r"
581 | end
582 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Advanced Trade Skill Window 2
2 | Improved window for your professions for World of Warcraft vanilla
3 |
4 | version 2.1.9
5 |
6 | 
7 |
8 |
9 |
10 | Advanced Trade Skill Window 2 is a replacement for the standard tradeskill window.
11 |
12 | Most buttons in ATSW are self-explaining.
13 |
14 | ## Features
15 | ### Tasks
16 | Selected recipe can be placed into the task list for later craft by clicking on the "Task" button.
17 |
18 | ### Task progress timer
19 | 
20 |
21 | Task progress timer represent overall completion of a task. When you start crafting, the progress timer will appear under the task.
22 |
23 |
24 | ### Search commands
25 |
26 | 
27 |
28 | ATSW has a search function built-in. If you type some text into the search box then ATSW will filter the recipe list according to your entry or the following parameters: **:reagent**, **:level**, **:quality**, **:possible**, **:possibletotal**. You can even combine multiple parameters and a text for a name search, like this:
29 | "**leather :level 20+ :quality uncommon+**" - show recipes with the word "leather" in their name, a minimum level requirement of 20 and a minimum quality of "green".
30 |
31 |
32 | ### Necessary reagents list
33 |
34 | 
35 |
36 | The "Reagents" button will show you a list of reagents required to craft items in the task list, amount of the reagents you have in your inventory, in your bank, on alternative characters on the same server and if a reagent can be bought from a merchant. By hovering a cursor over the reagent count on alternative characters, you get a list of all alts currently possessing the reagent.
37 |
38 | ATSW can also automatically buy necessary items from a merchant when speaking to him - either manually by clicking a button in the reagents window or automatically when opening the merchant window.
39 |
40 | ### Auction shopping list
41 |
42 | 
43 |
44 | Auction shopping list appear under the auction window when it is opened. It shows reagents that are necessary to craft the items in the task list. ATSW is compatible with [aux](https://github.com/shirsig/aux-addon-vanilla).
45 |
46 | ### Custom categories
47 |
48 | 
49 |
50 |
51 |
52 | You can create categories and put recipes into them.
53 |
54 |
55 | ### Reporting
56 |
57 | By clicking on an item with chat line opened and Shift key pressed ATSW will add a list of the reagents necessary to create a single item into the chat window. ATSW is compatible with [WIM](https://github.com/shirsig/WIM).
58 |
59 |
60 | ### Key bind
61 |
62 | 
63 |
64 |
65 |
66 | A key can be assigned to call ATSW.
67 |
68 |
69 | ### Configuration
70 |
71 | 
72 |
73 |
74 | ATSW can be configured via built-in options menu. The menu can be shown by entering chat command **/atsw config**.
75 |
76 |
77 | ### Localization
78 | Supported languages: English, Русский, Español, Français, Deutsch, 简体中文
79 |
80 | ## Installation
81 | 1. Download the following archive: [AdvancedTradeSkillWindow2.rar](https://github.com/Shellyoung/Advanced-Trade-Skill-Window/releases/download/2.1.9/AdvancedTradeSkillWindow2.rar)
82 |
83 | 2. Extract the folder **AdvancedTradeSkillWindow2** from the archive and place it into the folder **World of Warcraft\Interface\Addons**.
84 |
85 | ## Credits
86 |
87 | ###### Original idea:
88 | **Rene Schneider** (**Slarti** on EU-Blackhand) in 2006
89 |
90 | ###### Fixes prior to version 2.0.0:
91 | [**LaYt**](https://github.com/laytya) in 2017
92 |
93 | ###### Blizzard Interface source code:
94 | https://www.townlong-yak.com/framexml/1.12.1
95 |
96 | ###### API Documentation:
97 | https://wowwiki-archive.fandom.com/wiki/Category:Interface_customization
98 |
99 | ###### Thank you
100 | Suggestions: [flyinbed](https://github.com/flyinbed).
101 |
102 | Bug reporting: [MasterBruin](https://github.com/MasterBruin), [shikulja](https://github.com/shikulja), [TerrorBlades](https://github.com/TerrorBlades), [asfddhdjkdghkghhgdsfn](https://github.com/asfddhdjkdghkghhgdsfn), [David Côté-Tremblay](https://github.com/dctremblay), [AyrianaWoW](https://github.com/AyrianaWoW/), [evilbunny235](https://github.com/evilbunny235), [gvdn78](https://github.com/gvdn78).
103 |
104 | 翻译成中文: [flyinbed](https://github.com/flyinbed).
105 |
--------------------------------------------------------------------------------
/Read me.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Read me.txt
--------------------------------------------------------------------------------
/Textures/Background/Alchemy.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/Alchemy.blp
--------------------------------------------------------------------------------
/Textures/Background/BeastTraining.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/BeastTraining.blp
--------------------------------------------------------------------------------
/Textures/Background/Blacksmithing.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/Blacksmithing.blp
--------------------------------------------------------------------------------
/Textures/Background/Cooking.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/Cooking.blp
--------------------------------------------------------------------------------
/Textures/Background/Enchanting.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/Enchanting.blp
--------------------------------------------------------------------------------
/Textures/Background/Engineering.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/Engineering.blp
--------------------------------------------------------------------------------
/Textures/Background/FirstAid.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/FirstAid.blp
--------------------------------------------------------------------------------
/Textures/Background/Jewelcrafting.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/Jewelcrafting.blp
--------------------------------------------------------------------------------
/Textures/Background/Leatherworking.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/Leatherworking.blp
--------------------------------------------------------------------------------
/Textures/Background/Poisons.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/Poisons.blp
--------------------------------------------------------------------------------
/Textures/Background/Smelting.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/Smelting.blp
--------------------------------------------------------------------------------
/Textures/Background/Survival.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/Survival.blp
--------------------------------------------------------------------------------
/Textures/Background/Tailoring.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Background/Tailoring.blp
--------------------------------------------------------------------------------
/Textures/Category.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Category.blp
--------------------------------------------------------------------------------
/Textures/MouseWheelCursor.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/MouseWheelCursor.blp
--------------------------------------------------------------------------------
/Textures/Options/AtlasLootMinimap.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Options/AtlasLootMinimap.blp
--------------------------------------------------------------------------------
/Textures/Options/AtlasLootMinimapEffect.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Options/AtlasLootMinimapEffect.blp
--------------------------------------------------------------------------------
/Textures/Options/Separate.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Options/Separate.blp
--------------------------------------------------------------------------------
/Textures/Options/Unified.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Options/Unified.blp
--------------------------------------------------------------------------------
/Textures/Parchment.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Parchment.blp
--------------------------------------------------------------------------------
/Textures/ProgressBarFlash.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/ProgressBarFlash.blp
--------------------------------------------------------------------------------
/Textures/Search.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Search.blp
--------------------------------------------------------------------------------
/Textures/TrainingCost.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/TrainingCost.blp
--------------------------------------------------------------------------------
/Textures/UI-DialogBox-Header.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/UI-DialogBox-Header.blp
--------------------------------------------------------------------------------
/Textures/UI-TaxiFrame-BotLeftReplacement.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/UI-TaxiFrame-BotLeftReplacement.blp
--------------------------------------------------------------------------------
/Textures/UI-TaxiFrame-BotRightReplacement.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/UI-TaxiFrame-BotRightReplacement.blp
--------------------------------------------------------------------------------
/Textures/UI-TaxiFrame-BotRightReplacement2.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/UI-TaxiFrame-BotRightReplacement2.blp
--------------------------------------------------------------------------------
/Textures/UI-TaxiFrame-InBetween1.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/UI-TaxiFrame-InBetween1.blp
--------------------------------------------------------------------------------
/Textures/UI-TaxiFrame-InBetween2.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/UI-TaxiFrame-InBetween2.blp
--------------------------------------------------------------------------------
/Textures/UI-TaxiFrame-TopLeftReplacement2.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/UI-TaxiFrame-TopLeftReplacement2.blp
--------------------------------------------------------------------------------
/Textures/UI-TaxiFrame-TopRightReplacement2.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/UI-TaxiFrame-TopRightReplacement2.blp
--------------------------------------------------------------------------------
/Textures/Web.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shellyoung/AdvancedTradeSkillWindow2/f85a25f14866767211190381708d6d0d414b2764/Textures/Web.blp
--------------------------------------------------------------------------------