function KillingBlowAnnouncer:ToggleEnableKBTDrag(info, value)
    self.db.profile.enableKBTDrag = value;
    lockKbtracker();
end;

function KillingBlowAnnouncer:ToggleEnableImageDrag(info, value)
    self.db.profile.enableImageDrag = value;
    lockImageFrame();
end;

function KillingBlowAnnouncer:ToggleEnableMessageDrag(info, value)
    self.db.profile.enableMessageDrag = value;
    lockMessageFrame();
end;

function KillingBlowAnnouncer:ToggleEnableKBT(info, value)
    self.db.profile.enableKBT = value;
    hideKbtracker();
end;

function KillingBlowAnnouncer:ToggleEnableSoundOrderedRestartDeath(info, value)
    self.db.profile.sounds_ordered_restart_death = value;
    resetSoundsOnDeath();
end;

function KillingBlowAnnouncer:ToggleEnableSoundOrderedRestartZone(info, value)
    self.db.profile.sounds_ordered_restart_zone = value;
    resetSoundsOnZoneChange();
end;

function KillingBlowAnnouncer:ToggleEnableSoundOrderedRestartTime(info, value)
    self.db.profile.sounds_ordered_restart_time = value;
    showSoundsTimerVal();
end;

function KillingBlowAnnouncer:ToggleEnableSoundOrderedRestartEnd(info, value)
    self.db.profile.sounds_ordered_restart_end = value;
end;

function KillingBlowAnnouncer:SetSoundsOrderedTimeVal(info, value)
    self.db.profile.sounds_ordered_time_val = value;
end;

function KillingBlowAnnouncer:SetKillingMessage(info, newValue)
    self.db.profile.killingMessage = newValue;
    setKillingMsg();
end;

function KillingBlowAnnouncer:SetMessage(info, newValue)
    self.db.profile.message = newValue;
end;

function KillingBlowAnnouncer:ToggleGetEnableStartupText(info, newValue)
    self.db.profile.disableStartupText = newValue;
end;

function KillingBlowAnnouncer:SetRed(info, newValue)
    self.db.profile.red = newValue;
end;

function KillingBlowAnnouncer:SetBlue(info, newValue)
    self.db.profile.blue = newValue;
end;
function KillingBlowAnnouncer:SetGreen(info, newValue)
    self.db.profile.green = newValue;
end;

function KillingBlowAnnouncer:SetPrevSession(info, newValue)
    self.db.profile.prevSession = newValue;
end;

function KillingBlowAnnouncer:SetFadeInTime(info, value)
    self.db.profile.KBI_fadeInTime = value;
end;

function KillingBlowAnnouncer:SetFadeOutTime(info, value)
    self.db.profile.KBI_fadeOutTime = value;
end;

function KillingBlowAnnouncer:SetEndDelay(info, value)
    self.db.profile.KBI_duration = value;
end;

function KillingBlowAnnouncer:SetModus(info, value)
    self.db.profile.KB_modus = value;
end;

function KillingBlowAnnouncer:SetSoundModus(info, value)
    self.db.profile.sounds_modus = value;
end;

function KillingBlowAnnouncer:SetMinimapStatus(info, value)
    self.db.profile.minimap.hide = value;
end;

function KillingBlowAnnouncer:ToggleEnablePVP(info, value)
    self.db.profile.enablePVP = value;
end;

function KillingBlowAnnouncer:ToggleEnableMSG(info, value)
    self.db.profile.enableMSG = value;
end;

function KillingBlowAnnouncer:SetChatChannel(info, value)
    self.db.profile.chatChannel = value;
end;

function KillingBlowAnnouncer:ToggleEnableKBSound(info, value)
    self.db.profile.enableKBSound = value;
end;

function KillingBlowAnnouncer:ToggleEnableKB(info, value)
    self.db.profile.enableKB = value;
end;

function KillingBlowAnnouncer:SetVisibleTime(info, value)
    self.db.profile.visibleTime = value;
    setTime()
end;

function KillingBlowAnnouncer:SetFadeTime(info, value)
    self.db.profile.fadeTime = value;
    setTime();
end;

function KillingBlowAnnouncer:SetTrackerBackground(info, value)
    self.db.profile.trackerBackground = value;
    setBackdrop();
end;

function KillingBlowAnnouncer:SetTrackerBorder(info, value)
    self.db.profile.trackerBorder = value;
    setBackdrop();
end;

function KillingBlowAnnouncer:SetFontSize(info, value)
    self.db.profile.fontSize = value;
    setFont();
end;

function KillingBlowAnnouncer:SetFont(info, value)
    self.db.profile.font = value;
    setFont();
end;

function KillingBlowAnnouncer:SetTrackerFont(info, value)
    self.db.profile.trackerFont = value;
    setTrackerFont();
end;

function KillingBlowAnnouncer:SetSoundLevel(info, value)
    self.db.profile.soundLevel = value;
end;

function KillingBlowAnnouncer:SetOutline(info, value)
    self.db.profile.outline = value;
    setFont();
end;

function KillingBlowAnnouncer:ToggleEnableSnap(info, value)
    self.db.profile.enableSnap = value;
    snapMessage();
end;

function KillingBlowAnnouncer:ToggleEnableMinimapIcon(info, value)
    self.db.profile.minimap.enableMinimapIcon = value;
end;

function KillingBlowAnnouncer:ToggleEnableMSGAnnounce(info, value)
    self.db.profile.enableMSGAnnounce = value;
end;

function KillingBlowAnnouncer:ToggleEnableEmotes(info, value)
    self.db.profile.enableEmotes = value;
end;

function KillingBlowAnnouncer:SetEmote(info, key)
    if self.db.profile.emotes[key] == nil then
        self.db.profile.emotes[key] = key;
    else
        self.db.profile.emotes[key] = nil;
    end
end;

function KillingBlowAnnouncer:SetSound(info, key)
    if self.db.profile.sounds[key] == nil then
        self.db.profile.sounds[key] = key;
    else
        self.db.profile.sounds[key] = nil;
    end
end;

function KillingBlowAnnouncer:UncheckAllEmotes()
    self.db.profile.emotes = {};
end;

function KillingBlowAnnouncer:UncheckAllSounds()
    self.db.profile.sounds = {};
end;

function KillingBlowAnnouncer:SetAnnounceMessage(info, value)
    self.db.profile.messageAnnounce = value;
end;

function KillingBlowAnnouncer:SetAnnounceMessageNon(info, value)
    self.db.profile.messageAnnounceNon = value;
end;

function KillingBlowAnnouncer:SetChatAnnounceChannel(info, value)
    self.db.profile.chatAnnounceChannel = value;
end;

function KillingBlowAnnouncer:SetKBIImage(info, value)
    self.db.profile.KBI_image = value;
    imageObj:SetTexture(value)
end;

function KillingBlowAnnouncer:SetKBIWidth(info, value)
    self.db.profile.KBI_width = value;
    resizeKBIImage(value,KillingBlowAnnouncer:GetKBIHeight(info))
end;

function KillingBlowAnnouncer:SetKBIHeight(info, value)
    self.db.profile.KBI_height = value;
    resizeKBIImage(KillingBlowAnnouncer:GetKBIWidth(info),value)
end;

function KillingBlowAnnouncer:SetKBMWidth(info, value)
    self.db.profile.KBM_width = value;
    resizeKBMMessage(value,KillingBlowAnnouncer:GetKBMHeight(info))
end;

function KillingBlowAnnouncer:SetKBMHeight(info, value)
    self.db.profile.KBM_height = value;
    resizeKBMMessage(KillingBlowAnnouncer:GetKBMWidth(info),value)
end;

function KillingBlowAnnouncer:ToggleKBIDebug(info, value)
    if(value == true) then
        imageAnimationIn:Stop();
        imageAnimationOut:Stop();
        fade()
    end

    self.db.profile.KBI_debug = value;
end;

function KillingBlowAnnouncer:SetKBIRelTo(info, value)
     self.db.profile.KBI_relto = value;
end;

 function KillingBlowAnnouncer:SetKBIRelPoint(info, value)
     self.db.profile.KBI_relpoint = value;
end;

 function KillingBlowAnnouncer:SetKBIXOffset(info, value)
     self.db.profile.KBI_xOffset = value;
end;

function KillingBlowAnnouncer:SetKBIYOffset(info, value)
     self.db.profile.KBI_yOffset = value;
end;

 function KillingBlowAnnouncer:SetKBIPoint(info, value)
     self.db.profile.KBI_point = value;
end;



function KillingBlowAnnouncer:SetKBMRelTo(info, value)
     self.db.profile.KBM_relto = value;
end;

 function KillingBlowAnnouncer:SetKBMRelPoint(info, value)
     self.db.profile.KBM_relpoint = value;
end;

 function KillingBlowAnnouncer:SetKBMXOffset(info, value)
     self.db.profile.KBM_xOffset = value;
end;

function KillingBlowAnnouncer:SetKBMYOffset(info, value)
     self.db.profile.KBM_yOffset = value;
end;

function KillingBlowAnnouncer:SetKBMPoint(info, value)
     self.db.profile.KBM_point = value;
end;

function KillingBlowAnnouncer:IncrementOrderedIndex()
    self.db.profile.sounds_ordered_cur = KillingBlowAnnouncer:GetSoundOrderedIndex() + 1;
end;

function KillingBlowAnnouncer:DecrementOrderedIndex()
    if (KillingBlowAnnouncer:GetSoundOrderedIndex() ~= 1) then
        self.db.profile.sounds_ordered_cur = KillingBlowAnnouncer:GetSoundOrderedIndex() - 1;
        self.db.profile.sounds_ordered_list[KillingBlowAnnouncer:GetSoundOrderedIndex()] = nil;
    end
end;

function KillingBlowAnnouncer:SetSoundOrderedListItem(info, value, index)
    if index == null then
        self.db.profile.sounds_ordered_list[info[#info]] = value;
    else
        self.db.profile.sounds_ordered_list[index] = value;
    end

end;

function KillingBlowAnnouncer:IncrementSoundsOrderedOrder()
    if (options.args.sound.args.sound_ordered.args[tostring(KillingBlowAnnouncer:GetSoundsOrderedOrder() + 1)] ~= nil) then
        sounds_ordered_order = KillingBlowAnnouncer:GetSoundsOrderedOrder() + 1;
    elseif (KillingBlowAnnouncer:EnableSoundOrderedRestartEnd() == true) then
        KillingBlowAnnouncer:ResetSoundsOrderedOrder();
    end
end;

function KillingBlowAnnouncer:ResetSoundsOrderedOrder()
    sounds_ordered_order = 1;
end;