Exemplo n.º 1
0
 public override void Unpack(BinaryReader reader)
 {
     Id = reader.ReadUInt32();
     MaxHealth.Unpack(reader);
     MaxStamina.Unpack(reader);
     MaxMana.Unpack(reader);
 }
Exemplo n.º 2
0
        public void InitClassAndRace(ActorBornAttributeMeta classMeta, ActorBornAttributeMeta raceMeta, float healthRank)
        {
            MaxHealth.InitHealthRatingRank(classMeta.HealthRating + raceMeta.HealthRating, healthRank);
            MaxHealth.InitResourceFromClassRace(classMeta.Health, raceMeta.Health);

            MaxMana.InitResourceFromClassRace(classMeta.Mana, raceMeta.Mana);
            MaxStamina.InitResourceFromClassRace(classMeta.Stamina, raceMeta.Stamina);
        }
 public override void TakeDamage(float damage)
 {
     base.TakeDamage(damage);
     if (currentHealth <= MaxHealth.GetValue() / 2 && !secondPhase)
     {
         SecondPhase();
         secondPhase = true;
     }
 }
 void Update()
 {
     if (networkView.isMine)
     {
         string datas = PlayerName + ";" + MaxHealth.ToString() + ";" + Health.ToString() + ";" + RedBalls.ToString() + ";" + YellowBalls.ToString() + ";" + GreenBalls.ToString()
                        + ";" + NbCollectedFragments.ToString();
         networkView.RPC("SynchronizePlayerDatas", RPCMode.Others, datas);
         AdjustHealth(0);
     }
 }
Exemplo n.º 5
0
 protected override void OnEnable()
 {
     if (isInitialized)
     {
         audioSource.Play();
         ReduceSpawns();
         gameManager.StartCoroutine(gameManager.RUIManager.ShowBossText(BossEnterText, TextColor, TextMaterial));
         gameManager.RUIManager.InitializeBossBar(MaxHealth.GetValue(), BossIcon);
     }
     base.OnEnable();
 }
Exemplo n.º 6
0
 public override void TakeDamage(float damage)
 {
     if (Random.Range(0, 100) >= Agility.GetValue())
     {
         damage              -= Defence.GetValue();
         damage               = Mathf.Clamp(damage, 0, int.MaxValue);
         CurrentHealth       -= damage;
         Healthbar.fillAmount = CurrentHealth / MaxHealth.GetValue();
         Debug.Log("Damage has been taken " + damage);
     }
 }
Exemplo n.º 7
0
        public XmlElement Serialize(XmlDocument doc)
        {
            XmlElement xmlStats = doc.CreateElement("stats");

            xmlStats.SetAttribute("health", Health.ToString());
            xmlStats.SetAttribute("maxHealth", MaxHealth.ToString());
            xmlStats.SetAttribute("endurance", Endurance.ToString());
            xmlStats.SetAttribute("strength", Strength.ToString());
            xmlStats.SetAttribute("intelligence", Intelligence.ToString());
            xmlStats.SetAttribute("agility", Agility.ToString());
            xmlStats.SetAttribute("dexterity", Dexterity.ToString());
            xmlStats.SetAttribute("upgradePoint", UpgradePoint.ToString());

            return(xmlStats);
        }
Exemplo n.º 8
0
        public bool Equals(PlayerInfo other)
        {
            if (other == null)
            {
                return(false);
            }

            return(Money.Equals(other.Money) &&
                   MoneyOnScreen.Equals(other.MoneyOnScreen) &&
                   PackagesCollected.Equals(other.PackagesCollected) &&
                   MaxHealth.Equals(other.MaxHealth) &&
                   MaxArmor.Equals(other.MaxArmor) &&
                   InfiniteSprint.Equals(other.InfiniteSprint) &&
                   FastReload.Equals(other.FastReload) &&
                   FireProof.Equals(other.FireProof) &&
                   GetOutOfJailFree.Equals(other.GetOutOfJailFree) &&
                   GetOutOfHospitalFree.Equals(other.GetOutOfHospitalFree));
        }
Exemplo n.º 9
0
    public string StatsDisplay()
    {
        string stats = ("Wizard Joey: \n"
                        + "\nHealth: " + Health.ToString() + "/" + MaxHealth.ToString()
                        + "\nMana: " + Mana.ToString() + "/" + MaxMana.ToString()
                        + "\nHealth Regen: " + statsScript.HealthRegenStat.ToString() + " per second"
                        + "\nMana Regen: " + statsScript.ManaRegenStat.ToString() + " per second"
                        /*+ "\nGold: " + gold.ToString()*/
                        + "\n" + Armor);

        // + "\nCurrent Experience: " + experience.ToString() + "/" + nextLvlExp.ToString());
        // StatsText.text = ("Wizard Joey: \n"
        //     + "\nHealth: " + health.ToString() + "/" + maxHealth.ToString()
        //     + "\nMana: " + mana.ToString() + "/" + maxMana.ToString()
        //     + "\nGold: " + gold.ToString()
        //     //+ "\nArmor: " + Armor.ToString()
        //     + "\nCurrent Experience: " + experience.ToString() + "/" + nextLvlExp.ToString());
        return(stats);
    }
Exemplo n.º 10
0
        protected override void OnUpdate()
        {
            var maxHealthData = GetComponentDataFromEntity <MaxHealth>(isReadOnly: true);
            var shieldData    = GetComponentDataFromEntity <Shield>(isReadOnly: false);
            var maxShieldData = GetComponentDataFromEntity <MaxShield>(isReadOnly: false);

            Entities
            .WithAll <Enabling>()
            .WithReadOnly(maxHealthData)
            .ForEach((in ShieldEquipment shieldEquipment, in Parent parent) =>
            {
                MaxHealth maxHealth = maxHealthData[parent.Value];
                float shieldHP      = shieldEquipment.HealthFractionBonus * maxHealth.Base;

                Shield shield            = shieldData[parent.Value];
                shield.Health           += shieldHP;
                shieldData[parent.Value] = shield;

                MaxShield maxShield         = maxShieldData[parent.Value];
                maxShield.Value            += shieldHP;
                maxShieldData[parent.Value] = maxShield;
            })
Exemplo n.º 11
0
    private void Start()
    {
        // Health starts and resets to full when starting game again
        MaxHealth       = 100f;
        CurrentHealth   = MaxHealth;
        healthBar.value = MaxHealth;
        Debug.Log("Health is " + healthBar.value);
        currentHealthPoints.text = MaxHealth.ToString();

        // Energy starts and resets to 0 when starting game again
        MaxEnergy       = 0f;
        CurrentEnergy   = MaxEnergy;
        energyBar.value = MaxEnergy;
        Debug.Log("Health is " + healthBar.value);
        currentEnergyPoints.text = MaxEnergy.ToString();

        ScoreScript.scoreValue = 0;
        restartButton.SetActive(false);
        exitButton.SetActive(false);
        gameOverText.SetActive(false);
        gameOverScoreText.SetActive(false);
        gameOverScoreNum.SetActive(false);
    }
        private void InstantiateCharacters(int entityCount)
        {
            if (entityCount <= 0)
            {
                return;
            }

            var entityArray = new NativeArray <Entity>(entityCount, Allocator.TempJob);

            EntityManager.CreateEntity(m_Archetype, entityArray);

            var terrain = Terrain.activeTerrain;

            for (var entityIndex = 0; entityIndex < entityArray.Length; entityIndex++)
            {
                var type                  = (ViewType)m_Random.NextInt(Enum.GetValues(typeof(ViewType)).Length);
                var entity                = entityArray[entityIndex];
                var movementSpeed         = new MovementSpeed();
                var rotationSpeed         = new RotationSpeed();
                var rotationSpeedModifier = new RotationSpeedModifier();
                var walkSpeedModifier     = new WalkSpeedModifier();
                var chargeSpeedModifier   = new ChargeSpeedModifier();
                var engageSqrRadius       = new EngageSqrRadius();
                var attackDistance        = new AttackDistance {
                    Min = 1.5f, Max = 2
                };
                var attackAnimationDuration = new AttackAnimationDuration();
                var attackDamage            = new AttackDamage();
                var attackSpeed             = new AttackSpeed();
                var maxHealth          = new MaxHealth();
                var health             = new Health();
                var healthRegeneration = new HealthRegeneration();
                var viewInfo           = new ViewInfo();

                PostUpdateCommands.SetComponent(entity, new Translation {
                    Value = terrain.GetRandomPosition()
                });

                switch (type)
                {
                case ViewType.Knight:
                    PostUpdateCommands.AddComponent(entity, new Knight());
                    PostUpdateCommands.AddComponent(entity, new Faction {
                        Value = FactionType.Alliance
                    });
                    movementSpeed.Value           = m_Random.NextFloat(1, 3);
                    rotationSpeed.Value           = m_Random.NextFloat(1, 3);
                    rotationSpeedModifier.Value   = m_Random.NextFloat(1.25f, 2);
                    walkSpeedModifier.Value       = m_Random.NextFloat(0.9f, 1.25f);
                    chargeSpeedModifier.Value     = m_Random.NextFloat(2, 3);
                    engageSqrRadius.Value         = m_Random.NextFloat(400, 2500);
                    attackAnimationDuration.Value = 1;
                    attackDamage.Value            = m_Random.NextInt(10, 30);
                    attackSpeed.Value             = m_Random.NextFloat(1, 3);
                    maxHealth.Value          = m_Random.NextInt(100, 200);
                    health.Value             = maxHealth.Value;
                    healthRegeneration.Value = m_Random.NextFloat(1, 3);
                    viewInfo.Type            = ViewType.Knight;
                    break;

                case ViewType.OrcWolfRider:
                    PostUpdateCommands.AddComponent(entity, new OrcWolfRider());
                    PostUpdateCommands.AddComponent(entity, new Faction {
                        Value = FactionType.Horde
                    });
                    movementSpeed.Value           = m_Random.NextFloat(1, 3);
                    rotationSpeed.Value           = m_Random.NextFloat(1, 3);
                    rotationSpeedModifier.Value   = m_Random.NextFloat(1.25f, 2);
                    walkSpeedModifier.Value       = m_Random.NextFloat(0.9f, 1.25f);
                    chargeSpeedModifier.Value     = m_Random.NextFloat(2, 3);
                    engageSqrRadius.Value         = m_Random.NextFloat(400, 2500);
                    attackAnimationDuration.Value = 1.333f;
                    attackDamage.Value            = m_Random.NextInt(10, 30);
                    attackSpeed.Value             = m_Random.NextFloat(1, 3);
                    maxHealth.Value          = m_Random.NextInt(100, 200);
                    health.Value             = maxHealth.Value;
                    healthRegeneration.Value = m_Random.NextFloat(1, 3);
                    viewInfo.Type            = ViewType.OrcWolfRider;
                    break;

                case ViewType.Skeleton:
                    PostUpdateCommands.AddComponent(entity, new Skeleton());
                    PostUpdateCommands.AddComponent(entity, new Faction {
                        Value = FactionType.Legion
                    });
                    movementSpeed.Value           = m_Random.NextFloat(1, 3);
                    rotationSpeed.Value           = m_Random.NextFloat(1, 3);
                    rotationSpeedModifier.Value   = m_Random.NextFloat(1.25f, 2);
                    walkSpeedModifier.Value       = m_Random.NextFloat(0.9f, 1.25f);
                    chargeSpeedModifier.Value     = m_Random.NextFloat(2, 3);
                    engageSqrRadius.Value         = m_Random.NextFloat(400, 2500);
                    attackAnimationDuration.Value = 2.4f;
                    attackDamage.Value            = m_Random.NextInt(10, 30);
                    attackSpeed.Value             = m_Random.NextFloat(1, 3);
                    maxHealth.Value          = m_Random.NextInt(100, 200);
                    health.Value             = maxHealth.Value;
                    healthRegeneration.Value = m_Random.NextFloat(1, 3);
                    viewInfo.Type            = ViewType.Skeleton;
                    break;
                }

                PostUpdateCommands.SetComponent(entity, movementSpeed);
                PostUpdateCommands.SetComponent(entity, rotationSpeed);
                PostUpdateCommands.SetComponent(entity, rotationSpeedModifier);
                PostUpdateCommands.SetComponent(entity, walkSpeedModifier);
                PostUpdateCommands.SetComponent(entity, chargeSpeedModifier);
                PostUpdateCommands.SetComponent(entity, engageSqrRadius);
                PostUpdateCommands.SetComponent(entity, attackDistance);
                PostUpdateCommands.SetComponent(entity, attackAnimationDuration);
                PostUpdateCommands.SetComponent(entity, attackDamage);
                PostUpdateCommands.SetComponent(entity, attackSpeed);
                PostUpdateCommands.SetComponent(entity, maxHealth);
                PostUpdateCommands.SetComponent(entity, health);
                PostUpdateCommands.SetComponent(entity, healthRegeneration);
                PostUpdateCommands.SetComponent(entity, viewInfo);
#if UNITY_EDITOR
                EntityManager.SetName(entity, $"{viewInfo.Type} AI {entity}");
#endif
            }

            entityArray.Dispose();
        }
Exemplo n.º 13
0
 //Set currentvalues to start values
 private void Start()
 {
     currentMana    = Mathf.RoundToInt(maxMana.GetValue());
     currentStamina = Mathf.RoundToInt(MaxStamina.GetValue());
     currentHealth  = Mathf.RoundToInt(MaxHealth.GetValue());
 }
Exemplo n.º 14
0
 public void SetLevel(int level)
 {
     MaxHealth.SetLevel(level);
     MaxMana.SetLevel(level);
     MaxStamina.SetLevel(level);
 }