void ChangeHealth(FixPoint delta_health, int source_id)
        {
            if (delta_health > 0)
            {
                if (m_current_health + delta_health > m_current_max_health)
                {
                    delta_health = m_current_max_health - m_current_health;
                }
            }
            else
            {
                if (-delta_health > m_current_health)
                {
                    delta_health = -m_current_health;
                }
            }
            if (delta_health == 0)
            {
                return;
            }

            m_current_health += delta_health;

#if COMBAT_CLIENT
            ChangeHealthRenderMessage msg = RenderMessage.Create <ChangeHealthRenderMessage>();
            msg.Construct(ParentObject.ID, delta_health, m_current_health);
            GetLogicWorld().AddRenderMessage(msg);
#endif

            if (m_current_health <= 0)
            {
                EntityUtil.KillEntity(ParentObject as Entity, source_id);
            }
        }
        void ProcessRenderMessage_ChangeHealth(ChangeHealthRenderMessage msg)
        {
            RenderEntity render_entity = m_render_entity_manager.GetObject(msg.EntityID);

            if (render_entity == null)
            {
                return;
            }
        }