public override void useSkill(int skillIndex)
    {
        if (activeSkills.Count < skillIndex)
        {
            return;
        }
        if (actionCdRemain[skillIndex + 4] > 0)
        {
            return;
        }
        actionCdRemain[skillIndex + 4] = actionCds[skillIndex + 4];
        ActiveModifier modifier = (ActiveModifier)activeSkills[skillIndex];

        if (modifier.type == 251)
        {
            Projectile.ShootProjectile(this, status.facingDirection, CharacterSkillType.Active1, 0);
        }
        if (modifier.type == 258)
        {
            Projectile.ShootProjectile(this, status.facingDirection, CharacterSkillType.Active2, 0);
            applyTemporaryEffect(555);
        }
    }
    public override void hit(Character other, CharacterSkillType skillType, int subType = 0)
    {
        if (other == null)
        {
            return;
        }
        if (other.tag == "TempEnemy")
        {
            //TempEnemy temp = (TempEnemy) other;
            Character temp = (Character)other;
            switch (skillType)
            {
            case CharacterSkillType.Attack:
                temp.status.hp -= attackModifier.damage[subType];
                if (attackModifier.negativeEffectCount > 0)
                {
                    for (int a = 0; a != attackModifier.negativeEffectCount; ++a)
                    {
                        other.applyTemporaryEffect(attackModifier.negativeEffects[a]);
                    }
                }
                break;

            case CharacterSkillType.ChargedAttack:
                temp.status.hp -= chargedAttackModifier.damage[subType];
                break;

            case CharacterSkillType.Dodge:
                if (dodgeModifier.negativeEffectCount > 0)
                {
                    for (int a = 0; a != dodgeModifier.negativeEffectCount; ++a)
                    {
                        other.applyTemporaryEffect(dodgeModifier.negativeEffects[a]);
                    }
                }
                break;

            case CharacterSkillType.Active1: {
                ActiveModifier mod = (ActiveModifier)activeSkills[0];
                temp.status.hp -= mod.damage[0];
                if (mod.negativeEffectCount > 0)
                {
                    for (int a = 0; a != mod.negativeEffectCount; ++a)
                    {
                        other.applyTemporaryEffect(mod.negativeEffects[a]);
                    }
                }
                break;
            }

            case CharacterSkillType.Active2: {
                ActiveModifier mod = (ActiveModifier)activeSkills[1];
                temp.status.hp -= mod.damage[0];
                if (mod.negativeEffectCount > 0)
                {
                    for (int a = 0; a != mod.negativeEffectCount; ++a)
                    {
                        other.applyTemporaryEffect(mod.negativeEffects[a]);
                    }
                }
                break;
            }
            }
        }
    }