Example #1
0
    public void ProjCompAth(ProjComp comp)
    {
        GetComponentInChildren <Image>().sprite = comp.Icon1;

        Text[] te = transform.GetComponentsInChildren <Text>();
        te[0].text = comp.Name;
        te[2].text = "Cooldown : " + comp.Cooldown;
        te[3].text = "Damage : " + comp.AdDamage;
        te[4].text = "Damage : " + comp.ApDamage;
        te[5].text = "Mana Cost : " + comp.ManaCost;
        te[6].text = "Number : " + comp.Number;
        te[7].text = "Perforant : " + comp.Live;
    }
Example #2
0
    public override void ChildCreate(CompetencesData competence, int lvl)
    {
        ProjComp comp = (ProjComp)competence;

        manaCost  = comp.manaCost + 2 * lvl;
        addNumber = Math.Abs(addNumber) < 0.01 ? 0 : 1 / comp.addNumber;
        adDamage  = comp.adDamage + lvl;
        apDamage  = comp.apDamage + lvl;
        live      = comp.live + (int)(AddLive * lvl);
        number    = comp.number + (int)(addNumber * lvl);
        speed     = comp.speed;
        icon1     = comp.icon1;
        AddLive   = comp.AddLive;
        addNumber = comp.addNumber;
    }
Example #3
0
    private void InstantiateArcProjectiles(ProjComp competence, float dx = 0, float dy = 0)
    {
        AttackEvent.Raise(new EventArgsInt(_playerData.MultiID));
        float   rotDist = 10;
        float   rot     = rotDist;
        Vector3 dir     = ProjectilesDirection(dx, dy);

        InstantiateProjectiles(competence, dir);

        for (int i = 1; i < competence.Number / 2 + 1; i++)
        {
            InstantiateProjectiles(competence, Quaternion.Euler(0, 0, rot) * dir);
            InstantiateProjectiles(competence, Quaternion.Euler(0, 0, -rot) * dir);

            rot += rotDist;
        }

        StartCoroutine(CoolDownCoroutine(competence, true));
    }
Example #4
0
    private void InstantiateProjectiles(ProjComp competence, Vector3 dir)
    {
        Transform o = Instantiate(Proj, transform.position + dir / 4, Quaternion.identity);

        o.name = competence.Name;

        ProjectilesData projectilesData = ScriptableObject.CreateInstance <ProjectilesData>();
        int             dP = 25;
        int             dM = 25;

        if (_playerData.MultiID + "" == (string)Coffre.Regarder("id"))
        {
            dP = _playerData.PhysicsDamage + _playerData.Inventory.Weapon.PhysicsDamage + competence.AdDamage;
            dM = _playerData.MagicDamage + _playerData.Inventory.Weapon.MagicDamage + competence.ApDamage;
        }
        projectilesData.Created(dir.normalized, competence.Speed, dP, dM, competence.EnemyTag, _playerData.AnimProj(),
                                competence.Live, _playerData.AnimColor(), _playerData.Prob(), _playerData.Effect(), _playerData.EffectDamage(), _playerData.Duration());

        Projectiles script = o.GetComponent <Projectiles>();

        script.Create(projectilesData);
    }
Example #5
0
    private void InstantiateCircleAttack(ProjComp competence, float dx = 0, float dy = 0)
    {
        if (_playerData.Mana < competence.ManaCost)
        {
            return;
        }

        _playerData.Mana -= competence.ManaCost;

        AttackEvent.Raise(new EventArgsInt(_playerData.MultiID));
        if (_playerData.Name == "Warrior")
        {
            return;
        }
        float rot = 360 / competence.Number;

        for (int i = 0; i < competence.Number; i++)
        {
            InstantiateProjectiles(competence, Quaternion.Euler(0, 0, rot * i) * new Vector3(1, 1, 0));
        }

        StartCoroutine(CoolDownCoroutine(competence, true));
    }
Example #6
0
 private void InstantiateOneProjectiles(ProjComp competence, float dx = 0, float dy = 0)
 {
     AttackEvent.Raise(new EventArgsInt(_playerData.MultiID));
     StartCoroutine(CoolDownCoroutine(competence, true));
     InstantiateProjectiles(competence, ProjectilesDirection(dx, dy));
 }