vanilla-wow-addons – Rev 1
?pathlinks?
SmartPet_OPTIONS_TITLE = "SmartPet Options";
function SmartPetOptions_Toggle() --Toggles SmartPet GUI
if (SmartPetOptionsFrame:IsVisible()) then
SmartPetOptionsFrame:Hide();
else
SmartPetOptionsFrame:Show();
end
end
function SmartPetEnable_Toggle() --Toggles SmartPet On/Off
if (SmartPet_Config.Enabled) then
SmartPet_Config.Enabled = false;
SmartPet_AllOptions:Hide();
else
SmartPet_Config.Enabled = true;
SmartPet_AllOptions:Show();
end
SmartPet_UpdateActionIcons(true);
end
function SmartPetChannelSet() --Sets Pet Health Warning Channel
if ( (SmartPet_AutoWarnChannelEditBox:GetNumber() < 0 ) or (SmartPet_AutoWarnChannelEditBox == nil) )then
SmartPet_Config.ChannelNumber = 1;
else
SmartPet_Config.ChannelNumber = SmartPet_AutoWarnChannelEditBox:GetNumber();
end
SmartPet_Config.Channel = "channel";
end
function SmartPetAutowarn_Toggle()
SmartPet_OnSlashCommand(SMARTPET_AUTOWARN);
end
function SmartPetOptions_OnLoad()
UIPanelWindows['SmartPetOptionsFrame'] = {area = 'center', pushable = 0};
tinsert(UISpecialFrames, "SmartPetOptionsFrame")
end
function SmartPetOptions_OnShow()
SmartPetEnableToggleButton:SetChecked(SmartPet_Config.Enabled);
SmartPetToolTipsToggleButton:SetChecked(SmartPet_Config.ToolTips);
SmartPetAutoWarnToggleButton:SetChecked(SmartPet_Config.AutoWarn);
SmartPetAutoCowerToggleButton:SetChecked(SmartPet_Config.AutoCower);
SmartPetAutoWarnPercentEditBox:SetText(SmartPet_Config.WarnHealth);
SmartPetAutoCowerPercentEditBox:SetText(SmartPet_Config.CowerHealth);
SmartPetNoChaseToggleButton:SetChecked(SmartPet_Config.NoChase);
SmartPetOptionsToggleButton:SetChecked(SmartPet_Config.Icon);
SmartPetSmartFocusCheckBox:SetChecked(SmartPet_Config.SmartFocus);
SmartPetAttackAlert:SetChecked(SmartPet_Config.Alert);
SmartPetScatterToggleButton:SetChecked(SmartPet_Config.Scatter);
SmartPetSpellOnAttackToggleButton:SetChecked(SmartPet_Config.SpellAttack);
SmartPetHealthWarning_Group:SetChecked((SmartPet_Config.Channel == "party"));
SmartPetHealthWarning_Say:SetChecked((SmartPet_Config.Channel == "say"));
SmartPetHealthWarning_Raid:SetChecked((SmartPet_Config.Channel == "raid"));
SmartPetHealthWarning_Guild:SetChecked((SmartPet_Config.Channel == "guild"));
SmartPetHealthWarning_Channel:SetChecked((SmartPet_Config.Channel == "channel"));
SmartPet_AutoWarnChannelEditBox:SetText(SmartPet_Config.ChannelNumber);
SmartPetAttackRunCheckBox:SetChecked(SmartPet_Config.RushAttack);
SmartPetRecallAlert:SetChecked(SmartPet_Config.RecallWarn);
if (SmartPet_Config.Spell ~= "") then
local spellName, spellRank = GetSpellName( SmartPet_Config.Spell, SmartPet_Config.SpellBook);
SmartPetAttackSpell:SetNormalTexture(GetSpellTexture(SmartPet_Config.Spell, SmartPet_Config.SpellBook));
SmartPetAttackSpellText:SetText(spellName.." "..spellRank);
end
if (SmartPet_Config.Enabled) then
SmartPet_AllOptions:Show();
else
SmartPet_AllOptions:Hide();
end
if (SmartPet_Config.AutoWarn) then
SmartPet_HealthWarningChanels:Show();
else
SmartPet_HealthWarningChanels:Hide();
end
if (SmartPet_Config.Scatter) then
SmartPet_ScatterOptions:Show();
else
SmartPet_ScatterOptions:Hide();
end
if (SmartPet_Config.ScatterMood == PetPassiveMode) then
SmartPetScatterPassiveButton:SetChecked(true);
SmartPetScatterDefensiveButton:SetChecked(false);
elseif (SmartPet_Config.ScatterMood == PetDefensiveMode) then
SmartPetScatterDefensiveButton:SetChecked(true);
SmartPetScatterPassiveButton:SetChecked(false);
else
SmartPetScatterDefensiveButton:SetChecked(false);
SmartPetScatterPassiveButton:SetChecked(false);
end
if (SmartPet_Config.ScatterOrder == PetFollow) then
SmartPetScatterFollowButton:SetChecked(true);
SmartPetScatterStayButton:SetChecked(false);
elseif (SmartPet_Config.ScatterOrder == PetWait) then
SmartPetScatterStayButton:SetChecked(true);
SmartPetScatterFollowButton:SetChecked(false);
else
SmartPetScatterStayButton:SetChecked(false);
SmartPetScatterFollowButton:SetChecked(false);
end
--Hides settings not relevent to warlocks
if (SmartPet_Vars.Class == "WARLOCK") then
SmartPetAutoCowerToggleButton:Hide();
SmartPetAutoCowerPercentEditBox:Hide();
SmartPetSmartFocusCheckBox:Hide();
SmartPetAttackRunCheckBox:Hide();
SmartPetScatterToggleButton:Hide();
SmartPet_ScatterOptions:Hide();
end
end
function SmartPetOptions_Init()
end
function SmartPetOptions_OnHide()
if(MYADDONS_ACTIVE_OPTIONSFRAME == this) then
ShowUIPanel(myAddOnsFrame);
end
end
--Sets spell to use on attack when droped in attack spell slot
function SmartPetSelectedSpell()
if (SmartPet_Vars.PickedUp_Spell == "") then
SmartPetClearSpell();
return
end
local spellName, spellRank = GetSpellName( SmartPet_Vars.PickedUp_Spell , SmartPet_Vars.PickedUp_SpellBook);
--SmartPet_AddInfoMessage(spellName);
--SmartPet_AddInfoMessage(spellRank);
--SmartPet_AddInfoMessage(GetSpellTexture(SmartPet_Vars.PickedUp_Spell , SmartPet_Vars.PickedUp_SpellBook ));
SmartPetAttackSpell:SetNormalTexture(GetSpellTexture(SmartPet_Vars.PickedUp_Spell , SmartPet_Vars.PickedUp_SpellBook ));
ResetCursor();
PickupSpell(SmartPet_Vars.PickedUp_Spell , SmartPet_Vars.PickedUp_SpellBook) ;
SmartPetAttackSpellText:SetText(spellName..spellRank);
SmartPet_Config.Spell = SmartPet_Vars.PickedUp_Spell;
SmartPet_Config.SpellBook = SmartPet_Vars.PickedUp_SpellBook;
SmartPet_Vars.PickedUp_Spell = "";
SmartPet_Vars.PickedUp_SpellBook = "";
end
--removes selected spell from cursor when droping on attack spell slot
function SmartPetClearSpell()
SmartPetAttackSpell:SetNormalTexture("Interface\\Buttons\\UI-EmptySlot-Disabled");
SmartPetAttackSpellText:SetText("None");
SmartPet_Config.Spell = "";
SmartPet_Config.SpellBook = "";
end
--
function SmartPetScatterMoodToggle(mood)
if (mood == "passive") then
SmartPet_Config.ScatterMood = PetPassiveMode;
SmartPetScatterPassiveButton:SetChecked(true);
SmartPetScatterDefensiveButton:SetChecked(false);
elseif (mood == "defensive") then
SmartPet_Config.ScatterMood = PetDefensiveMode;
SmartPetScatterDefensiveButton:SetChecked(true);
SmartPetScatterPassiveButton:SetChecked(false);
else
SmartPet_Config.ScatterMood = "";
SmartPetScatterDefensiveButton:SetChecked(false);
SmartPetScatterPassiveButton:SetChecked(false);
end
end
function SmartPetScatterCommandToggle(order)
if (order == "follow") then
SmartPet_Config.ScatterOrder = PetFollow;
SmartPetScatterFollowButton:SetChecked(true);
SmartPetScatterStayButton:SetChecked(false);
elseif (order == "stay") then
SmartPet_Config.ScatterOrder = PetWait;
SmartPetScatterStayButton:SetChecked(true);
SmartPetScatterFollowButton:SetChecked(false);
else
SmartPet_Config.ScatterOrder = "";
SmartPetScatterStayButton:SetChecked(false);
SmartPetScatterFollowButton:SetChecked(false);
end
end
Generated by GNU Enscript 1.6.5.90.