I'm more interested in the behavioral side than the thematic side of platform enemies myself, but here is something I made back in MMF2 to give you an idea behind the thought process:
State 0: Patrol state (entering mode sets state timer to 0)
1 - increase the state timer by 1 each frame until it reaches 60 (1 second)
2 - every frame move X pixels in the direction faced
3 - If the state timer is >= 60 and the player is in reactive area (space in front of the plasmole) then enter attack prep state
4 - After 200 pixels have been traversed, switch directions. (monster pauses for roughly 20 frames before turning) and continue traveling
State 1: Attack Prep State (state timer set to 0 upon entering)
1 - every frame increment the state timer until it reaches 40 (2/3rds of a second)
2 - point weapon at player every frame
3 - state timer >= 40? Switch to Attack State
State 2: Attack State (state timer set to 0, gun_angle_base set to whatever the gun angle is upon entering)
1 - every frame increment the state timer until it reaches 90 (1.5 seconds)
2 - every frame set the gun position to... some magnitude * trigonometry function (sin I think) of the state timer + gun angle base.
3 - every 3 frames generate a puff of fire which will travel out of the gun at whatever angle the gun is pointing out.
4 - when 90 frames have elapsed, switch back to patrol state
generate flying gun piece. Apply velocity.
spawn an explosion sprite which will just vanish when it is done animating
destroy the object
Flying gun piece:
add gravity each frame.
after some number of frames, make it spawn an explosion sprite as above and get destroyed
Proceed in direction of velocity
After 60 frames vanish (vanishing lasts 10 frames. Fire is not collidable while it vanishes)