private void update_combat()
 {
     if (Map_Miss_Spark != null)
     {
         Map_Miss_Spark.update();
         if (Map_Miss_Spark.completed())
         {
             Map_Miss_Spark = null;
         }
     }
     if (Map_NoDamage_Spark != null)
     {
         Map_NoDamage_Spark.update();
         if (Map_NoDamage_Spark.completed())
         {
             Map_NoDamage_Spark = null;
         }
     }
     if (Combat_HUD != null)
     {
         Combat_HUD.update();
     }
     if (Exp_Gauge != null)
     {
         Exp_Gauge.update();
     }
     update_skill_gain();
     update_wlvl();
     update_wbreak();
 }
 protected virtual void draw_map_combat(SpriteBatch sprite_batch)
 {
     if (Map_Miss_Spark != null)
     {
         sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend);
         Map_Miss_Spark.draw(sprite_batch, Global.game_map.display_loc);
         sprite_batch.End();
     }
     if (Map_NoDamage_Spark != null)
     {
         sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend);
         Map_NoDamage_Spark.draw(sprite_batch, Global.game_map.display_loc);
         sprite_batch.End();
     }
     draw_skill_gain_popup(sprite_batch);
     draw_wlvl_popup(sprite_batch);
     draw_wbreak_popup(sprite_batch);
     if (Combat_HUD != null)
     {
         sprite_batch.GraphicsDevice.ScissorRectangle = Combat_HUD.scissor_rect();
         if (sprite_batch.GraphicsDevice.ScissorRectangle.Width > 0 && sprite_batch.GraphicsDevice.ScissorRectangle.Width > 0)
         {
             sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, null, null, Combat_HUD.raster_state);
             Combat_HUD.draw(sprite_batch);
             sprite_batch.End();
         }
     }
     if (Exp_Gauge != null)
     {
         sprite_batch.GraphicsDevice.ScissorRectangle = Exp_Gauge.scissor_rect();
         if (sprite_batch.GraphicsDevice.ScissorRectangle.Width > 0 && sprite_batch.GraphicsDevice.ScissorRectangle.Width > 0)
         {
             sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, null, null, Exp_Gauge.raster_state);
             Exp_Gauge.draw(sprite_batch);
             sprite_batch.End();
         }
     }
 }