Beispiel #1
0
    // Update is called once per frame
    void Update()
    {
        // Make sure the Audio Souce follows the Player
        transform.position = player.position;

        if (health == null)
        {
            health = sC.GetStatOfType(StatType.HealthStat) as HealthStat;
            if (health.PrecentValue <= 0.3)
            {
                FX.clip = heartBeat;
                FX.Play();
                StartCoroutine(StartFade(100, 0.025f, FX));
                FX.loop = true;
            }
            else if (FX.isPlaying)
            {
                StartCoroutine(StartFade(50, 0.0f, FX));
                FX.Stop();
            }
        }

        Debug.Log(string.Format("Slime Status: {0}", GameObject.Find("slime_VFP(Clone)")));
        if (GameObject.Find("slime_VFP(Clone)") && !SlimeFX.isPlaying)
        {
            SlimeFX.Play();
            Debug.Log("Slime Playing");
        }
        else if (!GameObject.Find("slime_VFP(Clone)") && SlimeFX.isPlaying)
        {
            SlimeFX.Stop();
            Debug.Log("Slime Stop Playing");
        }
    }
Beispiel #2
0
        /*[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
         * static public void CallbackInitialization()
         * {
         *  SceneManager.sceneLoaded += OnSceneLoaded;
         * }
         *
         * static private void OnSceneLoaded(Scene arg0, LoadSceneMode arg1)
         * {
         *  GameObject.Find("BattleAttack").GetComponent<GameControl>().level += 1;
         *  //instance.level++;
         *  instance.InitGame();
         * }*/

        /*void OnEnable()
         * {
         *  SceneManager.sceneLoaded += Loadedscene;
         * }
         *
         * void OnDisable()
         * {
         *  SceneManager.sceneLoaded -= Loadedscene;
         * }
         *
         * void Loadedscene(Scene scene, LoadSceneMode mode)
         * {
         *  //scene = SceneManager.GetActiveScene();
         *  //instance.InitGame();
         *  InitGame();
         *  GameObject.Find("BattleAttack").GetComponent<GameControl>().level += 1;
         * }*/



        void InitGame()
        {
            //playerFoodPoints = GameObject.Find("BattleAttack").GetComponent<GameControl>().HP;
            Healthbar = GameObject.Find("BattleHealthBarCanvas/Healthbarbackground").GetComponent <Animator>();

            Healthbar.SetBool("HealthBarIsAppear", false);

            doingSetup = true;

            levelImage = GameObject.Find("LevelImage");

            levelText = GameObject.Find("LevelText").GetComponent <Text>();

            levelText.text = "Hollow Cave Floor " + GameObject.Find("BattleAttack").GetComponent <GameControl>().level;

            levelImage.SetActive(true);

            Invoke("HideLevelImage", levelStartDelay);

            Healthbar.SetBool("HealthBarIsAppear", true);

            HS = FindObjectOfType <HealthStat>();

            Debug.Log(HS.MyCurrentFill);


            enemies.Clear();

            boardScript.SetupScene(GameObject.Find("BattleAttack").GetComponent <GameControl>().level);
        }
    public void addItem(Item item)
    {
        Debug.Log("This got called");

        StatModifier armorMod = new StatModifier(item.armor, item.statModType, item.armorType);;

        StatModifier healthMod = new StatModifier(item.health, item.statModType, item.healthType);

        StatModifier damageMod = new StatModifier(item.damage, item.statModType, item.damageType);

        HealthStat health = statController.GetStatOfType(StatType.HealthStat) as HealthStat;
        ArmorStat  armor  = statController.GetStatOfType(StatType.ArmorStat) as ArmorStat;
        DamageStat damage = statController.GetStatOfType(StatType.DamageStat) as DamageStat;

        statController.AddModifier(healthMod);
        statController.AddModifier(armorMod);
        statController.AddModifier(damageMod);

        Debug.Log("Health total is " + health.CalculateFinalValue());
        Debug.Log("Damage total is " + damage.CalculateFinalValue());
        Debug.Log("Armor total is " + armor.CalculateFinalValue());


        items[(int)item.equipmentSlot] = item;

        for (int i = 0; i < equipmentUISlots.Length; i++)
        {
            if (item.equipmentSlot == equipmentUISlots[i].equipmentSlot)
            {
                equipmentUISlots[i].addItem(item);
            }
        }
    }
Beispiel #4
0
        protected override void Awake()
        {
            base.Awake();
            HealthStat healthStat = this.GetComponent <HealthStat>();

            this.healthBaseModifier = healthStat.Base.Modify((ref float healthBase) => healthBase += this.value * this.healthPerStrength);
            HealthRegenerationStat healthRegenerationStat = this.GetComponent <HealthRegenerationStat>();

            this.healthRegenerationBaseModifier = healthRegenerationStat.Base.Modify((ref float healthRegenerationBase) => healthRegenerationBase += this.value * this.healthRegenerationPerStrength);
        }
Beispiel #5
0
    private void Update()
    {
        //Debug.Log(target);
        rb.MovePosition(rb.position + dir * speed * Time.fixedDeltaTime);

        if (health == null)
        {
            health = GetComponent <StatControler>().GetStatOfType(StatType.HealthStat) as HealthStat;
        }
    }
Beispiel #6
0
 public StatPanel()
 {
     this.stats         = new List <IStat>();
     this.healthStat    = new HealthStat();
     this.killsStat     = new KillsStat();
     this.inventoryStat = new InventoryStat();
     this.Stats.Add(inventoryStat);
     this.Stats.Add(killsStat);
     this.Stats.Add(healthStat);
 }
Beispiel #7
0
    // do something on collision
    public override void onCollision(GameObject projectile, Collision2D collision)
    {
        Collider2D collider = collision.GetContact(0).collider;

        //Debug.Log(User.name + " hit " + collider.name);


        if (collider.gameObject == User)
        {
            return;
        }


        if (breakWalls)
        {
            Vector2 hitPos = collision.GetContact(0).point - collision.relativeVelocity.normalized * .1f;

            if (collision.GetContact(0).collider.name == "Walls")
            {
                FindObjectsOfType <Map.MapManager>()[0].DamageTile(hitPos.x, hitPos.y, damage);
                Destroy(projectile);
            }
        }

        StatControler sC;
        StatControler sCUser = User.GetComponent <StatControler>();

        if ((sC = collision.GetContact(0).collider.gameObject.GetComponent <StatControler>()) != null)
        {
            int finalDamage = 0;
            finalDamage += damage;

            HealthStat health      = sC.GetStatOfType(StatType.HealthStat) as HealthStat;
            ArmorStat  armor       = sC.GetStatOfType(StatType.ArmorStat) as ArmorStat;
            DamageStat damageBonus = sCUser.GetStatOfType(StatType.DamageStat) as DamageStat;

            if (armor != null)
            {
                finalDamage -= (int)armor.CalculateFinalValue();
            }
            if (damageBonus != null)
            {
                finalDamage += (int)damageBonus.CalculateFinalValue();
            }

            //Debug.Log(health);

            if (health != null)
            {
                //Debug.Log(finalDamage);
                health.addValue(-finalDamage);
                Destroy(projectile);
            }
        }
    }
    private void Update()
    {
        if (health == null)
        {
            health = sC.GetStatOfType(StatType.HealthStat) as HealthStat;
            health.OnStatDepletedCallBack += Die;
        }


        this.updateBar(health.PrecentValue);
    }
Beispiel #9
0
    public void JoinNextLevel()
    {
        animator.SetBool("Falling", false);
        Map.MapManager.instance.JoinNextLevel();
        HealthStat h = statControler?.GetStatOfType(StatType.HealthStat) as HealthStat;

        if (h != null)
        {
            h.addValue(-1 * h.BaseValue * .5f);
        }
    }
 private static void OnClassChanged(HealthStat __instance)
 {
     try
     {
         var player = __instance.GetPlayer();
         player.MaxHealth = player.ClassManager.CurRole.maxHP;
     }
     catch (Exception e)
     {
         Logger.Get.Error($"Synapse-Event: PlayerSetClass(Health) failed!!\n{e}");
     }
 }
Beispiel #11
0
        public virtual void ReceiveDamage(float value)
        {
            if (value < DefenseStat.Current)
            {
                return;
            }
            HealthStat.Remove(value - DefenseStat.Current);

            if (HealthStat.IsEmpty)
            {
                GameController.GameOver();
            }
        }
Beispiel #12
0
    void Start()
    {
        // hack: works for now - ask isaac
        heldItem = Instantiate(heldItem);

        sprite    = GetComponent <SpriteRenderer>();
        rb        = GetComponent <Rigidbody2D>();
        playerObj = GameObject.Find("Player");
        if (health == null)
        {
            health = GetComponent <StatControler>().GetStatOfType(StatType.HealthStat) as HealthStat;
        }
        StartCoroutine(EnemyFSM());
    }
Beispiel #13
0
    /// <summary>
    /// Set the lists of player stats when the game starts.
    /// </summary>
    void SetPlayerStat()
    {
        SerializablePlayerStats playerState = SaveLoadManager.Instance.FileManager.SerializablePlayerStats;

        attackStat = playerState.AttackStat;
        healthStat = playerState.HealthStat;

        if (playerState.ExperienceStat.ListItemsCount == 0)
        {
            experienceStat.AddStat(new BaseStat(ExperienceStatNames.Level1, StatType.ExperienceStat, ExperienceStatValues.Level1));
        }
        else
        {
            experienceStat = playerState.ExperienceStat;
        }

        ShowPlayerStats();
    }
        private static bool OnClassChanged(HealthStat __instance)
        {
            try
            {
                var player = __instance.GetPlayer();
                if (player.LiteRoleSet)
                {
                    return(false);
                }

                player.MaxHealth = player.ClassManager.CurRole.maxHP;
                return(true);
            }
            catch (Exception e)
            {
                Logger.Get.Error($"Synapse-Event: PlayerSetClass(Health) failed!!\n{e}");
                return(true);
            }
        }
Beispiel #15
0
        private static bool OnHeal(HealthStat __instance, ref float healAmount)
        {
            try
            {
                var player = __instance?.Hub?.GetPlayer();
                if (player == null)
                {
                    return(false);
                }

                var allow = true;
                SynapseController.Server.Events.Player.InvokePlayerHealEvent(player, ref healAmount, ref allow);
                return(allow);
            }
            catch (Exception e)
            {
                SynapseController.Server.Logger.Error($"Synapse-Event: PlayerHeal failed!!\n{e}");
            }

            return(true);
        }
Beispiel #16
0
    private void Update()
    {
        //Debug.Log(target);
        rb.MovePosition(rb.position + dir * speed * Time.fixedDeltaTime);

        if (health == null)
        {
            health = GetComponent <StatControler>().GetStatOfType(StatType.HealthStat) as HealthStat;
        }

        if (stat == null)
        {
            stat = statControler.GetStatOfType(statType) as ConsumableStat;

            if (stat != null)
            {
                stat.OnStatChangeCallBack   += UpdateColor;
                stat.OnStatDepletedCallBack += Die;
            }
        }
    }
    public void removeItem(Item item)
    {
        StatModifier armorMod = new StatModifier(item.armor, item.statModType, item.armorType);;

        StatModifier healthMod = new StatModifier(item.health, item.statModType, item.healthType);

        StatModifier damageMod = new StatModifier(item.damage, item.statModType, item.damageType);

        HealthStat health = statController.GetStatOfType(StatType.HealthStat) as HealthStat;
        ArmorStat  armor  = statController.GetStatOfType(StatType.ArmorStat) as ArmorStat;
        DamageStat damage = statController.GetStatOfType(StatType.DamageStat) as DamageStat;

        statController.RemoveModifier(healthMod);
        statController.RemoveModifier(armorMod);
        statController.RemoveModifier(damageMod);

        Debug.Log("Health total is " + health.CalculateFinalValue());
        Debug.Log("Damage total is " + damage.CalculateFinalValue());
        Debug.Log("Armor total is " + armor.CalculateFinalValue());

        items[(int)item.equipmentSlot] = null;
    }
Beispiel #18
0
    // do something on collision
    public override void onCollision(GameObject attack, Collision2D collider)
    {
        //Debug.Log(User.name + " hit " + collider.gameObject.name);

        if (collider.gameObject == User)
        {
            return;
        }

        StatControler sC;
        StatControler sCUser = User.GetComponent <StatControler>();

        if ((sC = collider.gameObject.GetComponent <StatControler>()) != null)
        {
            int finalDamage = 0;
            finalDamage += damage;

            HealthStat health      = sC.GetStatOfType(StatType.HealthStat) as HealthStat;
            ArmorStat  armor       = sC.GetStatOfType(StatType.ArmorStat) as ArmorStat;
            DamageStat damageBonus = sCUser.GetStatOfType(StatType.DamageStat) as DamageStat;

            if (armor != null)
            {
                finalDamage -= (int)armor.CalculateFinalValue();
            }
            if (damageBonus != null)
            {
                finalDamage += (int)damageBonus.CalculateFinalValue();
            }

            //Debug.Log(health);

            if (health != null)
            {
                health.addValue(-finalDamage);
                //Debug.Log("Players health is = " + health.CurrentValue);
            }
        }
    }
 public void BuildCard(Card c, DeckBuilder builder)
 {
     originalCardData = c;
     deckBuilder      = builder;
     if (originalCardData != null)
     {
         CostStat             = originalCardData.manaCost;
         NameString           = originalCardData.name;
         CostText.text        = CostStat.ToString();
         NameText.text        = NameString;
         DescriptionText.text = originalCardData.description;
         if (originalCardData.cardType == CardInfo.CardType.Minion)
         {
             AttackStat = originalCardData.attack;
             HealthStat = originalCardData.health;
             //RARITY HERE
             AttackText.text = AttackStat.ToString();
             HealthText.text = HealthStat.ToString();
             ClassText.text  = originalCardData.cardClass.ToString();
         }
         cardImage.sprite = originalCardData.artwork;
     }
 }
Beispiel #20
0
    //DO damage on colision like magic bolt
    private void OnCollisionEnter2D(Collision2D col)
    {
        StatControler sC;

        if ((sC = col.GetContact(0).collider.gameObject.GetComponent <StatControler>()) != null && col.gameObject.tag == "Player")
        {
            int finalDamage = 0;
            finalDamage += damage;

            HealthStat health = sC.GetStatOfType(StatType.HealthStat) as HealthStat;
            ArmorStat  armor  = sC.GetStatOfType(StatType.ArmorStat) as ArmorStat;

            if (armor != null)
            {
                finalDamage -= (int)armor.CalculateFinalValue();
            }

            if (health != null)
            {
                health.addValue(-finalDamage);
                Die();
            }
        }
    }
Beispiel #21
0
 private static bool GetMaxHealth(HealthStat __instance, out float __result)
 {
     __result = __instance.GetPlayer().MaxHealth;
     return(false);
 }
Beispiel #22
0
 void Start()
 {
     stat = player.GetComponent <HealthStat>();
     currentHealthBar.enabled = true;
     healthText.enabled       = true;
 }
Beispiel #23
0
    // do something on collision
    public override void onCollision(GameObject projectile, Collision2D collision)
    {
        Collider2D collider = collision.GetContact(0).collider;

        //Debug.Log(User.name + " hit " + collider.name);


        if (collider.gameObject == User)
        {
            return;
        }


        if (breakWalls)
        {
            Vector2 hitPos = collision.GetContact(0).point - collision.relativeVelocity.normalized * .1f;

            if (collision.GetContact(0).collider.name == "Walls")
            {
                Instantiate(explosion, hitPos, new Quaternion());

                for (float i = -explosionRaidius; i <= explosionRaidius; ++i)
                {
                    for (float j = -explosionRaidius; j <= explosionRaidius; ++j)
                    {
                        var d = i * i + j * j;
                        if (d <= sqrR)
                        {
                            Map.MapManager.instance.DamageTile(hitPos.x + i, hitPos.y + j, damage / d);
                        }
                    }
                }

                Destroy(projectile);
            }
        }

        StatControler sC;
        StatControler sCUser = User.GetComponent <StatControler>();

        if ((sC = collision.GetContact(0).collider.gameObject.GetComponent <StatControler>()) != null)
        {
            int finalDamage = 0;
            finalDamage += damage;

            HealthStat health      = sC.GetStatOfType(StatType.HealthStat) as HealthStat;
            ArmorStat  armor       = sC.GetStatOfType(StatType.ArmorStat) as ArmorStat;
            DamageStat damageBonus = sCUser.GetStatOfType(StatType.DamageStat) as DamageStat;

            if (armor != null)
            {
                finalDamage -= (int)armor.CalculateFinalValue();
            }
            if (damageBonus != null)
            {
                finalDamage += (int)damageBonus.CalculateFinalValue();
            }

            //Debug.Log(health);

            if (health != null)
            {
                //Debug.Log(finalDamage);
                health.addValue(-finalDamage);
                Destroy(projectile);
            }
        }
    }
Beispiel #24
0
 protected override void Awake()
 {
     base.Awake();
     this.healthStat = this.GetComponent <HealthStat>();
 }
Beispiel #25
0
 public SerializablePlayerStats(AttackStat attackStat, HealthStat healthStat, ExperienceStat experienceStat)
 {
     this.attackStat     = attackStat;
     this.healthStat     = healthStat;
     this.experienceStat = experienceStat;
 }
Beispiel #26
0
 // Use this for initialization
 private void Awake()
 {
     HealthStat.Initialize();
 }