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.
AM2Rogue/Export_Code/gml_Object_oBlobWater_Step_...

73 lines
1.9 KiB

action_inherited()
enemy_active_check(20)
if (active == 1 && frozen == 0)
{
if (state == 0)
{
if ((y - 8) <= global.waterlevel)
state = 1
if (statetime < 11)
{
yVel = random_range(-1, -0.5)
xVel = random_range(-1, 1)
}
else if (statetime > 10 && statetime < 60)
{
yVel = (yVelStart - 0.02)
xVel = xVelStart
}
else
state = 1
}
if (state == 1)
{
turnTimer--
if (turnTimer == 0)
{
if (global.difficulty < 2)
{
facing = (-facing)
turnTimer = irandom_range(60, 180)
driftMark = (turnTimer / 2)
}
else if (x >= oCharacter.x && facing == 1)
{
facing = -1
turnTimer = irandom_range(60, 180)
driftMark = (turnTimer / 2)
}
else if (x <= oCharacter.x && facing == -1)
{
facing = 1
turnTimer = irandom_range(60, 180)
driftMark = (turnTimer / 2)
}
else
turnTimer = irandom_range(60, 180)
}
xVel = (driftSpeed * facing)
if (turnTimer > driftMark)
yVel = 0.3
else
yVel = -0.1
if (facing == facing)
{
if (turnTimer > (driftMark * 1.9) || turnTimer < (driftMark * 0.1))
sprite_index = sBlobWaterIdle
else
sprite_index = sBlobWaterRight
}
if (facing == (-facing))
{
if (turnTimer > (driftMark * 1.9) || turnTimer < (driftMark * 0.1))
sprite_index = sBlobWaterIdle
else
sprite_index = sBlobWaterLeft
}
}
if (stun == 0)
moveTo(xVel, yVel)
}
if (state == 100 || isCollisionBottom(2))
enemy_death()