Example #1
0
 public Actor(ActorType type, int level)
     : this()
 {
     ActorType = type;
     Level = 1;
     AddLevelTraits();
     for (int l = 0; l < level; l++) LevelUpRandom();
     Health = MaxHealth;
 }
Example #2
0
 public static ActorType GenerateMobType()
 {
     ActorType type = new ActorType();
     type.AccuracyTrend = new TraitTrend<int>((l) => 2 * l + 1);
     type.AttackTrend = new TraitTrend<int>((l) => (int)(Math.Pow(l, 2) + 10));
     type.DefenceTrend = new TraitTrend<int>((l) => (int)(0.9 * Math.Pow(l, 2) + 5));
     type.HealthTrend = new TraitTrend<int>((l) => (int)(0.7 * Math.Pow(l, 2) + 30));
     type.ExperienceTrend = new TraitTrend<int>((l) => (int)(Math.Pow(l, 3)));
     type.SpeedTrend = new TraitTrend<int>((l) => l);
     return type;
 }
Example #3
0
 public Hero(ActorType type, int level)
     : base(type, level)
 {
 }
Example #4
0
        public void Setup()
        {
            GameTime = new DateTime(1, 1, 1, 7, 0, 0);
            Actors = new List<Actor>();

            GameSetup = new GameSetup();
            GameSetup.SetupBiomes();
            GameSetup.SetupMobTypes();
            Map = GameSetup.GenerateWorldMap();

            Tile tile = Map.GetTile(5, 5);

            ActorType heroType = new ActorType();
            heroType.AccuracyTrend = new TraitTrend<int>((l) => 2 * l + 1);
            heroType.AttackTrend = new TraitTrend<int>((l) => (int)(Math.Pow(l, 2) + 10));
            heroType.DefenceTrend = new TraitTrend<int>((l) => (int)(0.9 * Math.Pow(l, 2) + 5));
            heroType.HealthTrend = new TraitTrend<int>((l) => (int)(0.7 * Math.Pow(l, 2) + 30));
            heroType.ExperienceTrend = new TraitTrend<int>((l) => (int)(Math.Pow(l, 3)));
            heroType.SpeedTrend = new TraitTrend<int>((l) => 10);

            Hero hero = new Hero(heroType, 5);
            hero.Name = "Hero";
            Hero = hero;
            AddActor(hero, tile);

            //MobType type = MobTypeFactory.GenerateMobType();
            for (int i = 0; i < 20; i++)
            {
                Mob mob = MobFactory.GenerateMob(GameSetup.MobTypes["Goblin"], 3);
                mob.Name = "Goblin " + i;

                while (true)
                {
                    Tile mobTile = Map.GetTile(Random.Next(0, Map.MapWidth - 1), Random.Next(0, Map.MapWidth - 1));
                    if (mobTile.Feature == null && mobTile.Actor == null)
                    {
                        AddActor(mob, mobTile);
                        break;
                    }
                }
            }
        }
Example #5
0
 public static Mob GenerateMob(ActorType type, int level)
 {
     Mob mob = new Mob(type, level);
     mob.Name = GetRandomName();
     return mob;
 }
Example #6
0
 public Mob(ActorType type, int level)
     : base(type, level)
 {
 }
Example #7
0
 public void SetupMobTypes()
 {
     ActorType goblinType = new ActorType();
     goblinType.AccuracyTrend = new TraitTrend<int>((l) => 2 * l + 1);
     goblinType.AttackTrend = new TraitTrend<int>((l) => (int)(Math.Pow(l, 2) + 10));
     goblinType.DefenceTrend = new TraitTrend<int>((l) => (int)(0.9 * Math.Pow(l, 2) + 5));
     goblinType.HealthTrend = new TraitTrend<int>((l) => (int)(0.7 * Math.Pow(l, 2) + 30));
     goblinType.ExperienceTrend = new TraitTrend<int>((l) => (int)(Math.Pow(l, 3)));
     goblinType.SpeedTrend = new TraitTrend<int>((l) => 10);
     MobTypes.Add("Goblin", goblinType);
 }