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:
youtube.com/watch
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
Destruction 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
fire puff:
Proceed in direction of velocity
After 60 frames vanish (vanishing lasts 10 frames. Fire is not collidable while it vanishes)