public void _stepHit()
    {
        if (transform.position.x > beginsOnRight)
        {
            return;
        }

        ++hitCount;
        --strength;
        ChangeAnimationsBasedOnHitCountIncrease();
        // derived classes write that one.

        // todo, actually should the next passage only be after all the steps?
        // is after all value is deducted? (just as with the _bashSound)...

        if (strength == 0)              // enemy done for!
        {
            Gp.coins.CreateCoinBunch(value, transform.position);
            FinalEffect();

            if (Gp.skillsTest.on)
            {
                Gp.skillsTest.EnemyGottedInSkillsTest(gameObject);
                boss.Done(this);
                return;
            }

            Grid.pops.GotEnemy(Gp.run.RunDistance);                     // basically re meters/achvmts
            EnemyDestroyedTypeSpecificStatsEtc();                       // basically re achvments
            Gp.run.runLevel.EnemyGotted();                              // basically run/level stats

            boss.Done(this);                                            // basically removes it
        }
    }