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); }); }
private void SetupNewNativeManager() { var nativeManager = EngineHelper.CreateNativeManager(); nativeManager.FillNatives(); _nativeManager = nativeManager; }
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); }); }
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); }
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); }); }
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); }); }
public void Fill(INativeManager nativeManager) { nativeManager.AddActorNative( "mistspawn", "tamedspawn", "lesserspawn", new[] { "organic", "intelligent", "controlled" }, 0, new Engine.Helpers.TagSynergy[0]); }
public void Fill(INativeManager nativeManager) { nativeManager.AddActorNative( "offspring", "offspring", "mistoffspring", new[] { "organic", "controlled" }, 0, new Engine.Helpers.TagSynergy[0]); }
public void Fill(INativeManager nativeManager) { nativeManager.AddActorNative( "bloodletter", "bloodletter", "ritualist", new[] { "organic", "intelligent" }, 0, new Engine.Helpers.TagSynergy[0]); }
public void Fill(INativeManager nativeManager) { nativeManager.AddActorNative( "ranger", "ranger", "impaler", new[] { "organic", "intelligent" }, 0, new Engine.Helpers.TagSynergy[0]); }
public void Fill(INativeManager nativeManager) { nativeManager.AddActorNative( "architect", "architect", "carver", new[] { "organic", "intelligent" }, 0, new Engine.Helpers.TagSynergy[0]); }
public void Fill(INativeManager nativeManager) { nativeManager.AddActorNative( "enchanter", "enchanter", "blacksmith", new[] { "organic", "intelligent" }, 0, new Engine.Helpers.TagSynergy[0]); }
public void Fill(INativeManager nativeManager) { nativeManager.AddActorNative( "adventurer", "adventurer", "spawn", new[] { "organic", "intelligent" }, 0, new Engine.Helpers.TagSynergy[0]); }
public void Fill(INativeManager nativeManager) { nativeManager.AddRoleModelNative( "mistspawn", 24, 2, 12, 20, 2, "slash", new string[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 }); } }
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); }
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); }); }
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; }
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); }
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); }); }
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); }); }
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); }
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); }
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); }
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); }
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); }); }
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); }); }
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); }); }
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" }); }
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); }); }