コード例 #1
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder()
                          .Create(Feat.Sleep, PerkType.Sleep)
                          .Name("Sleep")
                          .HasRecastDelay(RecastGroup.Sleep, 12f)
                          .HasActivationDelay(2f)
                          .RequirementMP(8)
                          .UsesActivationType(AbilityActivationType.Casted)
                          .DisplaysVisualEffectWhenActivating()
                          .HasImpactAction((activator, target, level) =>
            {
                var resistance   = Resistance.GetResistance(target, ResistanceType.Sleep);
                var baseDuration = Random.NextFloat(15.0f, 30.0f);
                var duration     = baseDuration * resistance;

                StatusEffect.Apply(activator, target, StatusEffectType.Sleep, duration);
                Resistance.ModifyResistance(target, ResistanceType.Sleep, -0.25f);

                CombatPoint.AddCombatPoint(activator, target, SkillType.BlackMagic, 3);
                Enmity.ModifyEnmity(activator, target, 18);
            });

            return(builder.Build());
        }
コード例 #2
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            TeleportBalamb(builder);

            return(builder.Build());
        }
コード例 #3
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            DeliberateStab(builder);

            return(builder.Build());
        }
コード例 #4
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            Convert(builder);

            return(builder.Build());
        }
コード例 #5
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            SubtleBlow1(builder);
            SubtleBlow2(builder);

            return(builder.Build());
        }
コード例 #6
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            Shadowstitch1(builder);
            Shadowstitch2(builder);

            return(builder.Build());
        }
コード例 #7
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            SneakAttack1(builder);
            SneakAttack2(builder);

            return(builder.Build());
        }
コード例 #8
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            PoisonStab1(builder);
            PoisonStab2(builder);

            return(builder.Build());
        }
コード例 #9
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            ShockSpikes1(builder);
            ShockSpikes2(builder);

            return(builder.Build());
        }
コード例 #10
0
        public void Build_MissingDescription_Throws()
        {
            // Arrange
            var builder = new AbilityBuilder()
                          .Name("caribou");

            // Act and Assert
            Assert.Throws <InvalidOperationException>(() => _ = builder.Build());
        }
コード例 #11
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            Provoke1(builder);
            Provoke2(builder);

            return(builder.Build());
        }
コード例 #12
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            LifeSteal1(builder);
            LifeSteal2(builder);

            return(builder.Build());
        }
コード例 #13
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            ElectricFist1(builder);
            ElectricFist2(builder);
            ElectricFist3(builder);

            return(builder.Build());
        }
コード例 #14
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            Thunder1(builder);
            Thunder2(builder);
            Thunder3(builder);

            return(builder.Build());
        }
コード例 #15
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            Blizzard1(builder);
            Blizzard2(builder);
            Blizzard3(builder);

            return(builder.Build());
        }
コード例 #16
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            WaspSting1(builder);
            WaspSting2(builder);
            WaspSting3(builder);

            return(builder.Build());
        }
コード例 #17
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            TransferMP1(builder);
            TransferMP2(builder);
            TransferStamina1(builder);
            TransferStamina2(builder);

            return(builder.Build());
        }
コード例 #18
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            InnerHealing1(builder);
            InnerHealing2(builder);
            InnerHealing3(builder);
            InnerHealing4(builder);
            InnerHealing5(builder);

            return(builder.Build());
        }
コード例 #19
0
        /// <summary>
        /// Returns an ability.
        /// </summary>
        public static Ability CreateAbility(
            string name        = "jim",
            string description = "eureka",
            ActionContainer actionContainer = null)
        {
            var builder = new AbilityBuilder()
                          .Name(name)
                          .Describe(description)
                          .WithActionContainer(actionContainer);

            return(builder.Build());
        }
コード例 #20
0
    public static void Create()
    {
        CharacterSheet character = new CharacterSheet();

        character.characterInfo = CharInfoBuilder.Build
                                  (
            CharacterStatic.name, CharacterStatic.charDescription
                                  );

        for (int i = 0; i < CharacterStatic.statsLable.Count; i++)
        {
            character.Stats.Add
            (
                StatisticBuilder.Build(CharacterStatic.statsLable[i],
                                       CharacterStatic.statsValue[i])
            );
        }

        for (int i = 0; i < CharacterStatic.abilityLable.Count; i++)
        {
            character.Abilities.Add(AbilityBuilder.Build
                                    (
                                        CharacterStatic.abilityLable[i],
                                        CharacterStatic.abilityDescription[i],
                                        CharacterStatic.abilityValue[i])
                                    );
        }

        for (int i = 0; i < CharacterStatic.skillLable.Count; i++)
        {
            character.Skills.Add(SkillBuilder.Build
                                 (
                                     CharacterStatic.skillLable[i],
                                     CharacterStatic.skillDescription[i],
                                     CharacterStatic.skillValue[i])
                                 );
        }

        for (int i = 0; i < CharacterStatic.eqLable.Count; i++)
        {
            character.Inventory.Add(ItemBuilder.Build
                                    (
                                        CharacterStatic.eqLable[i],
                                        CharacterStatic.eqDescription[i])
                                    );
        }

        string toSave = JsonUtility.ToJson(character);

        Debug.Log(toSave);
        File.WriteAllText(ProfileStatic.ProfileFolderPath + character.characterInfo.CharacterName + ".dat", Crypter.Crypting(toSave));
    }
コード例 #21
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            Defender1(builder);
            Defender2(builder);
            Defender3(builder);
            Ironclad1(builder);
            Ironclad2(builder);
            Ironclad3(builder);

            return(builder.Build());
        }
コード例 #22
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            Cure1(builder);
            Cure2(builder);
            Cure3(builder);

            Curaga1(builder);
            Curaga2(builder);

            return(builder.Build());
        }
コード例 #23
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder();

            Invincible(builder);
            HundredFists(builder);
            Benediction(builder);
            ElementalSeal(builder);
            PerfectDodge(builder);
            Manafont(builder);

            return(builder.Build());
        }
コード例 #24
0
        public void Build_CallsPresent_Succeeds()
        {
            // Arrange
            var builder = new AbilityBuilder()
                          .Name("caribou")
                          .Describe("andorra")
                          .WithActionContainer(new ActionContainer());

            // Act
            var move = builder.Build();

            // Assert
            Assert.That(move, Is.Not.Null);
        }
コード例 #25
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder()
                          .Create(Feat.SpikedDefense, PerkType.SpikedDefense)
                          .HasRecastDelay(RecastGroup.SpikedDefense, 120f)
                          .RequirementStamina(10)
                          .UsesActivationType(AbilityActivationType.Casted)
                          .HasImpactAction((activator, target, level) =>
            {
                const float Duration = 60f;

                ApplyEffectToObject(DurationType.Temporary, EffectVisualEffect(VisualEffect.Vfx_Dur_Aura_Pulse_Red_Orange), target, Duration);
                ApplyEffectToObject(DurationType.Temporary, EffectDamageShield(2, DamageBonus.DAMAGEBONUS_1d4, DamageType.Piercing), target);

                CombatPoint.AddCombatPointToAllTagged(activator, SkillType.Chivalry, 3);
                Enmity.ModifyEnmityOnAll(activator, 10);
            });

            return(builder.Build());
        }
コード例 #26
0
        public Dictionary <Feat, AbilityDetail> BuildAbilities()
        {
            var builder = new AbilityBuilder()
                          .Create(Feat.ElementalSpread, PerkType.ElementalSpread)
                          .Name("Elemental Spread")
                          .HasRecastDelay(RecastGroup.ElementalSpread, 600f)
                          .HasActivationDelay(1f)
                          .RequirementMP(10)
                          .UsesActivationType(AbilityActivationType.Casted)
                          .DisplaysVisualEffectWhenActivating()
                          .HasImpactAction((activator, target, level) =>
            {
                StatusEffect.Apply(activator, target, StatusEffectType.ElementalSpread, 60f);

                Enmity.ModifyEnmityOnAll(activator, 10);
                CombatPoint.AddCombatPointToAllTagged(activator, SkillType.BlackMagic, 3);
            });

            return(builder.Build());
        }