예제 #1
0
        protected override void Init()
        {
            base.Init();
            base.SetViewPosition(Lib.View.ViewPosition.TopLeft);

            Enemy        = FindGameObject("Enemy");
            Pet          = FindGameObject("Pet");
            Player       = FindGameObject("Player");
            Teammate     = FindGameObject("Teammate");
            TeammateItem = FindGameObject("TeammateItem");
            TeammateList = FindGameObject("TeammateList");

            enemyBlood = Enemy.AddComponent <EnemyBlood>();

            Pet.SetActive(false);
            Teammate.SetActive(false);
            Enemy.SetActive(false);

            MajorPlayer player = PlayerManager.GetInstance().MajorPlayer;

            base.CombatLabel.text = player.combat.ToString();

            OnUpdatePlayerMoney(null);
            OnChangeNickname(null);
            OnChangeHead(null);
            OnPlayerLevelUp(null);
            OnChangeCombat(null);
        }
예제 #2
0
        /// <summary>
        /// Cause damage to entity health with additional logic.
        /// </summary>
        /// <param name="source">Source entity behaviour.</param>
        /// <param name="amount">Amount to damage health.</param>
        /// <param name="showBlood">Show blood splash.</param>
        /// <param name="bloodPosition">Blood splash position.</param>
        public void DamageHealthFromSource(DaggerfallEntityBehaviour sourceEntityBehaviour, int amount, bool showBlood, Vector3 bloodPosition)
        {
            // Remove health amount
            Entity.DecreaseHealth(amount);

            // Post-attack logic on source
            HandleAttackFromSource(sourceEntityBehaviour);

            // Show blood
            if (showBlood)
            {
                EnemyBlood blood = transform.GetComponent <EnemyBlood>();
                if (blood)
                {
                    blood.ShowBloodSplash(0, bloodPosition);
                }
            }
        }
예제 #3
0
        void DecreaseHealth(DaggerfallEntityBehaviour host, int amt)
        {
            host.Entity.DecreaseHealth(amt);
            if (host.Entity == GameManager.Instance.PlayerEntity)
            {
                return;
            }

            EnemyEntity         enemy            = host.Entity as EnemyEntity;
            EnemyBlood          blood            = host.transform.GetComponent <EnemyBlood>();
            CharacterController targetController = host.transform.GetComponent <CharacterController>();
            Vector3             bloodPos         = host.transform.position + targetController.center;

            bloodPos.y += targetController.height / 8;

            if (blood)
            {
                blood.ShowBloodSplash(enemy.MobileEnemy.BloodIndex, bloodPos);
            }

            return;
        }