adjustable_cooldowns.functions.init_cooldown(name,base_cooldown,on_finished_cooldown,respawn_cooldown,universal_modification,disabled_on_default)
initializes a cooldown where:
name is the name of the cooldown, it must have the formatting modname:cooldownname using alphanumeric charectors with underscores, cuases an error if formatting is incorect or the the cooldown is already initialized (cannot be nil)
base_cooldown is the base cooldown of the cooldown after the cooldown has finished must be a number greater then 0 (cannot be nil)
on_finished_cooldown is a function for what to do after the cooldown has finished, must be a function which accepts the player object (cannot be nil)
respawn_cooldown is a non-negative number which determains the value of a cooldown after a player respawns (if negative defaults to 0, if more than base_cooldown defaults to base_cooldown, no number value defaults the value to base_cooldown)
universal_modification is a boolean determaining weather the player's universal_modification variable will be applied to this cooldown (defaults to true)
disabled_on_default is a boolean determaining weather the cooldown is disabled by default (defualts to false)

adjustable_cooldowns.functions.init_group(groupname)
initializes a group with the name of groupname where:
groupname is a string with alphanumeric string with underscores, throws a warning if the group is already initialized

adjustable_cooldowns.functions.add_group(name_to_add,group)
adds a group value to a group or cooldown where:
name_to_add must be a string with a group name or a cooldown name
group must be a string with a group name
if the two arguments are (groupname, cooldownname) switches them and throws a warning
name_to_add is the sub_group or cooldown
group is the super_group

adjustable_cooldowns.functions.multiply_global_cooldown(playername,cooldown_rate)
changes the player's global cooldown_rate where:
playername is a string of a player's name
cooldown_rate is a positive number which is a proportion to change the global cooldown (less than 1 decreases cooldowns, more than 1 increases cooldowns)

function adjustable_cooldowns.functions.multiply_individual_cooldown(playername,value_name,cooldown_rate)
changes the player's cooldown_rate of a group or a cooldown where:
playername is a string of a player's name
value_name is the string name of a group or a cooldown
cooldown_rate is a propotion to change the cooldown/group's cooldown rate (less than 1 decreases cooldown, more than 1 increases cooldown)

adjustable_cooldowns.functions.reset_cooldown(playername,cooldown_name)
resets a cooldown of a player where:
playername is a string of a player's name
cooldown_name is a string of a cooldown's name

adjustable_cooldowns.functions.activate_cooldown(playername,cooldown_name)
activates a cooldown of a player and then resets it where:
playername is a string of a player's name
cooldown_name is a string of a cooldown's name

adjustable_cooldowns.functions.disable_cooldown(playername,cooldown_name)
disables a cooldown of a player where:
playername is a string of a player's name
cooldown_name is a string of a cooldown's name

adjustable_cooldowns.functions.enable_cooldown(playername,cooldown_name)
enables a cooldown of a player where:
playername is a string of a player's name
cooldown_name is a string of a cooldown's name

adjustable_cooldowns.functions.is_disabled(playername,cooldown_name)
returns wheather a cooldown of a player is disabled (if the cooldown or player is undefined, it returns true) where:
playername is a string of a player's name
cooldown_name is a string of a cooldown's name

adjustable_cooldowns.functions.remaining_cooldown(playername,cooldown_name)
returns the remaining cooldown of a player (if the cooldown or player is undefined, it return nil otherwise it returns a number) where:
playername is a string of a player's name
cooldown_name is a string of a cooldown's name

adjustable_cooldowns.functions.add_cooldown(playername,cooldown_name,seconds_to_add)
adds a cooldown value to a cooldown of a player up to the base_cooldown of a cooldown where:
playername is a string of a player's name
cooldown_name is a string of a cooldown's name
seconds_to_add is number of seconds to add without any cooldown modifications