コード例 #1
0
 // Start is called before the first frame update
 public override void StartWeapon(bool EnemyWeapon_in = false, EnemyTemplateMaster ETM_in = null, HumanoidWeaponExpertise humanoidWeaponExpertise = HumanoidWeaponExpertise.Adept)
 {
     base.StartWeapon(EnemyWeapon_in, ETM_in, humanoidWeaponExpertise);
     Debug.Log("THIS IS INCOMPLETE, CONNECT IT TO FULLAUTO");
     CanAttack             = true;
     TimeToAttackReduction = 0f;
 }
コード例 #2
0
    public void UpdateKillCounts(EnemyTemplateMaster etm, Vector2 loc)
    {
        for (int i = 0; i < enemyNeeded.Length; i++)
        {
            if (enemyNeededSpecs[i].Return_EnemyTypeName() == etm.Return_EnemyTypeName())
            {
                bool conditionsMet = false;
                if (LocationRequired)
                {
                    Vector2 LocTemp = (CenterPoint.Count == NumberOfTasks) ? CenterPoint[i] : new Vector2(ExactLocation[i].position.x, ExactLocation[i].position.z);
                    float   dist    = Mathf.Sqrt(Mathf.Pow(LocTemp.x - loc.x, 2f) + Mathf.Pow(LocTemp.y - loc.y, 2f));
                    if (dist < Radius[i])
                    {
                        conditionsMet = true;
                    }
                }
                else
                {
                    conditionsMet = true;
                }

                if (conditionsMet && currentKills[i] < enemyNumbers[i])
                {
                    currentKills[i] += 1;

                    if (currentKills[i] == enemyNumbers[i])
                    {
                        TaskCompletion_Self(i);
                    }
                }
            }
        }
    }
コード例 #3
0
 public override void StartWeapon(bool EnemyWeapon_in = false, EnemyTemplateMaster ETM_in = null, HumanoidWeaponExpertise humanoidWeaponExpertise = HumanoidWeaponExpertise.Adept)
 {
     base.StartWeapon(EnemyWeapon_in, ETM_in, humanoidWeaponExpertise);
     if (!EnemyWeapon_in)
     {
         MC     = player.GetComponentInChildren <MeleeContact>();
         energy = player.GetComponentInChildren <Energy>();
     }
 }
コード例 #4
0
    public void CheckGenericKillObjectives(GameObject enemy, Vector2 enemyLoc)
    {
        EnemyTemplateMaster enemyStats = enemy.GetComponent <EnemyTemplateMaster>();

        for (int i = ActiveQuests.Count - 1; i >= 0; i--) //A quest could be completed
        {
            QuestObjective TempActiveObj = ActiveQuests[i].GetComponent <QuestTemplate>().returnActiveObjective();
            if (TempActiveObj.ReturnType() == ObjectiveType.GenericKill)
            {
                ((GenericKillObjective)TempActiveObj).UpdateKillCounts(enemyStats, enemyLoc);
            }
        }
    }
コード例 #5
0
 public override void StartWeapon(bool EnemyWeapon_in = false, EnemyTemplateMaster ETM_in = null, HumanoidWeaponExpertise humanoidWeaponExpertise = HumanoidWeaponExpertise.Adept)
 {
     base.StartWeapon(EnemyWeapon_in, ETM_in, humanoidWeaponExpertise);
     EnemyWeapon = EnemyWeapon_in;
     Started     = true;
     if (EnemyWeapon_in)
     {
         projectileParent = GameObject.Find("EnemyProjectiles").transform;
     }
     else
     {
         ammoDisplay      = GameObject.Find("AmmoDisplay").GetComponent <AmmoDisplay>();
         currentAmmoCount = ammoCapacity;
         projectileParent = GameObject.Find("PlayerProjectiles").transform;
     }
 }
コード例 #6
0
    public virtual void StartWeapon(bool EnemyWeapon_in = false, EnemyTemplateMaster ETM_in = null, HumanoidWeaponExpertise humanoidWeaponExpertise = HumanoidWeaponExpertise.Adept)
    {
        EnemyWeapon = EnemyWeapon_in;
        player      = GameObject.Find("Player").transform;

        if (EnemyWeapon_in)
        {
            FL                    = GameObject.Find("NPCs").GetComponent <FactionLogic>();
            ETM                   = ETM_in;
            WeaponExpertise       = humanoidWeaponExpertise;
            enemyAnimationUpdater = GetComponentInParent <EnemyAnimationUpdater>();
            enemyWeaponController = GetComponentInParent <EnemyWeaponController>();
        }
        else
        {
            playMove         = player.GetComponentInChildren <PlayerMovement>();
            animationUpdater = player.GetComponentInChildren <PlayerAnimationUpdater>();
            energy           = player.GetComponent <Energy>();
            stats            = player.GetComponent <PlayerStats>();
        }
    }
コード例 #7
0
    private void FixedUpdate()
    {
        enemies_nearby = false;

        int potential_enemies_in_range = TriggerList.Count; //Includes recently dead enemies

        for (int i = potential_enemies_in_range - 1; i >= 0; i--)
        {
            Collider col = TriggerList[i];
            if (!col || col.tag != "BasicEnemy")
            {
                TriggerList.Remove(col);
            }
            else
            {
                EnemyTemplateMaster ETM = col.GetComponentInParent <EnemyTemplateMaster>();
                if (FL.ReturnIsEnemyCustomPlayer(ETM.Return_FactionEnum(), ETM.Return_customReputation()))
                {
                    enemies_nearby = true;
                }
            }
        }
    }
コード例 #8
0
    //////////////////////////////////////////////////////

    protected virtual void Start()
    {
        EnemyProjectiles = GameObject.Find("EnemyProjectiles").transform;
        ETM = GetComponentInParent <EnemyTemplateMaster>();
        FL  = GameObject.Find("NPCs").GetComponent <FactionLogic>();
    }
コード例 #9
0
 protected virtual void Start()
 {
     HM  = GetComponentInParent <HumanoidMaster>();
     ETM = GetComponentInParent <EnemyTemplateMaster>();
     FL  = GameObject.Find("NPCs").GetComponent <FactionLogic>();
 }
コード例 #10
0
 public void EnemySetup(FactionLogic FL_in, EnemyTemplateMaster ETM_in)
 {
     enemy_strike = true;
     FL           = FL_in;
     ETM          = ETM_in;
 }