Exemple #1
0
    //REFACTOR
    public Enemy spawnBoss(RevengeTarget revengeTarget)
    {
        Enemy boss = (Enemy)Instantiate(characterSpawnType, transform.position, Quaternion.identity);

        boss.transform.SetParent(transform.parent);
        boss.invulnerable = true;

        if (revengeTarget == null)
        {
            SpriteGen.instance.generateEnemy(boss);
        }
        else
        {
            boss.setupRevengeTarget(revengeTarget);
        }

        if (turnRight)
        {
            boss.faceRight();
        }

        bossArea.boss        = boss;
        boss.isBoss          = true;
        boss.gameObject.name = "BOSS:_" + boss.firstName;

        return(boss);
    }
Exemple #2
0
    public Ancestor(Ancestor parent, Player player)
    {
        this.parent = parent;

        if (parent != null)
        {
            parent.setChild(this);
        }

        firstName        = player.firstName;
        lastName         = player.lastName;
        spriteController = player.getSpriteController();

        revengeTarget = new RevengeTarget((Enemy)player.getAttacker());
    }
Exemple #3
0
    /// <summary>
    /// Takes an enemy, and if they are a previous revenge target, it sets them to dead
    /// </summary>
    /// <param name="enemy"></param>
    public void killRevengeTarget(Enemy enemy)
    {
        Ancestor      an = this;
        RevengeTarget rt = new RevengeTarget(enemy);

        while (an != null)
        {
            if (an.revengeTarget != null && an.revengeTarget.equals(rt))
            {
                an.revengeTarget.dead = true;
                return;
            }

            an = an.parent;
        }
    }
Exemple #4
0
    public void setupRevengeTarget(RevengeTarget self)
    {
        //Set Details
        firstName = self.firstName;
        lastName  = self.lastName;
        faction   = self.faction;

        //Set Stats
        level     = self.level;
        strength  = self.strength;
        agility   = self.agility;
        endurance = self.endurance;

        traits = self.traits;

        //Set animator
        animator = GetComponentInChildren <Animator>();
        animator.runtimeAnimatorController = self.spriteController;
    }
Exemple #5
0
    public void setupRevengeTarget(RevengeTarget self)
    {
        //Set Details
        firstName = self.firstName;
        lastName  = self.lastName;
        faction   = self.faction;

        //Set Stats
        level     = self.level;
        strength  = self.strength;
        agility   = self.agility;
        endurance = self.endurance;

        //Set Class
        characterClass = self.characterClass;
        characterClass.setupClass();
        characterClass.selectAbilities();

        if (characterClass.name == "Sharpshooter")
        {
            attackRange = 4f;
        }

        traits = self.traits;

        //Set animator
        animator = GetComponentInChildren <Animator>();
        animator.runtimeAnimatorController = self.spriteController;
        resetTriggers();

        if (characterClass.name == "Sharpshooter")
        {
            animator.SetBool("gunner", true);
        }
        else
        {
            animator.SetBool("melee", true);
        }
    }
 public bool equals(RevengeTarget rt)
 {
     return(rt.firstName == firstName && rt.lastName == lastName && rt.faction == faction); //&& rt.characterClass == characterClass && rt.spriteController == spriteController;
 }