vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 ------------------------------------------------------------------------------------------------------
2 -- Necrosis LdC
3 --
4 -- Créateur initial (US) : Infernal (http://www.revolvus.com/games/interface/necrosis/)
5 -- Implémentation de base (FR) : Tilienna Thorondor
6 -- Reprise du projet : Lomig & Nyx des Larmes de Cenarius, Kael'Thas
7 --
8 -- Skins et voix Françaises : Eliah, Ner'zhul
9 -- Version Allemande par Arne Meier et Halisstra, Lothar
10 -- Remerciements spéciaux pour Sadyre (JoL)
11 -- Version 28.06.2006-1
12 ------------------------------------------------------------------------------------------------------
13  
14  
15  
16 ------------------------------------------------------------------------------------------------------
17 -- FONCTION D'INITIALISATION
18 ------------------------------------------------------------------------------------------------------
19  
20 function Necrosis_Initialize()
21  
22 -- Initilialisation des Textes (VO / VF / VA)
23 if NecrosisConfig ~= {} then
24 if (NecrosisConfig.NecrosisLanguage == "enUS") or (NecrosisConfig.NecrosisLanguage == "enGB") then
25 Necrosis_Localization_Dialog_En();
26 elseif (NecrosisConfig.NecrosisLanguage == "deDE") then
27 Necrosis_Localization_Dialog_De();
28 else
29 Necrosis_Localization_Dialog_Fr();
30 end
31 elseif GetLocale() == "enUS" or GetLocale() == "enGB" then
32 Necrosis_Localization_Dialog_En();
33 elseif GetLocale() == "deDE" then
34 Necrosis_Localization_Dialog_De();
35 else
36 Necrosis_Localization_Dialog_Fr();
37 end
38  
39  
40 -- On initialise ! Si le joueur n'est pas Démoniste, on cache Necrosis (chuuuut !)
41 -- On indique aussi que Nécrosis est initialisé maintenant
42 if UnitClass("player") ~= NECROSIS_UNIT_WARLOCK then
43 HideUIPanel(NecrosisShardMenu);
44 HideUIPanel(NecrosisSpellTimerButton);
45 HideUIPanel(NecrosisButton);
46 HideUIPanel(NecrosisPetMenuButton);
47 HideUIPanel(NecrosisBuffMenuButton);
48 HideUIPanel(NecrosisCurseMenuButton);
49 HideUIPanel(NecrosisMountButton);
50 HideUIPanel(NecrosisFirestoneButton);
51 HideUIPanel(NecrosisSpellstoneButton);
52 HideUIPanel(NecrosisHealthstoneButton);
53 HideUIPanel(NecrosisSoulstoneButton);
54 HideUIPanel(NecrosisAntiFearButton);
55 HideUIPanel(NecrosisShadowTranceButton);
56 else
57 -- On charge (ou on crée) la configuration pour le joueur et on l'affiche sur la console
58 if NecrosisConfig == nil or NecrosisConfig.Version ~= Default_NecrosisConfig.Version then
59 NecrosisConfig = {};
60 NecrosisConfig = Default_NecrosisConfig;
61 Necrosis_Msg(NECROSIS_MESSAGE.Interface.DefaultConfig, "USER");
62 NecrosisButton:ClearAllPoints();
63 NecrosisShadowTranceButton:ClearAllPoints();
64 NecrosisAntiFearButton:ClearAllPoints();
65 NecrosisSpellTimerButton:ClearAllPoints();
66 NecrosisButton:SetPoint("CENTER", "UIParent", "CENTER",0,-100);
67 NecrosisShadowTranceButton:SetPoint("CENTER", "UIParent", "CENTER",100,-30);
68 NecrosisAntiFearButton:SetPoint("CENTER", "UIParent", "CENTER",100,30);
69 NecrosisSpellTimerButton:SetPoint("CENTER", "UIParent", "CENTER",120,340);
70  
71 else
72 Necrosis_Msg(NECROSIS_MESSAGE.Interface.UserConfig, "USER");
73 end
74  
75 -----------------------------------------------------------
76 -- Exécution des fonctions de démarrage
77 -----------------------------------------------------------
78  
79 -- Affichage d'un message sur la console
80 Necrosis_Msg(NECROSIS_MESSAGE.Interface.Welcome, "USER");
81 -- Création de la liste des sorts disponibles
82 Necrosis_SpellSetup();
83 -- Création de la liste des emplacements des fragments
84 Necrosis_SoulshardSetup();
85 -- Inventaire des pierres et des fragments possédés par le Démoniste
86 Necrosis_BagExplore();
87 -- Création des menus de buff et d'invocation
88 Necrosis_CreateMenu();
89  
90 -- Lecture de la configuration dans le SavedVariables.lua, écriture dans les variables définies
91 if (NecrosisConfig.SoulshardSort) then NecrosisSoulshardSort_Button:SetChecked(1); end
92 if (NecrosisConfig.SoulshardDestroy) then NecrosisSoulshardDestroy_Button:SetChecked(1); end
93 if (NecrosisConfig.ShadowTranceAlert) then NecrosisShadowTranceAlert_Button:SetChecked(1); end
94 if (NecrosisConfig.ShowSpellTimers) then NecrosisShowSpellTimers_Button:SetChecked(1); end
95 if (NecrosisConfig.AntiFearAlert) then NecrosisAntiFearAlert_Button:SetChecked(1); end
96 if (NecrosisConfig.NecrosisLockServ) then NecrosisIconsLock_Button:SetChecked(1); end
97 if (NecrosisConfig.StonePosition[1]) then NecrosisShowFirestone_Button:SetChecked(1); end
98 if (NecrosisConfig.StonePosition[2]) then NecrosisShowSpellstone_Button:SetChecked(1); end
99 if (NecrosisConfig.StonePosition[3]) then NecrosisShowHealthStone_Button:SetChecked(1); end
100 if (NecrosisConfig.StonePosition[4]) then NecrosisShowSoulstone_Button:SetChecked(1); end
101 if (NecrosisConfig.StonePosition[5]) then NecrosisShowBuffMenu_Button:SetChecked(1); end
102 if (NecrosisConfig.StonePosition[6]) then NecrosisShowMount_Button:SetChecked(1); end
103 if (NecrosisConfig.StonePosition[7]) then NecrosisShowPetMenu_Button:SetChecked(1); end
104 if (NecrosisConfig.StonePosition[8]) then NecrosisShowCurseMenu_Button:SetChecked(1); end
105 if (NecrosisConfig.NecrosisToolTip) then NecrosisShowTooltips_Button:SetChecked(1); end
106 if (NecrosisConfig.Sound) then NecrosisSound_Button:SetChecked(1); end
107 if (NecrosisConfig.ShowCount) then NecrosisShowCount_Button:SetChecked(1); end
108 if (NecrosisConfig.BuffMenuPos == -34) then NecrosisBuffMenu_Button:SetChecked(1); end
109 if (NecrosisConfig.PetMenuPos == -34) then NecrosisPetMenu_Button:SetChecked(1); end
110 if (NecrosisConfig.CurseMenuPos == -34) then NecrosisCurseMenu_Button:SetChecked(1); end
111 if (NecrosisConfig.NoDragAll) then NecrosisLock_Button:SetChecked(1); end
112 if (NecrosisConfig.SpellTimerPos == -1) then NecrosisSTimer_Button:SetChecked(1); end
113 if (NecrosisConfig.ChatMsg) then NecrosisShowMessage_Button:SetChecked(1); end
114 if (NecrosisConfig.DemonSummon) then NecrosisShowDemonSummon_Button:SetChecked(1); end
115 if (NecrosisConfig.SteedSummon) then NecrosisShowSteedSummon_Button:SetChecked(1); end
116 if not (NecrosisConfig.ChatType) then NecrosisChatType_Button:SetChecked(1); end
117 if (NecrosisConfig.Graphical) then NecrosisGraphicalTimer_Button:SetChecked(1); end
118 if not (NecrosisConfig.Yellow) then NecrosisTimerColor_Button:SetChecked(1); end
119 if (NecrosisConfig.SensListe == -1) then NecrosisTimerDirection_Button:SetChecked(1); end
120  
121 -- Paramètres des glissières
122 NecrosisButtonRotate_Slider:SetValue(NecrosisConfig.NecrosisAngle);
123 NecrosisButtonRotate_SliderLow:SetText("0");
124 NecrosisButtonRotate_SliderHigh:SetText("360");
125  
126 if NecrosisConfig.NecrosisLanguage == "deDE" then
127 NecrosisLanguage_Slider:SetValue(3);
128 elseif NecrosisConfig.NecrosisLanguage == "enUS" then
129 NecrosisLanguage_Slider:SetValue(2);
130 else
131 NecrosisLanguage_Slider:SetValue(1);
132 end
133 NecrosisLanguage_SliderText:SetText("Langue / Language / Sprache");
134 NecrosisLanguage_SliderLow:SetText("");
135 NecrosisLanguage_SliderHigh:SetText("")
136  
137 NecrosisBag_Slider:SetValue(4 - NecrosisConfig.SoulshardContainer);
138 NecrosisBag_SliderLow:SetText("5");
139 NecrosisBag_SliderHigh:SetText("1");
140  
141 NecrosisCountType_Slider:SetValue(NecrosisConfig.CountType);
142 NecrosisCountType_SliderLow:SetText("");
143 NecrosisCountType_SliderHigh:SetText("");
144  
145 NecrosisCircle_Slider:SetValue(NecrosisConfig.Circle);
146 NecrosisCircle_SliderLow:SetText("");
147 NecrosisCircle_SliderHigh:SetText("");
148  
149 ShadowTranceScale_Slider:SetValue(NecrosisConfig.ShadowTranceScale);
150 ShadowTranceScale_SliderLow:SetText("50%");
151 ShadowTranceScale_SliderHigh:SetText("150%");
152  
153 if (NecrosisConfig.NecrosisColor == "Rose") then
154 NecrosisColor_Slider:SetValue(1);
155 elseif (NecrosisConfig.NecrosisColor == "Bleu") then
156 NecrosisColor_Slider:SetValue(2);
157 elseif (NecrosisConfig.NecrosisColor == "Orange") then
158 NecrosisColor_Slider:SetValue(3);
159 elseif (NecrosisConfig.NecrosisColor == "Turquoise") then
160 NecrosisColor_Slider:SetValue(4);
161 elseif (NecrosisConfig.NecrosisColor == "Violet") then
162 NecrosisColor_Slider:SetValue(5);
163 else
164 NecrosisColor_Slider:SetValue(6);
165 end
166 NecrosisColor_SliderLow:SetText("");
167 NecrosisColor_SliderHigh:SetText("");
168  
169 NecrosisButtonScale_Slider:SetValue(NecrosisConfig.NecrosisButtonScale);
170 NecrosisButtonScale_SliderLow:SetText("50 %");
171 NecrosisButtonScale_SliderHigh:SetText("150 %");
172  
173 NecrosisBanishScale_Slider:SetValue(NecrosisConfig.BanishScale);
174 NecrosisBanishScale_SliderLow:SetText("100 %");
175 NecrosisBanishScale_SliderHigh:SetText("200 %");
176  
177 -- On règle la taille de la pierre et des boutons suivant les réglages du SavedVariables
178 NecrosisButton:SetScale(NecrosisConfig.NecrosisButtonScale/100);
179 NecrosisShadowTranceButton:SetScale(NecrosisConfig.ShadowTranceScale/100);
180 NecrosisAntiFearButton:SetScale(NecrosisConfig.ShadowTranceScale/100);
181 NecrosisBuffMenu9:SetScale(NecrosisConfig.BanishScale/100);
182  
183 -- On définit l'affichage des Timers à gauche ou à droite du bouton
184 NecrosisListSpells:ClearAllPoints();
185 NecrosisListSpells:SetJustifyH(NecrosisConfig.SpellTimerJust);
186 NecrosisListSpells:SetPoint("TOP"..NecrosisConfig.SpellTimerJust, "NecrosisSpellTimerButton", "CENTER", NecrosisConfig.SpellTimerPos * 23, 5);
187 ShowUIPanel(NecrosisButton);
188  
189 -- On définit également l'affichage des tooltips pour ces timers à gauche ou à droite du bouton
190 if NecrosisConfig.SpellTimerJust == -23 then
191 AnchorSpellTimerTooltip = "ANCHOR_LEFT";
192 else
193 AnchorSpellTimerTooltip = "ANCHOR_RIGHT";
194 end
195  
196 -- On vérifie que les fragments sont dans le sac défini par le Démoniste
197 Necrosis_SoulshardSwitch("CHECK");
198  
199 -- Le Shard est-il vérouillé sur l'interface ?
200 if NecrosisConfig.NoDragAll then
201 Necrosis_NoDrag();
202 NecrosisButton:RegisterForDrag("");
203 NecrosisSpellTimerButton:RegisterForDrag("");
204 else
205 Necrosis_Drag();
206 NecrosisButton:RegisterForDrag("LeftButton");
207 NecrosisSpellTimerButton:RegisterForDrag("LeftButton");
208 end
209  
210 -- Les boutons sont-ils vérouillés sur le Shard ?
211 Necrosis_ButtonSetup();
212  
213 -- Si le démoniste a une arme une main d'équipée, on lui équipe le premier objet lié main gauche
214 Necrosis_MoneyToggle();
215 NecrosisTooltip:SetInventoryItem("player", 16);
216 local itemName = tostring(NecrosisTooltipTextLeft2:GetText());
217 if itemName == "Soulbound" then
218 itemName = tostring(NecrosisTooltipTextLeft3:GetText());
219 end
220 Necrosis_MoneyToggle();
221 if not GetInventoryItemLink("player", 17) and not string.find(itemName, NECROSIS_ITEM.Twohand) then
222 Necrosis_SwitchOffHand(NECROSIS_ITEM.Offhand);
223 end
224  
225 -- Initialisation des fichiers de langues -- Mise en place éventuelle du SMS
226 Necrosis_LanguageInitialize();
227 if NecrosisConfig.SM then
228 NECROSIS_SOULSTONE_ALERT_MESSAGE = NECROSIS_SHORT_MESSAGES[1];
229 NECROSIS_INVOCATION_MESSAGES = NECROSIS_SHORT_MESSAGES[2];
230 end
231 end
232 end
233  
234 function Necrosis_LanguageInitialize()
235  
236 -- Localisation du speech.lua
237 NecrosisLocalization();
238  
239 -- Localisation du XML
240 NecrosisVersion:SetText(NecrosisData.Label);
241 NecrosisShardsInventory_Section:SetText(NECROSIS_CONFIGURATION.ShardMenu);
242 NecrosisShardsCount_Section:SetText(NECROSIS_CONFIGURATION.ShardMenu2);
243 NecrosisSoulshardSort_Option:SetText(NECROSIS_CONFIGURATION.ShardMove);
244 NecrosisSoulshardDestroy_Option:SetText(NECROSIS_CONFIGURATION.ShardDestroy);
245  
246 NecrosisMessageSpell_Section:SetText(NECROSIS_CONFIGURATION.SpellMenu1);
247 NecrosisMessagePlayer_Section:SetText(NECROSIS_CONFIGURATION.SpellMenu2);
248 NecrosisShadowTranceAlert_Option:SetText(NECROSIS_CONFIGURATION.TranseWarning);
249 NecrosisAntiFearAlert_Option:SetText(NECROSIS_CONFIGURATION.AntiFearWarning);
250  
251 NecrosisShowTrance_Option:SetText(NECROSIS_CONFIGURATION.TranceButtonView);
252 NecrosisIconsLock_Option:SetText(NECROSIS_CONFIGURATION.ButtonLock);
253  
254 NecrosisShowFirestone_Option:SetText(NECROSIS_CONFIGURATION.Show.Firestone);
255 NecrosisShowSpellstone_Option:SetText(NECROSIS_CONFIGURATION.Show.Spellstone);
256 NecrosisShowHealthStone_Option:SetText(NECROSIS_CONFIGURATION.Show.Healthstone);
257 NecrosisShowSoulstone_Option:SetText(NECROSIS_CONFIGURATION.Show.Soulstone);
258 NecrosisShowMount_Option:SetText(NECROSIS_CONFIGURATION.Show.Steed);
259 NecrosisShowBuffMenu_Option:SetText(NECROSIS_CONFIGURATION.Show.Buff);
260 NecrosisShowPetMenu_Option:SetText(NECROSIS_CONFIGURATION.Show.Demon);
261 NecrosisShowCurseMenu_Option:SetText(NECROSIS_CONFIGURATION.Show.Curse);
262 NecrosisShowTooltips_Option:SetText(NECROSIS_CONFIGURATION.Show.Tooltips);
263  
264 NecrosisShowSpellTimers_Option:SetText(NECROSIS_CONFIGURATION.SpellTime);
265 NecrosisGraphicalTimer_Section:SetText(NECROSIS_CONFIGURATION.TimerMenu);
266 NecrosisGraphicalTimer_Option:SetText(NECROSIS_CONFIGURATION.GraphicalTimer);
267 NecrosisTimerColor_Option:SetText(NECROSIS_CONFIGURATION.TimerColor);
268 NecrosisTimerDirection_Option:SetText(NECROSIS_CONFIGURATION.TimerDirection);
269  
270 NecrosisLock_Option:SetText(NECROSIS_CONFIGURATION.MainLock);
271 NecrosisBuffMenu_Option:SetText(NECROSIS_CONFIGURATION.BuffMenu);
272 NecrosisPetMenu_Option:SetText(NECROSIS_CONFIGURATION.PetMenu);
273 NecrosisCurseMenu_Option:SetText(NECROSIS_CONFIGURATION.CurseMenu);
274 NecrosisShowCount_Option:SetText(NECROSIS_CONFIGURATION.ShowCount);
275 NecrosisSTimer_Option:SetText(NECROSIS_CONFIGURATION.STimerLeft);
276  
277 NecrosisSound_Option:SetText(NECROSIS_CONFIGURATION.Sound);
278 NecrosisShowMessage_Option:SetText(NECROSIS_CONFIGURATION.ShowMessage);
279 NecrosisShowSteedSummon_Option:SetText(NECROSIS_CONFIGURATION.ShowSteedSummon);
280 NecrosisShowDemonSummon_Option:SetText(NECROSIS_CONFIGURATION.ShowDemonSummon);
281 NecrosisChatType_Option:SetText(NECROSIS_CONFIGURATION.ChatType);
282  
283 NecrosisButtonRotate_SliderText:SetText(NECROSIS_CONFIGURATION.MainRotation);
284 NecrosisCountType_SliderText:SetText(NECROSIS_CONFIGURATION.CountType);
285 NecrosisCircle_SliderText:SetText(NECROSIS_CONFIGURATION.Circle);
286 NecrosisBag_SliderText:SetText(NECROSIS_CONFIGURATION.BagSelect);
287 NecrosisButtonScale_SliderText:SetText(NECROSIS_CONFIGURATION.NecrosisSize);
288 NecrosisBanishScale_SliderText:SetText(NECROSIS_CONFIGURATION.BanishSize);
289 ShadowTranceScale_SliderText:SetText(NECROSIS_CONFIGURATION.TranseSize);
290 NecrosisColor_SliderText:SetText(NECROSIS_CONFIGURATION.Skin);
291  
292 end
293  
294  
295  
296 ------------------------------------------------------------------------------------------------------
297 -- FONCTION GERANT LA COMMANDE CONSOLE /NECRO
298 ------------------------------------------------------------------------------------------------------
299  
300 function Necrosis_SlashHandler(arg1)
301 -- Blah blah blah, le joueur est-il bien un Démoniste ? On finira par le savoir !
302 if UnitClass("player") ~= NECROSIS_UNIT_WARLOCK then
303 return;
304 end
305 if string.find(string.lower(arg1), "recall") then
306 NecrosisButton:ClearAllPoints();
307 NecrosisButton:SetPoint("CENTER", "UIParent", "CENTER",0,0);
308 NecrosisSpellTimerButton:ClearAllPoints();
309 NecrosisSpellTimerButton:SetPoint("CENTER", "UIParent", "CENTER",0,0);
310 NecrosisAntiFearButton:ClearAllPoints();
311 NecrosisAntiFearButton:SetPoint("CENTER", "UIParent", "CENTER",20,0);
312 NecrosisShadowTranceButton:ClearAllPoints();
313 NecrosisShadowTranceButton:SetPoint("CENTER", "UIParent", "CENTER",-20,0);
314 elseif string.find(string.lower(arg1), "sm") then
315 if NECROSIS_SOULSTONE_ALERT_MESSAGE == NECROSIS_SHORT_MESSAGES[1] then
316 NecrosisConfig.SM = false;
317 NecrosisLocalization();
318 Necrosis_Msg("Short Messages : <red>Off", "USER");
319 else
320 NecrosisConfig.SM = true;
321 NECROSIS_SOULSTONE_ALERT_MESSAGE = NECROSIS_SHORT_MESSAGES[1];
322 NECROSIS_INVOCATION_MESSAGES = NECROSIS_SHORT_MESSAGES[2];
323 Necrosis_Msg("Short Messages : <brightGreen>On", "USER");
324 end
325 elseif string.find(string.lower(arg1), "cast") then
326 NecrosisSpellCast(string.lower(arg1));
327 else
328 if NECROSIS_MESSAGE.Help ~= nil then
329 for i = 1, table.getn(NECROSIS_MESSAGE.Help), 1 do
330 Necrosis_Msg(NECROSIS_MESSAGE.Help[i], "USER");
331 end
332 end
333 Necrosis_Toggle();
334 end
335 end