Beispiel #1
0
    private void SetupEnemyItems(HumanoidCombatClass HAC, Transform child)
    {
        HumanoidMaster HM = child.GetComponent <HumanoidMaster>();

        int firing_distance;
        ArmorWeightClass AWC;

        if (HAC == HumanoidCombatClass.Sharpshooter)
        {
            firing_distance = 2;
            AWC             = ArmorWeightClass.Light;
        }
        else if (HAC == HumanoidCombatClass.Generalist)
        {
            firing_distance = Random.Range(0, 3); //Any
            AWC             = ArmorWeightClass.Medium;
        }
        else if (HAC == HumanoidCombatClass.Tank)
        {
            firing_distance = Random.Range(0, 2); //Melee or Medium
            AWC             = ArmorWeightClass.Heavy;
        }
        else
        {
            firing_distance = Random.Range(0, 3); //Any
            AWC             = ArmorWeightClass.Light;
        }

        GameObject TempWeapon = itemCataog.ReturnWeaponInBudget(10, firing_distance);            //TODO base the points off somthing

        (GameObject, GameObject, GameObject)TempArmor = itemCataog.ReturnArmorInBudget(10, AWC); //TODO base the points off somthing

        if (TempArmor.Item1)
        {
            (TempArmor.Item1).transform.parent = child.Find("Hitbox");
        }

        if (TempArmor.Item2)
        {
            (TempArmor.Item2).transform.parent = child.Find("Hitbox");
        }

        if (TempArmor.Item3)
        {
            (TempArmor.Item3).transform.parent = child.Find("Hitbox");
        }

        if (TempWeapon)
        {
            TempWeapon.transform.parent = child.Find("Body");
        }

        HM.SetupHumanoidItems(TempWeapon, TempArmor);
    }
Beispiel #2
0
    private HumanoidCombatClass PickClass(bool SpecialClass, Transform child)
    {
        HumanoidCombatClass CombatClass = HumanoidCombatClass.Classless; //No class
        HumanoidMaster      HM          = child.GetComponent <HumanoidMaster>();

        if (SpecialClass)
        {
            CombatClass = (HumanoidCombatClass)Random.Range(1, 4);
        }

        HM.SetupHumanoidStats(CombatClass);
        return(CombatClass);
    }
    public void DialogueMenuBool(Transform DiaData = null)
    {
        if (DiaData != null)
        {
            Paused();
            cinemachineBrain.m_IgnoreTimeScale = true;
            cinemachineBrain.m_UpdateMethod    = CinemachineBrain.UpdateMethod.LateUpdate;
            playerAnimationUpdater.SetUpdateMode(AnimatorUpdateMode.UnscaledTime);
            playerAnimationUpdater.PlayAnimation("idle");

            Map.SetActive(false);
            inescapableExternalMenu = true;
            DialogueMenu.SetActive(true);
            DialogueMenu.GetComponent <Animator>().Play("Panel In");
            DialogueMenu.GetComponent <DiaParent>().SetupDia(DiaData);

            HumanoidMaster TempMaster = DiaData.GetComponentInParent <HumanoidMaster>();
            if (TempMaster) //Don't set if no npc
            {
                npcTransform = TempMaster.transform;
            }
            inDialogueMenu = true;

            List <Transform> targetTransforms = new List <Transform>();
            targetTransforms.Add(playerAnimationUpdater.GetComponentInParent <PlayerMaster>().transform);
            targetTransforms.Add(TempMaster.transform);
            camStateController.SetDiaTargetGroup(targetTransforms);
            camStateController.SetCamState(CameraStateController.CameraState.DialogueMenuCam);
        }
        else
        {
            Unpaused(true);
            inescapableExternalMenu = false;
            DialogueMenu.GetComponent <Animator>().Play("Panel Out");
            camStateController.RevertCamToPreviousState();
            inDialogueMenu = false;
            StartCoroutine(TurnOffPanel(DialogueMenu));
        }
    }
Beispiel #4
0
    private NPCActivityFlag ActivityFlag = NPCActivityFlag._NO_FLAG_; //Used for activity based Dia

    private void Awake()
    {
        int total = 0;

        for (int i = 0; i < NPC_Facs_Percentages_input.Count; ++i)
        {
            total += NPC_Facs_Percentages_input[i];
            NPC_Facs_Percentages.Add(total);
        }

        if (NPC_Facs.Count != 0)
        {
            Assert.IsTrue(total == 100);
            Assert.IsTrue(CustomActivities.Count == 0);
        }
        Assert.IsTrue(NPC_Facs.Count == NPC_Facs_Percentages_input.Count);


        HM  = GetComponentInParent <HumanoidMaster>();
        NL  = FindObjectOfType <NPC_Logic>();
        DNC = FindObjectOfType <DayNightController>();
        StartCoroutine(DelayedStart());
    }
 protected override void Start()
 {
     base.Start();
     HM  = GetComponentInParent <HumanoidMaster>();
     HMB = HM.GetComponentInChildren <HumanoidMeleeBox>();
 }
Beispiel #6
0
 protected virtual void Start()
 {
     HM  = GetComponentInParent <HumanoidMaster>();
     ETM = GetComponentInParent <EnemyTemplateMaster>();
     FL  = GameObject.Find("NPCs").GetComponent <FactionLogic>();
 }