public async Task <Potion> GetEntity(int id)
        {
            PotionData potionData = (PotionData)(await _repo.FetchOne(id)); // For now let's deal with having to cast our repo data
            Potion     potion     = _mapper.Map <Potion>(potionData);

            return(potion);
        }
Exemple #2
0
    public void SetabilityEffect(PotionData potionData)
    {
        effectImage.sprite = potionData.Image;
        SetRemainingTurnText(AbilityEffectService.NUM_OF_INFINITY);

        abilityEffect = new AbilityEffect(potionData);
    }
Exemple #3
0
    void Start()
    {
        Instance = this;
        Weapon   = Weapons[Random.Range(0, Weapons.Length)];
        Item     = Items[Random.Range(0, Items.Length)];
        Spell    = Spells[Random.Range(0, Spells.Length)];
        Potion   = Potions[Random.Range(0, Potions.Length)];

        if (Type.Equals("Weapon"))
        {
            GetComponent <SpriteRenderer>().sprite = Weapon.Sprite;
        }
        if (Type.Equals("Item"))
        {
            GetComponent <SpriteRenderer>().sprite = Item.Sprite;
        }
        if (Type.Equals("Spell"))
        {
            GetComponent <SpriteRenderer>().sprite = Spell.Sprite;
        }
        if (Type.Equals("Potion"))
        {
            GetComponent <SpriteRenderer>().sprite = Potion.Sprite;
        }
    }
Exemple #4
0
    private void SetAnswerShape(SpriteRenderer bubbleObj)
    {
        PotionData data = GetRandomPotion(m_currentExcludedPotion);

        bubbleObj.sprite   = data.Sprite;
        bubbleObj.material = data.Material;
        m_currentExcludedPotion.Add(data);
    }
    public void AddAbilityEffect(PotionData potionData)
    {
        var uiabilityEffect = Instantiate(this.uiAbilityEffect, transform);

        uiabilityEffect.Initialize();
        uiabilityEffect.SetabilityEffect(potionData);
        uiabilityEffect.OnShow();

        uiAbilityEffectList.Add(uiabilityEffect);
    }
Exemple #6
0
    private void GenerateData()
    {
        PotionDatas = new Dictionary <int, PotionData>();

        foreach (var potionExcelData in PotionExcelDatas)
        {
            PotionData potionData = new PotionData(potionExcelData);
            PotionDatas.Add(potionData.Id, potionData);
        }
    }
Exemple #7
0
    public void ExcludeAnswer(SpriteRenderer answer)
    {
        m_currentExcludedColor.Add(answer.color);
        m_currentExcludedSprite.Add(answer.sprite);
        PotionData data = new PotionData();

        data.Material = answer.material;
        data.Sprite   = answer.sprite;
        m_currentExcludedPotion.Add(data);
    }
Exemple #8
0
        private void Start()
        {
            board         = GetComponent <DungeonBoard>();
            coord         = GetComponent <ConvertCoordinates>();
            actorData     = GetComponent <ActorData>();
            potionData    = GetComponent <PotionData>();
            infectionData = GetComponent <InfectionData>();

            getUI = FindObjects.GetUIText;
        }
Exemple #9
0
 private bool CheckShapeColor(Color c, PotionData data)
 {
     for (int i = 0; i < m_currentExcludedColor.Count && i < m_currentExcludedPotion.Count; ++i)
     {
         if (m_currentExcludedColor[i] == c && m_currentExcludedPotion[i].Sprite == data.Sprite)
         {
             return(false);
         }
     }
     return(true);
 }
Exemple #10
0
 private bool ContainPotion(PotionData data, List <PotionData> excluded)
 {
     for (int i = 0; i < excluded.Count; ++i)
     {
         if (/*data.Material == excluded[i].Material && */ data.Sprite == excluded[i].Sprite)
         {
             return(true);
         }
     }
     return(false);
 }
Exemple #11
0
    public void StartRoom(PlayerInfo data)
    {
        Speed  = data.Speed;
        Health = data.Health;

        ItemData   = data.ItemData;
        WeaponData = data.WeaponData;
        PotionData = data.PotionData;
        SpellData  = data.SpellData;
        UpdateSprites();
    }
 public PotionData(PotionData potionData)
 {
     Id            = potionData.Id;
     Name          = potionData.Name;
     Grade         = potionData.Grade;
     Ability       = potionData.Ability;
     WayOfIncrease = potionData.WayOfIncrease;
     IncreaseValue = potionData.IncreaseValue;
     Description   = potionData.Description;
     Image         = potionData.Image;
 }
Exemple #13
0
        private void Start()
        {
            potionData = FindObjects.GameLogic.GetComponent <PotionData>();
            message    = FindObjects.GameLogic.GetComponent <UIMessage>();
            text       = FindObjects.GameLogic.GetComponent <GameText>();
            color      = FindObjects.GameLogic.GetComponent <GameColor>();

            if (!LoadedActorData)
            {
                CurrentPotion = potionData.StartPotion;
            }
        }
Exemple #14
0
    public AbilityEffect(PotionData potionData)
    {
        ability           = potionData.Ability;
        remainingTurn     = -1;
        wayOfCalculate    = potionData.WayOfIncrease;
        effectValue       = potionData.IncreaseValue;
        abilityEffectData = AbilityEffectData.Potion;
        description       = potionData.Description;

        dataIdList = new List <int>();
        dataIdList.Add(potionData.Id);
    }
Exemple #15
0
    public bool TryGetPotionData(int potionId, out PotionData data)
    {
        data = null;

        if (PotionDatas.TryGetValue(potionId, out var potionData))
        {
            data = new PotionData(potionData);
            return(true);
        }

        Debug.LogError($"Error TryGetPotionData potionId:{potionId}");
        return(false);
    }
Exemple #16
0
        private void Start()
        {
            schedule = FindObjects.GameLogic.GetComponent <SchedulingSystem>();
            progress = FindObjects.GameLogic.GetComponent <DungeonProgress>();
            progressData
                       = FindObjects.GameLogic.GetComponent <DungeonProgressData>();
            color      = FindObjects.GameLogic.GetComponent <GameColor>();
            modeline   = FindObjects.GameLogic.GetComponent <UIModeline>();
            message    = FindObjects.GameLogic.GetComponent <UIMessage>();
            actorData  = FindObjects.GameLogic.GetComponent <ActorData>();
            potionData = FindObjects.GameLogic.GetComponent <PotionData>();
            coord      = FindObjects.GameLogic.GetComponent <ConvertCoordinates>();
            fungus     = FindObjects.GameLogic.GetComponent <NourishFungus>();
            text       = FindObjects.GameLogic.GetComponent <GameText>();

            getActor = FindObjects.GetStaticActor;
        }
Exemple #17
0
 private void InitData()
 {
     PotionInfo = (PotionData)CreateInstance(typeof(PotionData));
     PotionInfo.Randomize();
 }
Exemple #18
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.CompareTag("Enemy") && !_inv)
        {
            Vector2 dir = collision.GetContact(0).point - (Vector2)this.transform.position;
            dir = -dir.normalized;
            _rigidBody.AddForce(dir * 2, ForceMode2D.Impulse);
            _knockback = 0.2f;
            CameraShaker.Instance.ShakeOnce(0.2f, 0.3f, 0.3f, 0.3f);

            _spriteRenderer.color = new Color(1.0f, 1.0f, 1.0f, 0.5f);
            Oof.Play();
            Health -= collision.gameObject.GetComponent <Damage>().EnemyCollisionDamage;
            _inv    = true;
        }

        if (collision.gameObject.CompareTag("ProjectileEnemy") && !_inv)
        {
            Vector2 dir = collision.GetContact(0).point - (Vector2)this.transform.position;
            dir = -dir.normalized;
            _rigidBody.AddForce(dir * 2, ForceMode2D.Impulse);
            _knockback = 0.2f;
            CameraShaker.Instance.ShakeOnce(0.5f, 0.5f, 0.3f, 0.3f);


            Oof.Play();
            Health -= collision.gameObject.GetComponent <ProjectileEnemy>().Damage;
            _inv    = true;
            _spriteRenderer.color = new Color(1.0f, 1.0f, 1.0f, 0.5f);
        }

        if (collision.gameObject.tag == "Drop")
        {
            string type = collision.gameObject.GetComponent <Drop>().Type;
            if (type.Equals("Weapon"))
            {
                WeaponData = collision.gameObject.GetComponent <Drop>().Weapon;
                MeleeSpeed = WeaponData.Speed;
                Melee.GetComponentInChildren <SpriteRenderer>().sprite = WeaponData.Sprite;
                Boop.Play();
                UpdateSprites();
            }
            if (type.Equals("Item"))
            {
                ItemData = collision.gameObject.GetComponent <Drop>().Item;
                Boop.Play();
                UpdateSprites();
            }
            if (type.Equals("Spell"))
            {
                SpellData = collision.gameObject.GetComponent <Drop>().Spell;
                Boop.Play();
                UpdateSprites();
            }
            if (type.Equals("Potion"))
            {
                PotionData = collision.gameObject.GetComponent <Drop>().Potion;
                Boop.Play();
                UpdateSprites();
            }
        }
    }
Exemple #19
0
        protected override void LoadContent()
        {
            _spriteBatch = new SpriteBatch(GraphicsDevice);

            DataManager.ReadEntityData(Content);
            DataManager.ReadArmorData(Content);
            DataManager.ReadShieldData(Content);
            DataManager.ReadWeaponData(Content);
            DataManager.ReadChestData(Content);
            DataManager.ReadKeyData(Content);
            DataManager.ReadSkillData(Content);

            FontManager.AddFont("testfont", Content.Load <SpriteFont>("Fonts/scenefont"));
            TextureManager.AddTexture("FullSheet", Content.Load <Texture2D>("GUI/ProjectUtumno_full"));
            string[] fileNames = Directory.GetFiles(
                Path.Combine("Content/Game/Items", "Armor"),
                "*.xnb");

            foreach (string a in fileNames)
            {
                string path = "Game/Items/Armor/" + Path.GetFileNameWithoutExtension(a);

                ArmorData armorData = Content.Load <ArmorData>(path);
                ItemManager.AddArmor(new Armor(armorData));
            }

            fileNames = Directory.GetFiles(
                Path.Combine("Content/Game/Items", "Shield"),
                "*.xnb");

            foreach (string a in fileNames)
            {
                string path = "Game/Items/Shield/" + Path.GetFileNameWithoutExtension(a);

                ShieldData shieldData = Content.Load <ShieldData>(path);
                ItemManager.AddShield(new Shield(shieldData));
            }

            fileNames = Directory.GetFiles(
                Path.Combine("Content/Game/Items", "Weapon"),
                "*.xnb");

            foreach (string a in fileNames)
            {
                string path = "Game/Items/Weapon/" + Path.GetFileNameWithoutExtension(a);

                WeaponData weaponData = Content.Load <WeaponData>(path);
                ItemManager.AddWeapon(new Weapon(weaponData));
            }

            PotionData potionData = new PotionData
            {
                Name             = "Minor Healing Potion",
                Type             = "Potion",
                Target           = "Health",
                Price            = 100,
                Weight           = .25f,
                Minimum          = 6,
                Maximum          = 13,
                AllowableClasses = new[] { "Fighter", "Wizard", "Rogue", "Priest" }
            };

            Potion potion = new Potion(potionData);

            ItemManager.AddPotion(potion);

            potionData = new PotionData
            {
                Name             = "Minor Mana Potion",
                Type             = "Potion",
                Target           = "Mana",
                Price            = 100,
                Weight           = .25f,
                Minimum          = 6,
                Maximum          = 13,
                AllowableClasses = new[] { "Wizard", "Priest" }
            };

            potion = new Potion(potionData);

            ItemManager.AddPotion(potion);

            potionData = new PotionData
            {
                Name             = "Minor Stamina Potion",
                Type             = "Potion",
                Target           = "Stamina",
                Price            = 100,
                Weight           = .25f,
                Minimum          = 6,
                Maximum          = 13,
                AllowableClasses = new[] { "Fighter", "Rogue" }
            };

            potion = new Potion(potionData);

            ItemManager.AddPotion(potion);

            GameItemManager.AddItem("Long Sword", new GameItem(ItemManager.GetWeapon("Long Sword"), "FullSheet", new Rectangle(1696, 1408, 32, 32)));
            GameItemManager.AddItem("Short Sword", new GameItem(ItemManager.GetWeapon("Short Sword"), "FullSheet", new Rectangle(800, 1504, 32, 32)));
            GameItemManager.AddItem("Apprentice Staff", new GameItem(ItemManager.GetWeapon("Apprentice Staff"), "FullSheet", new Rectangle(224, 1408, 32, 32)));
            GameItemManager.AddItem("Acolyte Staff", new GameItem(ItemManager.GetWeapon("Acolyte Staff"), "FullSheet", new Rectangle(256, 1408, 32, 32)));
            GameItemManager.AddItem("Leather Armor", new GameItem(ItemManager.GetArmor("Leather Armor"), "FullSheet", new Rectangle(1248, 1216, 32, 32)));
            GameItemManager.AddItem("Chain Mail", new GameItem(ItemManager.GetArmor("Chain Mail"), "FullSheet", new Rectangle(1472, 1184, 32, 32)));
            GameItemManager.AddItem("Studded Leather Armor", new GameItem(ItemManager.GetArmor("Studded Leather Armor"), "FullSheet", new Rectangle(1984, 1120, 32, 32)));
            GameItemManager.AddItem("Light Robes", new GameItem(ItemManager.GetArmor("Light Robes"), "FullSheet", new Rectangle(992, 1216, 32, 32)));
            GameItemManager.AddItem("Medium Robes", new GameItem(ItemManager.GetArmor("Medium Robes"), "FullSheet", new Rectangle(1024, 1216, 32, 32)));
            GameItemManager.AddItem("Minor Healing Potion", new GameItem(ItemManager.GetPotion("Minor Healing Potion"), "FullSheet", new Rectangle(832, 1344, 32, 32)));
            GameItemManager.AddItem("Minor Mana Potion", new GameItem(ItemManager.GetPotion("Minor Mana Potion"), "FullSheet", new Rectangle(576, 1344, 32, 32)));
            GameItemManager.AddItem("Minor Stamina Potion", new GameItem(ItemManager.GetPotion("Minor Stamina Potion"), "FullSheet", new Rectangle(704, 1344, 32, 32)));
        }
Exemple #20
0
    void Update()
    {
        if (Health <= 0)
        {
            if (_timerInv == 2.0f)
            {
                _animator.SetTrigger("RIP");
                Death.Play();
                _isDead = true;
            }
            _timerInv            -= Time.deltaTime;
            _spriteRenderer.color = new Color(1.0f, 1.0f, 1.0f, 1.0f);

            if (_timerInv < 0)
            {
                SceneManager.LoadScene("Menu", LoadSceneMode.Single);
            }
        }
        if (Health > 0)
        {
            Health -= AntiHealth * Time.deltaTime;
            UIController.Instance.SetHealth((int)Health);
        }

        if (_inv && Health > 0)
        {
            UIController.Instance.SetHealth((int)Health);

            UIController.Instance.SetHealth((int)Health);
            _timerInv -= Time.deltaTime;
            if (_timerInv < 0)
            {
                _spriteRenderer.color = new Color(1.0f, 1.0f, 1.0f, 1.0f);
                _inv      = false;
                _timerInv = 2.0f;
            }
        }

        if (!_isDead)
        {
            float velX     = Input.GetAxisRaw("Horizontal");
            float velY     = Input.GetAxisRaw("Vertical");
            bool  isMoving = false;

            if (_knockback <= 0)
            {
                if (Mathf.Abs(velX) > float.Epsilon || Mathf.Abs(velY) > float.Epsilon)
                {
                    _spriteRenderer.flipX = velX < 0;
                    isMoving    = true;
                    Walk.volume = Random.Range(0.8f, 1.0f);
                    Walk.pitch  = Random.Range(0.8f, 1.2f);
                    if (!Walk.isPlaying)
                    {
                        Walk.Play();
                    }
                }
                _moveInput    = new Vector2(velX, velY);
                _moveVelocity = _moveInput.normalized * Speed;
            }
            _knockback -= Time.deltaTime;

            if (Input.GetButton("Fire2") && Time.time > _nextFire)
            {
                _nextFire = Time.time + FireRate;
                Fireball?.Play();
                Shoot();
                _animator.SetTrigger("Projectile");
            }

            if (Input.GetButton("Fire1") && !_isMelee)
            {
                Sword?.Play();
                _isMelee    = true;
                _meleeTimer = 0.5f;
                Melee.gameObject.SetActive(true);
            }
            if (_isMelee)
            {
                if (_meleeTimer > 0)
                {
                    if (velX > 0 || velX == 0 && _attackRight)
                    {
                        Melee.transform.localScale = new Vector3(1, 1, 1);
                        Melee.transform.Rotate(new Vector3(0, 0, -240) * MeleeSpeed * Time.deltaTime);
                        _attackRight = true;
                    }
                    else
                    {
                        Melee.transform.localScale = new Vector3(1, -1, 1);
                        Melee.transform.Rotate(new Vector3(0, 0, 240) * MeleeSpeed * Time.deltaTime);
                        _attackRight = false;
                    }
                    _meleeTimer -= Time.deltaTime;
                }
                else
                {
                    _isMelee = false;
                    if (velX > 0)
                    {
                        Melee.transform.eulerAngles = new Vector3(0, 0, 100);
                    }
                    else
                    {
                        Melee.transform.eulerAngles = new Vector3(0, 0, 70);
                    }
                    Melee.gameObject.SetActive(false);
                }
            }
            _animator.SetBool("Walk", isMoving);

            if (Input.GetKeyDown("q") && PotionData.Boost != 0)
            {
                Health += PotionData.Boost;
                Potion.Play();
                PotionData = EmptyPotionSlot;
                UpdateSprites();
            }
            if (Input.GetKeyDown("e") && ItemData != null)
            {
                Throw();
                ItemData = null;
                Click.Play();
                CameraShaker.Instance.ShakeOnce(0.2f, 0.2f, 0.3f, 0.3f);

                ItemData = EmptyItemSlot;
                UpdateSprites();
            }

            _defenceTimer -= Time.deltaTime;
            if (_defenceTimer <= 0)
            {
                Defence.gameObject.SetActive(false);
            }
        }
    }
 public void SetDescriptionText(PotionData potionData)
 {
     descriptionText.text = $"{potionData.Name} : {potionData.Description}";
 }