Esempio n. 1
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddSkillNative(
         "warden",
         "warden",
         "warden",
         new[] { "damage", "target", "physic", "ranged", "direct" },
         6,
         3,
         4,
         65,
         new Targets()
     {
         Allies      = true,
         NotAllies   = true,
         Unbearable  = true,
         Bearable    = true,
         Decorations = true
     },
         true,
         (scene, owner, targetTile, skill) =>
     {
         targetTile.DoDamageAttack(skill);
     });
 }
Esempio n. 2
0
        private void SetupNewNativeManager()
        {
            var nativeManager = EngineHelper.CreateNativeManager();

            nativeManager.FillNatives();
            _nativeManager = nativeManager;
        }
Esempio n. 3
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddSkillNative(
         "magicMissle",
         "magicMissle",
         "magicMissle",
         new[] { "damage", "target", "magic", "pure", "ranged", "direct" },
         8,
         3,
         4,
         60,
         new Targets()
     {
         Allies      = true,
         NotAllies   = true,
         Unbearable  = true,
         Bearable    = true,
         Decorations = true
     },
         true,
         (scene, owner, targetTile, skill) =>
     {
         targetTile.DoDamageSkill(skill);
     });
 }
Esempio n. 4
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddTileNative(
         "grass",
         new string[] { "natural" },
         false,
         0,
         false,
         1,
         true,
         null,
         null);
     nativeManager.AddTileNative(
         "bush",
         new string[] { "natural" },
         false,
         0,
         false,
         1,
         true,
         null,
         null);
     nativeManager.AddDecorationNative(
         "tree",
         "tree",
         new string[] { "natural", "flammable" },
         new TagSynergy[0],
         500,
         0,
         0,
         null,
         null);
 }
Esempio n. 5
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddSkillNative(
         "bloodsphere",
         "bloodsphere",
         "mistsphere",
         new[] { "damage", "target", "magic", "blood", "ranged", "direct" },
         8,
         3,
         0,
         60,
         new Targets()
     {
         Allies      = true,
         NotAllies   = true,
         Unbearable  = true,
         Bearable    = true,
         Decorations = true
     },
         true,
         (scene, owner, targetTile, skill) =>
     {
         owner.Damage(10, skill.AggregatedTags);
         targetTile.DoDamageSkill(skill);
     });
 }
Esempio n. 6
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddSkillNative(
         "powerplace",
         "powerplace",
         "powerplace",
         new[] { "target", "tile", "buff", "magic", "alteration" },
         4,
         3,
         3,
         0,
         new Targets()
     {
         Bearable    = true,
         Allies      = true,
         NotAllies   = true,
         Decorations = true,
         Self        = true
     },
         false,
         (scene, owner, targetTile, skill) =>
     {
         scene.ChangeTile("powerplace", targetTile.X, targetTile.Y, targetTile.Height, owner.Owner);
     });
 }
Esempio n. 7
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddActorNative(
         "mistspawn",
         "tamedspawn",
         "lesserspawn",
         new[] { "organic", "intelligent", "controlled" },
         0,
         new Engine.Helpers.TagSynergy[0]);
 }
Esempio n. 8
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddActorNative(
         "offspring",
         "offspring",
         "mistoffspring",
         new[] { "organic", "controlled" },
         0,
         new Engine.Helpers.TagSynergy[0]);
 }
Esempio n. 9
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddActorNative(
         "bloodletter",
         "bloodletter",
         "ritualist",
         new[] { "organic", "intelligent" },
         0,
         new Engine.Helpers.TagSynergy[0]);
 }
Esempio n. 10
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddActorNative(
         "ranger",
         "ranger",
         "impaler",
         new[] { "organic", "intelligent" },
         0,
         new Engine.Helpers.TagSynergy[0]);
 }
Esempio n. 11
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddActorNative(
         "architect",
         "architect",
         "carver",
         new[] { "organic", "intelligent" },
         0,
         new Engine.Helpers.TagSynergy[0]);
 }
Esempio n. 12
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddActorNative(
         "enchanter",
         "enchanter",
         "blacksmith",
         new[] { "organic", "intelligent" },
         0,
         new Engine.Helpers.TagSynergy[0]);
 }
Esempio n. 13
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddActorNative(
         "adventurer",
         "adventurer",
         "spawn",
         new[] { "organic", "intelligent" },
         0,
         new Engine.Helpers.TagSynergy[0]);
 }
Esempio n. 14
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddRoleModelNative(
         "mistspawn",
         24,
         2,
         12,
         20,
         2,
         "slash",
         new string[0]);
 }
Esempio n. 15
0
        public static void FillNatives(this INativeManager nativeManager)
        {
            var nativeTypes = Assembly
                              .GetExecutingAssembly()
                              .GetTypes()
                              .Where(type => IsNativeInterfaceRealization(type))
                              .ToList();

            foreach (var native in nativeTypes)
            {
                var instance = Activator.CreateInstance(native);
                native.GetMethod("Fill").Invoke(instance, new[] { nativeManager });
            }
        }
Esempio n. 16
0
        public static IScene CreateNewScene(
            Guid id,
            IEnumerable <Generation.ObjectInterfaces.IPlayer> players,
            ISceneGenerator generator,
            INativeManager nativeManager,
            IVarManager varManager,
            int seed,
            int moveTime,
            EventHandler <ISyncEventArgs> eventHandler)
        {
            Scene scene = new Scene(id, players, generator, nativeManager, varManager, seed, moveTime);

            scene.ReturnAction += eventHandler;
            scene.StartGame();
            return(scene);
        }
Esempio n. 17
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddTileNative(
         "powerplace",
         new string[] { "magic", "positive" },
         false,
         0,
         false,
         1,
         true,
         null,
         (scene, tile) =>
     {
         tile.AddBuff("tilepower", tile.Native.DefaultMod);
     });
 }
Esempio n. 18
0
        public RoleModelNative(INativeManager nativeManager, string id, int defaultStrength, int defaultWillpower, int defaultConstitution, int defaultSpeed, int defaultActionPointsIncome, string attackingSkillId, string[] skillIds)
        {
            this.Id                        = id;
            this.AttackingSkill            = nativeManager.GetSkillNative(attackingSkillId);
            this.DefaultActionPointsIncome = defaultActionPointsIncome;
            this.DefaultConstitution       = defaultConstitution;
            this.DefaultWillpower          = defaultWillpower;
            this.DefaultStrength           = defaultStrength;
            this.DefaultSpeed              = defaultSpeed;
            SkillNative[] skills = new SkillNative[skillIds.Length];
            for (int i = 0; i < skills.Length; i++)
            {
                skills[i] = nativeManager.GetSkillNative(skillIds[i]);
            }

            this.Skills = skills;
        }
Esempio n. 19
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddDecorationNative(
         "barrier",
         "barrier",
         new string[] { "construction" },
         new TagSynergy[]
     {
         new TagSynergy("pure", 0.5f),
         new TagSynergy("heal", 0)
     },
         150,
         0,
         0,
         null,
         null);
 }
Esempio n. 20
0
        public void Fill(INativeManager nativeManager)
        {
            nativeManager.AddSkillNative(
                "charge",
                "charge",
                "charge",
                new[] { "damage", "target", "movement", "control", "weapon", "direct", "physic" },
                7,
                4,
                3,
                10,
                new Targets()
            {
                Allies      = true,
                NotAllies   = true,
                Bearable    = true,
                Decorations = true
            },
                true,
                (scene, owner, targetTile, skill) =>
            {
                targetTile.DoDamageAttack(skill);
                if (Misc.RangeBetween(owner.X, owner.Y, targetTile.X, targetTile.Y) >= 2)
                {
                    targetTile.AddBuff("stun", 0, 1, true);
                }

                var angle  = Misc.AngleBetween(targetTile.X, targetTile.Y, owner.X, owner.Y);
                var sin    = (float)Math.Sin(angle);
                var cos    = (float)Math.Cos(angle);
                var x      = (float)targetTile.X;
                var y      = (float)targetTile.Y;
                var xRound = targetTile.X;
                var yRound = targetTile.Y;
                while (scene.Tiles[xRound][yRound].TempObject != null)
                {
                    x     += cos;
                    y     += sin;
                    xRound = (int)Math.Round(x, MidpointRounding.AwayFromZero);
                    yRound = (int)Math.Round(y, MidpointRounding.AwayFromZero);
                }

                owner.ChangePosition(scene.Tiles[(int)Math.Round(x, MidpointRounding.AwayFromZero)][(int)Math.Round(y, MidpointRounding.AwayFromZero)], true);
            });
        }
Esempio n. 21
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddSkillNative(
         "offspring",
         "offspring",
         "mistoffspring",
         new[] { "target", "summon", "magic", "blood" },
         1,
         2,
         4,
         0.2f,
         new Targets()
     {
         Bearable = true
     },
         false,
         (scene, owner, targetTile, skill) =>
     {
         var mod = (int)Math.Ceiling(owner.Constitution * skill.Mod);
         scene.CreateActor(
             owner.Owner as Player,
             null,
             "offspring",
             new RoleModelNative(
                 scene.NativeManager,
                 "offspring",
                 mod,
                 2,
                 mod,
                 30,
                 5,
                 "slash",
                 new string[]
         {
             "sacrifice"
         }),
             targetTile,
             null,
             null,
             null);
         owner.Damage(mod * scene.VarManager.ConstitutionMod, skill.AggregatedTags);
     });
 }
Esempio n. 22
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddBuffNative(
         "tilepower",
         new[] { "positive", "offence", "tile" },
         true,
         1,
         false,
         true,
         null,
         1,
         null,
         (manager, buff) =>
     {
         manager.AdditionStrength  += manager.Parent.SelfStrength * buff.Mod;
         manager.AdditionWillpower += manager.Parent.SelfWillpower * buff.Mod;
     },
         null);
 }
Esempio n. 23
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddBuffNative(
         "empower",
         new[] { "positive", "offence" },
         false,
         1,
         false,
         false,
         2,
         1,
         null,
         (manager, buff) =>
     {
         manager.AttackPower += buff.Mod;
         manager.SkillPower  += buff.Mod;
     },
         null);
 }
Esempio n. 24
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddBuffNative(
         "stun",
         new[] { "negative", "control" },
         false,
         1,
         false,
         false,
         1,
         0,
         null,
         (manager, buff) =>
     {
         manager.CanMove = false;
         manager.CanAct  = false;
     },
         null);
 }
Esempio n. 25
0
        public static Scene CreateNewScene(
            INativeManager nativeManager,
            string[,] tileSet,
            bool winConditions,
            IEnumerable <IActor> firstPlayer,
            IEnumerable <IActor> secondPlayer,
            EventHandler <ISyncEventArgs> eventHandler)
        {
            Scene scene = (Scene)EngineHelper.CreateNewScene(
                Guid.NewGuid(),
                CreatePlayers(firstPlayer, secondPlayer),
                EngineHelper.CreateTestSceneGenerator(tileSet, winConditions),
                nativeManager,
                CreateVarManagerWithDefaultVars(),
                0,
                0,
                eventHandler);

            return(scene);
        }
Esempio n. 26
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddSkillNative(
         "mistwalk",
         "mistwalk",
         "mistwalk",
         new[] { "target", "movement", "magic", "alteration" },
         10,
         1,
         5,
         0,
         new Targets()
     {
         Bearable = true
     },
         false,
         (scene, owner, targetTile, skill) =>
     {
         owner.ChangePosition(targetTile, true);
     });
 }
Esempio n. 27
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddSkillNative(
         "mistpact",
         "mistpact",
         "mistsummon",
         new[] { "target", "summon", "magic", "pure" },
         1,
         2,
         8,
         1,
         new Targets()
     {
         Bearable = true
     },
         false,
         (scene, owner, targetTile, skill) =>
     {
         scene.CreateActor(owner.Owner as Player, "mistspawn", "mistspawn", targetTile, null, null, null);
     });
 }
Esempio n. 28
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddSkillNative(
         "barrier",
         "barrier",
         "barrier",
         new[] { "target", "decoration", "magic", "alteration" },
         4,
         2,
         0,
         0,
         new Targets()
     {
         Bearable = true
     },
         false,
         (scene, owner, targetTile, skill) =>
     {
         scene.CreateDecoration(owner.Owner as Player, "barrier", targetTile, null, null, null, null, null);
     });
 }
Esempio n. 29
0
 private static void AddNatives(INativeManager nativeManager)
 {
     nativeManager.AddTileNative("test_wall", new string[0], false, 100, true, 1, true, null, null);
     nativeManager.AddTileNative("test_tile_h1", new string[0], false, 9, false, 1, true, null, null);
     nativeManager.AddTileNative("test_tile_h2", new string[0], false, 18, false, 1, true, null, null);
     nativeManager.AddTileNative("test_tile_h3", new string[0], false, 27, false, 1, true, null, null);
     nativeManager.AddTileNative("test_tile_h4", new string[0], false, 36, false, 1, true, null, null);
     nativeManager.AddTileNative("test_tile_h5", new string[0], false, -9, false, 1, true, null, null);
     nativeManager.AddTileNative("test_tile_h6", new string[0], false, -18, false, 1, true, null, null);
     nativeManager.AddTileNative("test_tile_h7", new string[0], false, -27, false, 1, true, null, null);
     nativeManager.AddTileNative("test_tile_h8", new string[0], false, -36, false, 1, true, null, null);
     nativeManager.AddTileNative("test_tile_effect", new string[0], false, 0, false, 10, true, DoDamage, DoDamageOnStep);
     nativeManager.AddTileNative("test_tile", new string[0], false, 0, false, 1, true, null, null);
     nativeManager.AddActorNative("test_actor", "test_actor", "test_actor", new string[] { "test_actor_tag" }, 0, new TagSynergy[] { new TagSynergy("test_skill_tag", 0.5f) });
     nativeManager.AddEffectNative("test_effect", "test_effect", new string[0], 0, null, 10, DoDamageTempTile, DoDamageTempTileDeath);
     nativeManager.AddDecorationNative("test_decoration", "test_decoration", new string[0], new TagSynergy[] { }, 100, 0, 10, DoSelfDamage, DoSelfDamage);
     nativeManager.AddSkillNative("test_actor_attack", "test_actor_attack", "test_actor_attack", new string[0], 1, 1, 0, 75, new Targets()
     {
         NotAllies = true, Allies = true, Bearable = true, Unbearable = true, Self = true
     }, false, DoDamageAttack);
     nativeManager.AddSkillNative("test_actor_attack_range", "test_actor_attack_range", "test_actor_attack_range", new string[0], 4, 1, 0, 12.5f, new Targets()
     {
         NotAllies = true, Allies = true, Bearable = true, Unbearable = true, Self = true
     }, false, DoDamageAttack);
     nativeManager.AddSkillNative("test_actor_skill", "test_actor_skill", "test_actor_skill", new string[] { "test_skill_tag" }, 1, 1, 0, 60, new Targets()
     {
         NotAllies = true, Allies = true, Bearable = true, Unbearable = true, Self = true
     }, false, DoDamageSkill);
     nativeManager.AddSkillNative("test_actor_skill_range", "test_actor_skill_range", "test_actor_skill_range", new string[0], 4, 2, 2, 10, new Targets()
     {
         NotAllies = true, Allies = true, Bearable = true, Unbearable = true, Self = true
     }, false, DoDamageSkill);
     nativeManager.AddBuffNative("test_buff_default", new string[] { "buff" }, false, 1, false, false, null, 1, null, AddStats, DamageSelfPurge);
     nativeManager.AddBuffNative("test_buff_duration", new string[] { "buff" }, false, 1, false, false, 1, 1, null, null, null);
     nativeManager.AddBuffNative("test_buff_eternal", new string[] { "item" }, true, 1, false, false, null, 1, null, AddMaxHealth, DamageSelfPurge);
     nativeManager.AddBuffNative("test_buff_multiple", new string[] { "buff" }, false, 4, false, false, null, 1, null, AddMaxHealth, null);
     nativeManager.AddBuffNative("test_buff_summarize", new string[] { "buff" }, false, 1, true, false, null, 1, null, AddMaxHealth, null);
     nativeManager.AddBuffNative("test_debuff", new string[] { "debuff" }, false, 1, false, false, null, 1, DamageSelf, null, DamageSelfPurge);
     nativeManager.AddRoleModelNative("test_roleModel", 10, 10, 10, 10, 4, "test_actor_attack", new string[] { "test_actor_skill" });
 }
Esempio n. 30
0
 public void Fill(INativeManager nativeManager)
 {
     nativeManager.AddSkillNative(
         "wand",
         "wand",
         "wand",
         new[] { "damage", "target", "weapon", "magic", "pure", "ranged", "direct" },
         6,
         2,
         0,
         24,
         new Targets()
     {
         NotAllies   = true,
         Decorations = true
     },
         false,
         (scene, owner, targetTile, skill) =>
     {
         targetTile.DoDamageSkill(skill);
     });
 }