-------------------------------------------------------------------------------------
-- Title: MSBT Defaults
-- Author: Mik
-------------------------------------------------------------------------------------

-- Create module namespace.
MSBTDefaults = {};


-------------------------------------------------------------------------------------
-- Public Variables.
-------------------------------------------------------------------------------------

-- Holds the default event settings.  These settings will be used if a field is omitted
-- from an event settings table so that same information doesn't have to be stored in
-- multiple locations (flags don't apply since a lack of presence is false).
MSBTDefaults.EventSettings = {
 Color			= {r=1, g=1, b=1},
 NormalFontName		= 0,
 NormalOutlineIndex	= 0,
 NormalFontSize		= 0,
 CritFontName		= 0,
 CritOutlineIndex		= 0,
 CritFontSize		= 0,
 SoundName			= nil,
 ScrollAreaIndex		= 3,
};

-- Holds the default scroll area settings.  These settings will be used if a field is omitted
-- from a scroll area settings table so that same information doesn't have to be stored in
-- multiple locations (flags don't apply since a lack of presence is false).
MSBTDefaults.ScrollAreaSettings = {
 OffsetX			= 0,
 OffsetY			= 0,
 AnimationStyle		= "Straight",
 StickyAnimationStyle	= "Pow",
 ScrollHeight		= 260,
 NormalFontName		= 0,
 NormalOutlineIndex	= 0,
 NormalFontSize		= 0,
 CritFontName		= 0,
 CritOutlineIndex		= 0,
 CritFontSize		= 0,
 TextAlignIndex		= 1,
}


-------------------------------------------------------------------------------------
-- Private variables.
-------------------------------------------------------------------------------------

-- Holds the default profile.
local defaultProfile;


-------------------------------------------------------------------------------------
-- Default Profile.
-------------------------------------------------------------------------------------

-- **********************************************************************************
-- Returns the default profile.  It will be created the first time this function is
-- called.  All subsequent calls will return the already loaded data.
--
-- Event codes:
--  %a = amount of the attack, heal, gain, loss, etc.
--  %n = name of enemy/player
--  %s = name of the spell, ability, buff, debuff, power type, etc.
--  %t = damage type
-- **********************************************************************************
function MSBTDefaults.GetDefaultProfile()
 -- Check if the default profile has not been created yet.
 if (not defaultProfile) then
  defaultProfile = {};

  -- Setup the master font settings.
  defaultProfile.MasterFontSettings = {
   NormalFontName 	= "Default",
   NormalOutlineIndex	= 3,
   NormalFontSize		= 18,
   CritFontName 		= "Default",
   CritOutlineIndex	= 3,
   CritFontSize		= 26,
  };


  -- Setup the scroll area settings.
  defaultProfile.ScrollAreaSettings = {
   -- Incoming
   [1] = {
    Name			= MSBTLocale.MSG_INCOMING;
    OffsetX			= -60,
    OffsetY			= -160,
    AnimationStyle	= "LeftParabola",
    Reversed		= true,
    TextAlignIndex	= 3,
   },
   -- Outgoing
   [2] = {
    Name			= MSBTLocale.MSG_OUTGOING;
    OffsetX			= 60,
    OffsetY			= -160,
    AnimationStyle	= "RightParabola",
    Reversed		= true,
   },
   -- Notification
   [3] = {
    Name			= MSBTLocale.MSG_NOTIFICATION;
    OffsetX			= 0,
    OffsetY			= 100,
    ScrollHeight		= 150,
    TextAlignIndex	= 2,
   },
  };
  

  -- Setup the event settings.
  defaultProfile.EventSettings = {
   INCOMING_DAMAGE = {
    Color			= {r=1, g=0, b=0},
    Message			= "(%n) -%a",
    CanCrit			= true,
    ScrollAreaIndex	= 1,
   },
   INCOMING_MISS = {
    Color			= {r=0, g=0, b=1},
    Message			= MISS .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_DODGE = {
    Color			= {r=0, g=0, b=1},
    Message 		= DODGE .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_PARRY = {
    Color			= {r=0, g=0, b=1},
    Message			= PARRY .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_BLOCK	= {
    Color			= {r=0, g=0, b=1},
    Message			= BLOCK .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_ABSORB = {
    Color			= {r=1, g=1, b=0},
    Message			= ABSORB .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_IMMUNE = {
    Color			= {r=1, g=1, b=0},
    Message			= IMMUNE .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_SPELL_DAMAGE = {
    Color			= {r=1, g=0, b=0},
    Message			= "(%s) -%a",
    CanCrit			= true,
    ScrollAreaIndex	= 1,
   },
   INCOMING_SPELL_DOT = {
    Color			= {r=1, g=0, b=0},
    Message			= "(%s) -%a",
    ScrollAreaIndex	= 1,
   },
   INCOMING_SPELL_MISS = {
    Color			= {r=0, g=0, b=1},
    Message			= "(%s) " .. MISS .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_SPELL_DODGE = {
    Color			= {r=0, g=0, b=1},
    Message			= "(%s) " .. DODGE .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_SPELL_PARRY = {
    Color			= {r=0, g=0, b=1},
    Message			= "(%s) " .. PARRY .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_SPELL_BLOCK = {
    Color			= {r=0, g=0, b=1},
    Message			= "(%s) " .. BLOCK  .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_SPELL_RESIST = {
    Color			= {r=0.5, g=0, b=0.5},
    Message			= "(%s) " .. RESIST .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_SPELL_ABSORB = {
    Color			= {r=1, g=1, b=0},
    Message			= "(%s) " .. ABSORB .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_SPELL_IMMUNE = {
    Color			= {r=1, g=1, b=0},
    Message			= "(%s) " .. IMMUNE .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_SPELL_REFLECT = {
    Color			= {r=0.5, g=0, b=0.5},
    Message			= "(%s) " .. REFLECT .. "!",
    CanCrit			= true,
    ScrollAreaIndex	= 1,
   },
   INCOMING_SPELL_INTERRUPT = {
    Color			= {r=1, g=1, b=0},
    Message			= "(%s) " .. INTERRUPT .. "!",
    ScrollAreaIndex	= 1,
   },
   INCOMING_HEAL = {
    Color			= {r=0, g=1, b=0},
    Message			= "(%s - %n) +%a",
    CanCrit			= true,
    ScrollAreaIndex	= 1,
   },
   INCOMING_HOT = {
    Color			= {r=0, g=1, b=0},
    Message			= "(%s - %n) +%a",
    ScrollAreaIndex	= 1,
   },
   INCOMING_ENVIRONMENTAL = {
    Color			= {r=1, g=0, b=0},
    Message			= "-%a %s",
    ScrollAreaIndex	= 1,
   },

   OUTGOING_DAMAGE = {
    Message			= "%a",
    CanCrit			= true,
    ScrollAreaIndex	= 2,
   },
   OUTGOING_MISS = {
    Message			= MISS .. "!",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_DODGE = {
    Message			= DODGE .. "!",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_PARRY = {
    Message			= PARRY .. "!",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_BLOCK = {
    Message			= BLOCK .. "!",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_ABSORB = {
    Color			= {r=1, g=1, b=0},
    Message			= ABSORB .. "!",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_IMMUNE = {
    Color			= {r=1, g=1, b=0},
    Message			= IMMUNE .. "!",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_EVADE = {
    Color			= {r=1, g=0.5, b=0},
    Message			= EVADE .. "!",
    NormalFontSize	= 22,
    ScrollAreaIndex	= 2,
   },
   OUTGOING_SPELL_DAMAGE = {
    Color			= {r=1, g=1, b=0},
    Message			= "%a (%s)",
    CanCrit			= true,
    ScrollAreaIndex	= 2,
   },
   OUTGOING_SPELL_DOT = {
    Color			= {r=1, g=1, b=0},
    Message			= "%a (%s)",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_SPELL_MISS = {
    Message			= MISS .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_SPELL_DODGE = {
    Message			= DODGE .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_SPELL_PARRY = {
    Message			= PARRY .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_SPELL_BLOCK = {
    Message			= BLOCK .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_SPELL_RESIST = {
    Color			= {r=0.5, g=0.5, b=0.698},
    Message			= RESIST .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_SPELL_ABSORB = {
    Color			= {r=1, g=1, b=0},
    Message			= ABSORB .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_SPELL_IMMUNE = {
    Color			= {r=1, g=1, b=0},
    Message			= IMMUNE .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_SPELL_REFLECT = {
    Color			= {r=1, g=1, b=0},
    Message			= REFLECT .. "! (%s)",
    CanCrit			= true,
    ScrollAreaIndex	= 2,
   },
   OUTGOING_SPELL_INTERRUPT = {
    Color			= {r=1, g=1, b=0},
    Message			= INTERRUPT .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   OUTGOING_SPELL_EVADE = {
    Color			= {r=1, g=0.5, b=0},
    Message			= EVADE .. "! (%s)",
    NormalFontSize	= 22,
    ScrollAreaIndex	= 2,
   },
   OUTGOING_HEAL = {
    Color			= {r=0, g=1, b=0},
    Message			= "+%a (%s - %n)",
    CritFontSize		= 22,
    CanCrit			= true,
    ScrollAreaIndex	= 2,
   },
   OUTGOING_HOT = {
    Color			= {r=0, g=1, b=0},
    Message			= "+%a (%s - %n)",
    ScrollAreaIndex	= 2,
   },

   PET_DAMAGE = {
    Color			= {r=1, g=0.5, b=0},
    Message			= PET .. " %a",
    CanCrit			= true,
    ScrollAreaIndex	= 2,
   },
   PET_MISS = {
    Color			= {r=1, g=0.5, b=0},
    Message			= PET .. " " .. MISS,
    ScrollAreaIndex	= 2,
   },
   PET_DODGE = {
    Color			= {r=1, g=0.5, b=0},
    Message			= PET .. " " .. DODGE,
    ScrollAreaIndex	= 2,
   },
   PET_PARRY = {
    Color			= {r=1, g=0.5, b=0},
    Message			= PET .. " " .. PARRY,
    ScrollAreaIndex	= 2,
   },
   PET_BLOCK = {
    Color			= {r=1, g=0.5, b=0},
    Message			= PET .. " " .. BLOCK,
    ScrollAreaIndex	= 2,
   },
   PET_ABSORB = {
    Color			= {r=0.5, g=0.5, b=1},
    Message			= PET .. " " .. ABSORB,
    ScrollAreaIndex	= 2,
   },
   PET_IMMUNE = {
    Color			= {r=0.5, g=0.5, b=1},
    Message			= PET .. " " .. IMMUNE,
    ScrollAreaIndex	= 2,
   },
   PET_EVADE = {
    Color			= {r=1, g=0.5, b=1},
    Message			= PET .. " " .. EVADE,
    NormalFontSize	= 22,
    ScrollAreaIndex	= 2,
   },
   PET_SPELL_DAMAGE = {
    Color			= {r=0.33, g=0.33, b=1},
    Message			= PET .. " %a (%s)",
    CanCrit			= true,
    ScrollAreaIndex	= 2,
   },
   PET_SPELL_MISS	 = {
    Color			= {r=0.33, g=0.33, b=1},
    Message			= PET .. " " .. MISS .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   PET_SPELL_DODGE = {
    Color			= {r=0.33, g=0.33, b=1},
    Message			= PET .. " " .. DODGE .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   PET_SPELL_PARRY = {
    Color			= {r=0.33, g=0.33, b=1},
    Message			= PET .. " " .. PARRY .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   PET_SPELL_BLOCK = {
    Color			= {r=0.33, g=0.33, b=1},
    Message			= PET .. " " .. BLOCK .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   PET_SPELL_RESIST = {
    Color			= {r=0.5, g=0.5, b=0.698},
    Message			= PET .. " " .. RESIST .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   PET_SPELL_ABSORB = {
    Color			= {r=0.5, g=0.5, b=1},
    Message			= PET .. " " .. ABSORB .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   PET_SPELL_IMMUNE = {
    Color			= {r=0.5, g=0.5, b=1},
    Message			= PET .. " " .. IMMUNE .. "! (%s)",
    ScrollAreaIndex	= 2,
   },
   PET_SPELL_EVADE = {
    Color			= {r=1, g=0.5, b=1},
    Message			= PET .. " " .. EVADE .. "! (%s)",
    ScrollAreaIndex	= 2,
   },

   NOTIFICATION_DEBUFF = {
    Color			= {r=0, g=0.5, b=0.5},
    Message			= "[%s]",
   },
   NOTIFICATION_BUFF = {
    Color			= {r=0.698, g=0.698, b=0},
    Message			= "[%s]",
   },
   NOTIFICATION_ITEM_BUFF = {
    Color			= {r=0.698, g=0.698, b=0.698},
    Message			= "[%s]",
   },
   NOTIFICATION_DEBUFF_FADE = {
    Color			= {r=0, g=0.835, b=0.835},
    Message			= "-[%s]",
   },
   NOTIFICATION_BUFF_FADE = {
    Color			= {r=0.918, g=0.918, b=0},
    Message			= "-[%s]",
   },
   NOTIFICATION_ITEM_BUFF_FADE = {
    Color			= {r=0.831, g=0.831, b=0.831},
    Message			= "-[%s]",
   },
   NOTIFICATION_COMBAT_ENTER = {
    Message			= "+" .. MSBTLocale.MSG_COMBAT,
   },
   NOTIFICATION_COMBAT_LEAVE = {
    Message			= "-" .. MSBTLocale.MSG_COMBAT,
   },
   NOTIFICATION_POWER_GAIN = {
    Color			= {r=1, g=1, b=0},
    Message			= "+%a %s",
   },
   NOTIFICATION_POWER_LOSS = {
    Color			= {r=1, g=1, b=0},
    Message			= "-%a %s",
   },
   NOTIFICATION_CP_GAIN = {
    Color			= {r=1, g=0.5, b=0},
    Message			= "%a " .. MSBTLocale.MSG_CP,
   },
   NOTIFICATION_CP_FULL = {
    Color			= {r=1, g=0.5, b=0},
    Message			= "%a " .. MSBTLocale.MSG_CP .. " " .. MSBTLocale.MSG_FINISH_IT .. "!",
   },
   NOTIFICATION_HONOR_GAIN = {
    Color			= {r=0.5, g=0.5, b=0.698},
    Message	= "+%a " .. HONOR,
   },
   NOTIFICATION_REP_GAIN = {
    Color			= {r=0.5, g=0.5, b=0.698},
    Message			= "+%a " .. REPUTATION .. " (%s)",
   },
   NOTIFICATION_REP_LOSS = {
    Color			= {r=0.5, g=0.5, b=0.698},
    Message			= "-%a " .. REPUTATION .. " (%s)",
   },
   NOTIFICATION_SKILL_GAIN = {
    Color			= {r=0.333, g=0.333, b=1},
    Message			= "%s: %a",
   },
   NOTIFICATION_EXPERIENCE_GAIN = {
    Disabled		= true,
    Color			= {r=0.756, g=0.270, b=0.823},
    Message			= "%a " .. XP,
    AlwaysSticky		= true,
    NormalFontSize	= 26,
   },
   NOTIFICATION_PC_KILLING_BLOW = {
    Color			= {r=0.333, g=0.333, b=1},
    Message			= MSBTLocale.MSG_KILLING_BLOW .. "! (%s)",
    AlwaysSticky		= true,
    NormalFontSize	= 26,
   },
   NOTIFICATION_NPC_KILLING_BLOW = {
    Disabled		= true,
    Color			= {r=0.333, g=0.333, b=1},
    Message			= MSBTLocale.MSG_KILLING_BLOW .. "! (%s)",
    AlwaysSticky		= true,
    NormalFontSize	= 26,
   },
   NOTIFICATION_SOUL_SHARD_CREATED = {
    Color			= {r=0.628, g=0, b=0.628},
    Message			= "+%s",
    AlwaysSticky		= true,
    NormalFontSize	= 26,
   },
   NOTIFICATION_EXTRA_ATTACK = {
    Color			= {r=1, g=1, b=0},
    Message			= "%s!",
    AlwaysSticky		= true,
    NormalFontSize	= 26,
   },
  };


  -- Setup the default triggers.
  defaultProfile.Triggers = {
   MSBT_TRIGGER_BACKLASH = {
    EventSettings = {
     Color				= {r=0.709, g=0, b=0.709},
     Message			= MSBTLocale.MSG_TRIGGER_BACKLASH .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {WARLOCK=true},
     MainConditions		= {"SelfBuff"},
     MainConditionParams	= {MSBTLocale.MSG_TRIGGER_BACKLASH},
    },
   },
   MSBT_TRIGGER_BLACKOUT = {
    EventSettings = {
     Color				= {r=0.709, g=0, b=0.709},
     Message			= MSBTLocale.MSG_TRIGGER_BLACKOUT .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {PRIEST=true},
     MainConditions		= {"TargetDebuff"},
     MainConditionParams	= {MSBTLocale.MSG_TRIGGER_BLACKOUT},
    },
   },
   MSBT_TRIGGER_CLEARCASTING = {
    EventSettings = {
     Color				= {r=1, g=1, b=0},
     Message			= MSBTLocale.MSG_TRIGGER_CLEARCASTING .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {MAGE=true,SHAMAN=true},
     MainConditions		= {"SelfBuff"},
     MainConditionParams	= {MSBTLocale.MSG_TRIGGER_CLEARCASTING},
    },
   },
   MSBT_TRIGGER_COUNTER_ATTACK = {
    EventSettings = {
     Color				= {r=1, g=1, b=0},
     Message			= MSBTLocale.MSG_TRIGGER_COUNTER_ATTACK .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {HUNTER=true},
     MainConditions		= {"IncomingParry"},
     SecondaryConditions	= {"SpellReady"},
     SecondaryConditionParams	= {MSBTLocale.MSG_TRIGGER_COUNTER_ATTACK},
    },
   },
   MSBT_TRIGGER_EXECUTE = {
    EventSettings = {
     Color				= {r=1, g=1, b=0},
     Message			= MSBTLocale.MSG_TRIGGER_EXECUTE .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {WARRIOR=true},
     MainConditions		= {"EnemyHealth"},
     MainConditionParams	= {20},
     SecondaryConditions	= {"SpellReady"},
     SecondaryConditionParams	= {MSBTLocale.MSG_TRIGGER_EXECUTE},
    },
   },
   MSBT_TRIGGER_FROSTBITE = {
    EventSettings = {
     Color				= {r=0, g=.5, b=1},
     Message			= MSBTLocale.MSG_TRIGGER_FROSTBITE .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {MAGE=true},
     MainConditions		= {"TargetDebuff"},
     MainConditionParams	= {MSBTLocale.MSG_TRIGGER_FROSTBITE},
    },
   },
   MSBT_TRIGGER_HAMMER_OF_WRATH = {
    EventSettings = {
     Color				= {r=1, g=1, b=0},
     Message			= MSBTLocale.MSG_TRIGGER_HAMMER_OF_WRATH .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {PALADIN=true},
     MainConditions		= {"EnemyHealth"},
     MainConditionParams	= {20},
     SecondaryConditions	= {"SpellReady"},
     SecondaryConditionParams	= {MSBTLocale.MSG_TRIGGER_HAMMER_OF_WRATH},
    },
   },
   MSBT_TRIGGER_IMPACT = {
    EventSettings = {
     Color				= {r=1, g=0.25, b=0.25},
     Message			= MSBTLocale.MSG_TRIGGER_IMPACT .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {MAGE=true},
     MainConditions		= {"TargetDebuff"},
     MainConditionParams	= {MSBTLocale.MSG_TRIGGER_IMPACT},
    },
   },
   MSBT_TRIGGER_KILL_COMMAND = {
    EventSettings = {
     Disabled			= true,
     Color				= {r=1, g=1, b=0},
     Message			= MSBTLocale.MSG_TRIGGER_KILL_COMMAND .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {HUNTER=true},
     MainConditions		= {"OutgoingCrit"},
     SecondaryConditions	= {"SpellReady"};
     SecondaryConditionParams	= {MSBTLocale.MSG_TRIGGER_KILL_COMMAND};
    },
   },
   MSBT_TRIGGER_LOW_HEALTH = {
    EventSettings = {
     Color				= {r=1, g=0.5, b=0.5},
     Message			= MSBTLocale.MSG_TRIGGER_LOW_HEALTH .. "! (%1)",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
     SoundFile			= "LowHealth.mp3",
    },
    TriggerSettings = {
     MainConditions		= {"SelfHealth"},
     MainConditionParams	= {40},
     SecondaryConditions	= {"TriggerCooldown"};
     SecondaryConditionParams	= {3};
    },
   },
   MSBT_TRIGGER_LOW_MANA = {
    EventSettings = {
     Color				= {r=0.5, g=0.5, b=1},
     Message			= MSBTLocale.MSG_TRIGGER_LOW_MANA .. "! (%1)",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
     SoundFile			= "LowMana.mp3",
    },
    TriggerSettings = {
     Classes			= {DRUID=true,HUNTER=true,MAGE=true,PALADIN=true,PRIEST=true,SHAMAN=true,WARLOCK=true},
     MainConditions		= {"SelfMana"},
     MainConditionParams	= {35},
     SecondaryConditions	= {"TriggerCooldown"};
     SecondaryConditionParams	= {3};
    },
   },
   MSBT_TRIGGER_LOW_PET_HEALTH = {
    EventSettings = {
     Color				= {r=1, g=0.5, b=0.5},
     Message			= MSBTLocale.MSG_TRIGGER_LOW_PET_HEALTH .. "! (%1)",
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {HUNTER=true,MAGE=true,WARLOCK=true},
     MainConditions		= {"PetHealth"},
     MainConditionParams	= {40},
     SecondaryConditions	= {"TriggerCooldown"};
     SecondaryConditionParams	= {3};
    },
   },
   MSBT_TRIGGER_MONGOOSE_BITE = {
    EventSettings = {
     Color				= {r=1, g=1, b=0},
     Message			= MSBTLocale.MSG_TRIGGER_MONGOOSE_BITE .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {HUNTER=true},
     MainConditions		= {"IncomingDodge"},
     SecondaryConditions	= {"SpellReady"};
     SecondaryConditionParams	= {MSBTLocale.MSG_TRIGGER_MONGOOSE_BITE};
    },
   },
   MSBT_TRIGGER_NIGHTFALL = {
    EventSettings = {
     Color				= {r=0.709, g=0, b=0.709},
     Message			= MSBTLocale.MSG_TRIGGER_NIGHTFALL .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {WARLOCK=true},
     MainConditions		= {"SelfBuff"},
     MainConditionParams	= {MSBTLocale.SPELL_SHADOW_TRANCE},
    },
   },
   MSBT_TRIGGER_RAMPAGE = {
    EventSettings = {
     Color				= {r=1, g=0.25, b=0.25},
     Message			= MSBTLocale.MSG_TRIGGER_RAMPAGE .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {WARRIOR=true},
     MainConditions		= {"OutgoingCrit"},
     SecondaryConditions	= {"SpellReady", "BuffInactive", "MinPower"};
     SecondaryConditionParams	= {MSBTLocale.MSG_TRIGGER_RAMPAGE, MSBTLocale.MSG_TRIGGER_RAMPAGE, 20};
    },
   },
   MSBT_TRIGGER_REVENGE = {
    EventSettings = {
     Disabled			= true,
     Color				= {r=1, g=1, b=0},
     Message			= MSBTLocale.MSG_TRIGGER_REVENGE .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {WARRIOR=true},
     MainConditions		= {"IncomingBlock", "IncomingDodge", "IncomingParry"},
     SecondaryConditions	= {"WarriorStance", "SpellReady"};
     SecondaryConditionParams	= {2, MSBTLocale.MSG_TRIGGER_REVENGE};
    },
   },
   MSBT_TRIGGER_RIPOSTE = {
    EventSettings = {
     Color				= {r=1, g=1, b=0},
     Message			= MSBTLocale.MSG_TRIGGER_RIPOSTE .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {ROGUE=true},
     MainConditions		= {"IncomingParry"},
     SecondaryConditions	= {"SpellReady"},
     SecondaryConditionParams	= {MSBTLocale.MSG_TRIGGER_RIPOSTE},
    },
   },
   MSBT_TRIGGER_OVERPOWER = {
    EventSettings = {
     Color				= {r=1, g=1, b=0},
     Message			= MSBTLocale.MSG_TRIGGER_OVERPOWER .. "!",
     AlwaysSticky			= true,
     NormalFontSize		= 26,
    },
    TriggerSettings = {
     Classes			= {WARRIOR=true},
     MainConditions		= {"OutgoingDodge"},
     SecondaryConditions	= {"SpellReady"},
     SecondaryConditionParams	= {MSBTLocale.MSG_TRIGGER_OVERPOWER},
    },
   },
  };


  -- Setup the default suppressions.
  defaultProfile.Suppressions = {
   MSBT_SUPPRESSION_BACKLASH = {
    SearchPattern = "%[" .. MSBTLocale.MSG_TRIGGER_BACKLASH .. "%]",
   },
   MSBT_SUPPRESSION_CLEARCASTING = {
    SearchPattern	= "%[" .. MSBTLocale.MSG_TRIGGER_CLEARCASTING .. "%]",
   },
   MSBT_SUPPRESSION_SHADOW_TRANCE = {
    SearchPattern = "%[" .. MSBTLocale.SPELL_SHADOW_TRANCE .. "%]",
   }
  };



  -- Disable the game's display of damage by default.
  defaultProfile.GameDamageDisabled = true;
  
  -- Disable the game's display of healing by default.
  defaultProfile.GameHealingDisabled = true;

  -- Setup the default throttle time.
  defaultProfile.ThrottleTime = 2;

  -- Setup the default animation step.
  defaultProfile.AnimationStep = 2;


  -- Setup the default partial effect settings.
  defaultProfile.PartialEffectSettings = {
   Crushing =		{ Color = {r=0.5, g=0, b=0} },
   Glancing =		{ Color = {r=1, g=0, b=0} },
   Absorb =			{ Color = {r=1, g=1, b=0} },
   Block = 			{ Color = {r=0.5, g=0, b=1} },
   Resist = 		{ Color = {r=0.5, g=0, b=0.5} },
   Vulnerability =	{ Color = {r=0.5, g=0.5, b=1} },
   Overheal =		{ Color = {r=0, g=0.705, b=0.5} },
  };


  -- Setup the default damage type color settings.
  defaultProfile.DamageColorSettings = {
   Physical = 	{ Color = {r=1, g=1, b=1} },
   Holy =		{ Color = {r=1, g=1, b=0.627} },
   Fire = 		{ Color = {r=1, g=0.5, b=0.5} },
   Nature = 	{ Color = {r=0.5, g=1, b=0.5} },
   Frost =	 	{ Color = {r=0.5, g=0.5, b=1} },
   Shadow = 	{ Color = {r=0.628, g=0, b=0.628} },
   Arcane = 	{ Color = {r=1, g=0.725, b=1} },
  };

  -- Set the creation version to the current version number.
  defaultProfile.CreationVersion = MikSBT.VERSION_NUMBER;
 end

 -- Return the default profile.
 return defaultProfile;
end