The open source repository for the action RPG game in development by Sig Productions titled 'Adventures in Lestoria'! https://forums.lestoria.net
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AdventuresInLestoria/Adventures in Lestoria/assets/config/MonsterStrategies.txt

673 lines
18 KiB

# 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
# How long to wait before deciding to perform a Jump. Set to -1 to disable jumping.
JumpTimer = -1.0
# How much damage the jump attack does. Uses the monster's attack stat if set to -1.
JumpAttackDamage = -1
# How far the player gets knocked back if hit.
JumpKnockbackFactor = 0.0
# How fast to move during a jump attack.
JumpMoveSpd = 100
# How long the monster is in the air for.
JumpDelayTime = 1.2
# How long the monster waits after landing.
JumpRecoveryTime = 2.0
# 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 = 750
# Maximum distance the player can be away from the enemy for a jump to occur.
MaxPlayerJumpEngageDistance = 900
# How much time remaining for the jump target being locked into place.
JumpLockinTargetTime = 0.0
}
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
# How much time remaining for the jump target being locked into place.
JumpLockinTargetTime = 0.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.
# Argument 2 is locked-in target time.
Jump[1] = 1.8, 45, 0.0
Jump[2] = 1.2, 70, 0.0
Jump[3] = 0.7, 1900, 0.5
}
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 = 80
JumpDelayTime = 1.2
JumpRecoveryTime = 2.0
# How much time remaining for the jump target being locked into place.
JumpLockinTargetTime = 0.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
# How much time remaining for the jump target being locked into place.
JumpLockinTargetTime = 0.0
}
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
}
Bear
{
# How close the bear has to get to begin its attack.
Attack Range = 120
# How long the bear charges up its attack.
Chargeup Time = 1.3s
# How large the range of the attack is.
Smash Attack Diameter = 160
# How long to wait in animation time before the attack hits.
Attack Animation Wait Time = 0.6s
# How long the duration of the knockup is.
Attack Knockup Duration = 0.7s
# Sets how much knockback the attack will have.
Attack Knockback Amount = 0.0
}
# The Ursule, Mother of Bears Boss script
Ursule
{
# Which phase to start on. Should be 1 most of the time.
StartPhase = 1
# The maximum amount of time to spend trying to run to the center of the map.
Run To Center Max Time = 10.0s
# The overlay sprite to use for transitioning to later phases.
Overlay Sprite = monsters/Ursule Mother of Bears2.png
# Number of wisp patterns that exist.
Wisp Pattern Count = 9
Wisp Pattern 0
{
Row[0] = .O...O..
Row[1] = O...O...
Row[2] = ...O...O
Row[3] = ..O...O.
Row[4] = .O...O..
Row[5] = O...O...
}
Wisp Pattern 1
{
Row[0] = ........
Row[1] = O.O.O.O.
Row[2] = ........
Row[3] = .O.O.O.O
Row[4] = ........
Row[5] = O.O.O.O.
}
Wisp Pattern 2
{
Row[0] = O......O
Row[1] = ........
Row[2] = ........
Row[3] = ...OO...
Row[4] = ..O..O..
Row[5] = .O....O.
}
Wisp Pattern 3
{
Row[0] = .O....O.
Row[1] = O......O
Row[2] = ........
Row[3] = ..O..O..
Row[4] = ..O..O..
Row[5] = ...OO...
}
Wisp Pattern 4
{
Row[0] = ........
Row[1] = ......O.
Row[2] = ..O.....
Row[3] = .....O..
Row[4] = .O......
Row[5] = ........
}
Wisp Pattern 5
{
Row[0] = O.O.O.O.
Row[1] = O.O.O.O.
Row[2] = ........
Row[3] = ........
Row[4] = .O.O.O.O
Row[5] = .O.O.O.O
}
Wisp Pattern 6
{
Row[0] = ........
Row[1] = ........
Row[2] = ........
Row[3] = OOO..OOO
Row[4] = ........
Row[5] = ........
}
Wisp Pattern 7
{
Row[0] = .OO..OO.
Row[1] = O......O
Row[2] = ...O....
Row[3] = ..O.....
Row[4] = .O......
Row[5] = O...OOOO
}
Wisp Pattern 8
{
Row[0] = ........
Row[1] = ...OO...
Row[2] = ..OOOO..
Row[3] = ..OOOO..
Row[4] = ...OO...
Row[5] = ........
}
Phase 1
{
# The amount of time it takes for the fur transformation to take place.
Fur Change Color Time = 2.0s
# Maximum amount of time the boss takes to run towards the center before giving up and continuing through Phase 2.
Run to Center Time = 10.0s
# Number of stomps to perform before doing a run towards the player.
Stomp Count = 3
# Amount of time to run towards the player.
Run Time = 2.0s
# Provide a speed boost amount during the run.
Run Speed Boost = 0%
}
Phase 2
{
# Percentage of health to transition to Phase 2
Change = 80%
# Percentage of damage reduced on the bear while the barrier is active.
Barrier Damage Reduction = 100%
# Amount of time the environment fades out to pitch black.
Environment Fade-out Time = 0.4s
# Amount of time for the environment to fade in with the new color.
Environment Fade-in Time = 2.0s
# New fade-in environment color.
Environment Fade-in Color = 87, 82, 255, 255
# The amount of range sight the player has with the new environment.
Environment Fade-in Range = 400
# Wisp size in pixels.
Wisp Size = 24,24
# Speed at which the wisp moves downwards.
Wisp Speed = 90
# Wisp Hitbox radius size in pixels.
Wisp Hitbox Radius = 8
# RGBA value of the wisp.
Wisp Color = 247, 157, 0, 255
# There are 6 rows of wisps and we want them to spawn outside the arena
# - (6 * Wisp Height) = How far above the arena to spawn.
Wisp Pattern Spawn Y = -144
# Amount of time the wisp fades out after hitting the player.
Wisp Fadeout Time = 0.3s
# How much time (in seconds) to wait between each pattern spawn.
# 100% speed means it takes 6 seconds for all the wisps to move entirely down.
# "Wisp Pattern Spawn Y" / Speed determines time between spawns.
Wisp Pattern Spawn Wait Time = 2.0s
# This value is either Bag or Random. Bag means every pattern gets selected once before re-cycling. Random is truly random with potential repeats.
Wisp Pattern Random Selection = Bag
# How many patterns to spawn before continuing to Phase 3.
Wisp Pattern Spawn Count = 9
# Wait for the wisp count to be at or below this value before proceeding to Phase 3.
Wisp Count Phase Change Wait = 8.0s
}
Phase 3
{
# Amount of time the environment fades out to pitch black.
Environment Fade-out Time = 0.4s
# Amount of time for the environment to fade in with the new color.
Environment Fade-in Time = 2.0s
# New fade-in environment color.
Environment Fade-in Color = 255, 255, 255, 255
# Minimum range the bear will decide to charge the player.
Charge Range = 450
# Amount of time the bear spends preparing to charge.
Charge Cast Time = 0.3s
# If for some reason the charge takes longer than this to reach the target, the charge will end.
Charge Max Run Time = 5.0s
# Amount of speed to gain during the charge attack.
Charge Speed Boost = 200%
# Cooldown time of the charge attack.
Charge Attack Cooldown = 15.0s
# Amount of damage to deal on impact during a charge attack.
Charge Attack Damage = 30
# Amount of knockback to cause to the player when hit by the charging attack.
Charge Attack Knockback Strength = 3.5
# Number of stomps to perform before doing a run towards the player.
Stomp Count = 3
# Amount of time to run towards the player.
Run Time = 2.0s
# Provide a speed boost amount during the run.
Run Speed Boost = 0%
}
Phase 4
{
# Maximum amount of time the boss takes to run towards the center before giving up and continuing through Phase 2.
Run to Center Time = 10.0s
# Percentage of health to transition to Phase 4
Change = 50%
# Amount of time the environment fades out to pitch black.
Environment Fade-out Time = 0.4s
# Amount of time for the environment to fade in with the new color.
Environment Fade-in Time = 2.0s
# New fade-in environment color.
Environment Fade-in Color = 255, 82, 82, 255
# The amount of range sight the player has with the new environment.
Environment Fade-in Range = 400
# Wisp size in pixels.
Wisp Size = 24,24
# Wisp Hitbox radius size in pixels.
Wisp Hitbox Radius = 8
# Speed at which the wisp moves downwards.
Wisp Speed = 95
# RGBA value of the wisp.
Wisp Color = 247, 95, 0, 255
# There are 6 rows of wisps and we want them to spawn outside the arena
# - (6 * Wisp Height) = How far above the arena to spawn.
Wisp Pattern Spawn Y = -144
# Amount of time the wisp fades out after hitting the player.
Wisp Fadeout Time = 0.3s
# How much time (in seconds) to wait between each pattern spawn.
# 100 speed means it takes 1.44 seconds for 6 rows of wisps to move down
# "Wisp Pattern Spawn Y" / Speed determines time between spawns.
Wisp Pattern Spawn Wait Time = 1.9s
# This value is either Bag or Random. Bag means every pattern gets selected once before re-cycling. Random is truly random with potential repeats.
Wisp Pattern Random Selection = Random
# How long it takes for remaining wisps on the field to fade out when the boss dies.
End Wisp Fadeout Time = 0.4s
}
}
NPC
{
# How much to offset the text for the Interaction input display.
Interaction Display Offset = 0,-16
# Amount of time for the interaction display input to fade in/out.
Interaction Display Ease in Timer = 0.5s
# The maximum distance from the player that the NPC can be to interact with them.
Interaction Distance = 200
}
Boar
{
Closein Range = 700
Backpedal Range = 400
# Number of times the boar scratches the ground before charging.
# The amount of time this takes is also dependent on the animation speed (extra animation 0)
Ground Scratch Count = 2
Charge Movespeed = 130%
Charge Distance = 900
# Amount of time to wait after charging before returning to Move Phase.
Charge Recovery Time = 0.3s
Backpedal Movespeed = 50%
Charge Knockback Amount = 140
}
Goblin Dagger
{
# Distance from player to run to before swinging weapon.
Attack Spacing = 50
# Stab Attack windup time
Stab Windup Time = 0.3s
# Amount of time where nothing happens after an attack.
Attack Recovery Time = 1.0s
# Number of pixels from the dagger's center that the player would be hit by.
Dagger Hit Radius = 12
# Number of pixels of reach the dagger stab has.
Dagger Stab Distance = 2
Dagger Stab Knockback = 100
# How long between each dagger stab frame.
Dagger Frame Duration = 0.1s
# Slash Attack windup time
Slash Windup Time = 0.4s
# Number of pixels of reach the dagger slash has from the monster.
Dagger Slash Distance = 6
Dagger Slash Knockback = 75
# Offset for the dagger stab effect per direction from the monster's center.
Dagger Up Offset = 5,-4
Dagger Down Offset = -5,5
Dagger Right Offset = 4,4
Dagger Left Offset = -2,4
}
Goblin Bow
{
Attack Reload Time = 2.0s
# How long it takes to prepare the attack once an attack is queued.
Attack Windup Time = 1.0s
Arrow Spd = 350
Arrow Hitbox Radius = 8
# When the monster will attempt to run away from target.
Run Away Range = 500
# Chooses a random direction within the confines of this range, stays within it.
Random Direction Range = 500,700
# Does not move and shoots from anywhere in these ranges.
Stand Still and Shoot Range = 700,1000
# Anything outside the max "Stand Still and Shoot Range" will cause the monster to move towards the target instead.
# The perception level indicates how accurate the bow user's shots become over time. Perception can be between 0-90. A perception level of 90 should never miss. This doesn't necessarily mean lower numbers will miss, just that it doesn't auto-correct for error as much.
Starting Perception Level = 0
# Every shot taken, the bow user's perception level will increase by this amount.
Perception Level Increase = 2.5
Maximum Perception Level = 45
}
Goblin Boar Rider
{
# Which monster spawns on death of the boar.
Spawned Monster = Goblin (Bow)
Imposed Monster Offset = 0,-10
Imposed Monster Animations = GOBLIN_BOW_MOUNTED_0,GOBLIN_BOW_MOUNTED_1,GOBLIN_BOW_MOUNTED_2,GOBLIN_BOW_MOUNTED_3,GOBLIN_BOW_ATTACK_0,GOBLIN_BOW_ATTACK_1,GOBLIN_BOW_ATTACK_2,GOBLIN_BOW_ATTACK_3,
###################
# Goblin Bow Stuff
###################
Attack Reload Time = 2.0s
# How long it takes to prepare the attack once an attack is queued.
Attack Windup Time = 1.0s
Arrow Spd = 350
Arrow Hitbox Radius = 8
# The perception level indicates how accurate the bow user's shots become over time. Perception can be between 0-90. A perception level of 90 should never miss. This doesn't necessarily mean lower numbers will miss, just that it doesn't auto-correct for error as much.
Starting Perception Level = 0
# Every shot taken, the bow user's perception level will increase by this amount.
Perception Level Increase = 2.5
Maximum Perception Level = 45
#######################
# END Goblin Bow Stuff
#######################
###################
### Boar Stuff
###################
Closein Range = 700
Backpedal Range = 400
# Number of times the boar scratches the ground before charging.
# The amount of time this takes is also dependent on the animation speed (extra animation 0)
Ground Scratch Count = 2
Charge Movespeed = 130%
Charge Distance = 900
# Amount of time to wait after charging before returning to Move Phase.
Charge Recovery Time = 0.3s
Backpedal Movespeed = 50%
Charge Knockback Amount = 140
###################
### End Boar Stuff
###################
}
}