コード例 #1
0
        public void SetMushroomKind(MushroomKind kind)
        {
            MushroomKind = kind;
            Name         = MushroomKind.ToDescription();
            if (MushroomKind == MushroomKind.BlueToadstool)
            {
                SrcPotion  = PotionKind.Mana;
                DestPotion = SpecialPotionKind.Magic;

                StatKind = Attributes.EntityStatKind.Mana;
            }
            else
            {
                SrcPotion  = PotionKind.Health;
                DestPotion = SpecialPotionKind.Strength;
                StatKind   = Attributes.EntityStatKind.Health;
            }
            NegativeFactor = MushroomKind == MushroomKind.RedToadstool;

            if (MushroomKind == MushroomKind.BlueToadstool || MushroomKind == MushroomKind.RedToadstool)
            {
                this.EffectType = Effects.EffectType.Poisoned;
            }

            DisplayedName = Name;
            SetPrimaryStatDesc();
            SetDefaultTagFromKind();
        }
コード例 #2
0
ファイル: PotionTests.cs プロジェクト: tomaszkot/Roguelike
        private void TestSpecialPotion(Hero hero, EntityStatKind esk, SpecialPotionKind spk)
        {
            var statValue = hero.Stats[esk].Nominal;
            var pot       = Helper.AddTile <SpecialPotion>();

            pot.SpecialPotionKind = spk;
            AddItemToInv(pot);
            hero.Consume(pot);
            Assert.AreEqual(hero.Stats[esk].Nominal, statValue + 1);
        }
コード例 #3
0
ファイル: SpecialPotion.cs プロジェクト: tomaszkot/Roguelike
 public SpecialPotion(SpecialPotionKind kind, SpecialPotionSize size) : base(PotionKind.Special)
 {
     PercentageStatIncrease = false;
     SpecialPotionKind      = kind;
     Price     = 50;
     this.size = size;
     if (size == SpecialPotionSize.Medium)
     {
         Price = 100;
     }
     else if (size == SpecialPotionSize.Big)
     {
         Price = 200;
     }
     Symbol = '`';
 }