sBlobWaterIdle 0 -1 -3 0 oEnemy <undefined> 1 603 7 0 0 -1 2 self 0 0 1 action_inherited(); makeActive(); setCollisionBounds(-4, -8, 4, 0); image_speed = 0.2; image_index = choose(0,1); myhealth = 14; damage = 40; hitsound = sndEHit1; deathsound = sndEDeath2; platyoffset = -1; frozenspr = sBlobWaterFrozen; target = 0; canattack = 1; state = 0; facing = choose(-1,1); yVelStart = random_range(-2,-1); xVelStart = random_range(-1,1); turnTimer = irandom_range(60,180); driftSpeed = random_range(.3,.6); driftMark = turnTimer/2; 1 603 7 0 0 -1 2 self 0 0 1 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,-.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 { // Hard/Fusion mode targeting 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*.1) sprite_index = sBlobWaterIdle; else sprite_index = sBlobWaterRight; } if(facing == -facing) { if(turnTimer > driftMark*1.9 || turnTimer < driftMark*.1) sprite_index = sBlobWaterIdle; else sprite_index = sBlobWaterLeft; } } if (stun == 0) moveTo(xVel, yVel); } if (state == 100 || isCollisionBottom(2)) enemy_death(); 1 603 7 0 0 -1 2 self 0 0 1 if (hitscrewattack) { state = 100; enemy_death(); } 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 0