# Monster Strategies have optional parameters that you can adjust to
# tweak the AI behaviors. Each strategy is displayed followed by {}.
# Inside the {} is a list of the properties and what their default values
# are.
# 
# If you add the optional parameters inside a Monster, they will be adopted
# for that specific AI pattern.
# 
# For example, if you wanted to add a longer wait time to a mob's RUN_TOWARDS
# strategy, you would write this:
# 
# ==========================================
# ==========================================
# 
# 0
# {
# 	Name = Green Slime
# 	Health = 10
# 	Attack = 5
# 
# 	CollisionDmg = 5
# 
# 	MoveSpd = 110
# 	Size = 80
# 
# 	Strategy = Run Towards
# 	WaitTime = 5
# 
# [....Cut for length purposes]
# 
# ==========================================
# ==========================================
# ==========================================
# 
# The document below shows that WaitTime is 2 by default, but this will make the
# mob adopt a 5 second wait time.
MonsterStrategy
{
	Run Towards
	{
		# How long to wait before attempting to path again.
		WaitTime = 3
		# How far the monster will travel before reassessing for a new path.
		MaxDistance = 999999
		# 1 of X chance to stop after bumping into something.
		BumpStopChance = 5
	}
	Shoot Afar
	{
		# How far away the monster attempts to distance itself from the player
		Range = 700
		# If the player is farther than this distance, close in on them.
		CloseInRange = 850
		# How often the enemy shoots.
		ShootingSpeed = 1
		BulletSpeed = 300
		BulletSize = 20
		BulletColor = 37, 131, 112, 255
	}
	Turret
	{
		# How far away the monster starts shooting from
		Range = 800
		# How often the enemy shoots.
		ShootingSpeed = 2
		BulletSpeed = 450
		BulletSize = 30
		BulletColor = 0, 255, 0, 255
	}
	# The Slime King Boss script.
	Slime King
	{
		# Which phase to start on. Should be 1 most of the time.
		StartPhase = 1
		# How much time a jump will be pre-telegraphed.
		JumpWarningIndicatorTime = 1.0
		# Distance to jump up into the sky. A higher value causes it to launch up and down seemingly faster.
		JumpHeight = 900
		ProjectileDamage = 10
		JumpAttackDamage = 20
		JumpMoveSpd = 75
		# How far the player gets knocked back if hit.
		JumpKnockbackFactor = 250

		BulletSpd = 350

		Phase1
		{
			Size = 800
			ShootRepeatTime = 4.0
			ShootRingCount = 3
			# Amount of time between each set of rings.
			ShootRingDelay = 0.2
			RingBulletCount = 16
			# In degrees.
			RingOffset = 10.0
			JumpAfter = 4 shots
			AirborneTime = 3.0
			LandingRecoveryTime = 2.0
		}
		Phase2
		{
			Size = 600
			# Percentage of health to transition to Phase 2
			Change = 75%
			MonsterSpawnOnChange = Red Slime, 2
			ShootRate = 1.0
			ShootProjectileCount = 3
			ShootCount = 5
			ShootAngleSpread = 45
			JumpChargeTime = 5.0
			JumpAfter = 5 shots
			JumpCount = 3

			# Argument 0 is jump time.
			# Argument 1 is move speed.
			Jump[1] = 2.0, 75
			Jump[2] = 0.3, 850
			Jump[3] = 1.2, 70
		}
		Phase3
		{
			Size = 400
			# Percentage of health to transition to Phase 3
			Change = 50%
			MonsterSpawnOnChange = Red Slime, 2

			PhaseRecoveryTime = 2.0

			ShootRate = 0.5
			ShootProjectileCount = 3
			ShootAngleSpread = 45
			JumpMoveSpd = 140
			JumpDelayTime = 0.5
			JumpRecoveryTime = 2.0
		}
		Phase4
		{
			Size = 200
			# Percentage of health to transition to Phase 4
			Change = 25%
			MonsterSpawnOnChange = Blue Slime, 2
			# Percentage of normal move spd the Slime King will move.
			MoveSpdModifier = 50%
			ShootRate = 0.1
			RandomOffsetAngle = 35

			RunAwayTime = 2.5
			WaitTime = 1.0

			JumpDuration = 3.0
			JumpDistance = 1000
		}
		Phase5
		{
			SizeLossPerHit=50%
			IframeTimePerHit = 1.0
			MoveSpdModified = 50%
			# Percentage of health to transition to Phase 5
			Change = 0%
		}
	}
	Run Away
	{
		# How far away the monster attempts to distance itself from the player
		Range = 700
		# If the player is farther than this distance, close in on them.
		CloseInRange = 850
	}
	Frog
	{
		# How close the frog has to get to the player before beginning its attack.
		Range = 350

		# How long to wait after getting in range and locking on to the player, before firing tongue.
		Lockon Wait Time = 1.5s

		# How long the tongue attack lasts for.
		Attack Duration = 1.0s

		# Max range of the tongue attack.
		Tongue Max Range = 450

		# How long to wait before starting its seeking phase over again.
		Attack Recovery Time = 0.5s

		# The color of the tongue RGBA
		Tongue Color = 95,23,31,255

		# A multiplier for the knockback strength of the tongue. (1 is quite small)
		Tongue Knockback Strength = 2
	}
	Wolf
	{
		# How close the wolf has to be to lock on and charge the player.
		Lockon Range = 400

		# The speed boost percentage to increase by during the charge.
		Lockon Speed Boost = 15%

		# Time waiting after charging.
		Charge Recovery Time = 1.0s

		# The speed boost percentage to increase by and the duration while disengaging.
		Disengage Speed Boost = 30%, 3s

		# The distance to disengage the player.
		Disengage Range = 800

		# The amount of time to spend disengaged.
		Disengage Duration = 3.0s
	}
}