Beispiel #1
0
    public static BaseEnemyCharacter GetEnemy(long objNo, ushort floor, float hpProb, float atkProb, float expProb, float startProbHp, float startProbAtk, float startProbExp)
    {
        TableEnemyData     data = Array.Find(Table, i => i.ObjNo == objNo);
        BaseEnemyCharacter item = new BaseEnemyCharacter();

        item.Initialize();
        SetData(item, data, floor, data.Level, hpProb, atkProb, expProb, startProbHp, startProbAtk, startProbExp);

        switch (item.EType)
        {
        case EnemyType.Plant_1:
            //item.PosY = 3.18f;
            item.WEType = WeaponEffectType.Stone;
            break;

        case EnemyType.Plant_King:
            //item.PosY = 3.18f;
            item.WEType = WeaponEffectType.Stone;
            break;

        case EnemyType.PA_Drone_1:
            //item.PosY = 2.9f;
            item.WEType = WeaponEffectType.MachineGun;
            break;

        default:
            break;
        }
        return(item);
    }
Beispiel #2
0
    public static bool SetLevel(BaseEnemyCharacter unit, int level, ushort floor, float hpProb, float atkProb, float expProb, float startProbHp, float startProbAtk, float startProbExp)
    {
        TableEnemyData data = Array.Find(Table, i => i.ObjNo == unit.ObjNo);

        if (CommonFunction.IsNull(data) == true)
        {
            return(false);
        }
        else
        {
            SetData(unit, data, floor, level, hpProb, atkProb, expProb, startProbHp, startProbAtk, startProbExp);
            return(true);
        }
    }
Beispiel #3
0
    private static void SetData(BaseEnemyCharacter item, TableEnemyData data, ushort floor, int level, float hpProb, float atkProb, float expProb, float startProbHp, float startProbAtk, float startProbExp)
    {
        item.ObjNo  = data.ObjNo;
        item.UnitNo = data.UnitNo;
        if (GameStateInformation.IsEnglish == false)
        {
            item.DisplayName = data.DisplayName;
        }
        else
        {
            item.DisplayName = data.DisplayNameEn;
        }
        item.EType               = data.EType;
        item.InstanceName        = data.Instance;
        item.Level               = level;
        item.Race                = data.Race;
        item.CurrentHp           = (data.Hp * level * startProbHp) + (data.MagHp * hpProb * floor);
        item.MaxHpDefault        = item.CurrentHp;
        item.FiringRange         = data.Range;
        item.DefaultActionTurn   = data.TurnMove;
        item.ActionTurn          = item.DefaultActionTurn;
        item.IsMove              = data.IsMove;
        item.AddAbnormalProb     = data.StateBad;
        item.BaseAttack          = ((data.Attack * startProbAtk) + (data.MagAtk * atkProb * floor)) * level;
        item.Dexterity           = data.Dex;
        item.BaseDefense         = ((data.Defence * startProbAtk) + (data.MagDef * atkProb * floor)) * level;
        item.PowerValue          = data.Power;
        item.Critical            = data.Cri;
        item.CriticalDexterity   = data.CriDex;
        item.HaveExperience      = Mathf.CeilToInt(((data.Exp * startProbExp) + (data.MagExp * expProb * floor)) * level);
        item.CommonString        = data.Common;
        item.CurrentExperience   = 0;
        item.NextLevelExperience = 1;

        item.HaveScore = data.HaveScore;
    }