Beispiel #1
0
 public Boar()
 {
     this.Name      = "Boar";
     this.Level     = RngThreadSafe.Next(1, 4);
     this.MaxHp     = 6 + this.Level;
     this.CurrentHp = this.MaxHp;
     this.Strength  = this.Level;
     this.Speed     = this.Level;
 }
Beispiel #2
0
 public KoboldWarrior()
 {
     this.Name      = "Kobold Warrior";
     this.Level     = RngThreadSafe.Next(3, 6);
     this.MaxHp     = 10 + this.Level;
     this.CurrentHp = this.MaxHp;
     this.Strength  = 1 + this.Level;
     this.Speed     = 2;
     this.MonsterInit();
 }
Beispiel #3
0
 public KoboldHunter()
 {
     this.Name      = "Kobold Hunter";
     this.Level     = RngThreadSafe.Next(3, 5);
     this.MaxHp     = 4 + this.Level;
     this.CurrentHp = this.MaxHp;
     this.Strength  = this.Level - 1;
     this.Speed     = 5;
     this.MonsterInit();
 }
Beispiel #4
0
 public KoboldGatherer()
 {
     this.Name      = "Kobold Gatherer";
     this.Level     = RngThreadSafe.Next(2, 4);
     this.MaxHp     = 4 + this.Level;
     this.CurrentHp = this.MaxHp;
     this.Strength  = this.Level;
     this.Speed     = 3;
     this.MonsterInit();
 }
Beispiel #5
0
        private string ForestDescription()
        {
            switch (RngThreadSafe.Next(1, 5))
            {
            case 1: return("The trees are packed tightly together, so much so that there is barely any sunlight filtering through the trees.");

            case 2: return("Tall tree trunks cover your field of view, as far as you can see in any direction. At least the open mossy ground and small shrubberies give you a feeling of peace.");

            case 3: return("Dense pine trees everywhere. Needles cover the ground everywhere, be careful not to get any in your boots.");

            default: return("It's the perfect embodiment of everything a forest should be. You might want to remember this location.");
            }
        }
Beispiel #6
0
        private string RiverDescription()
        {
            switch (RngThreadSafe.Next(1, 5))
            {
            case 1:
                return("The river is not very wide, it seems narrow enough to jump across. It doesn't hinder your journey in any way.");

            case 2:
                return("The water flows rapidly, some fish swimming desperately against the strong current. If you step carefully, you think you can make it across without getting wet.");

            case 3:
                return("The water is no deeper than your knee, and perhaps three or four paces across. The sound of the moving water is relaxing. Perhaps you should take a break...");

            default: return("Water water water. Why do you have to encounter water. You do NOT want to get wet, but sometimes you have to do things you don't like when you're on an adventure...");
            }
        }
Beispiel #7
0
        private string LakeDescription()
        {
            switch (RngThreadSafe.Next(1, 5))
            {
            case 1:
                return("The waters look calm and inviting. On closer inspection the water looks crystal clear. Going for a short swim might be nice.");

            case 2:
                return("It's more of a puddle really. Barely 5 paces across, and by your estimation no deeper than your waist.");

            case 3:
                return("Dark murky waters span almost to the horizon. The water looks very deep. Better thread with care, there is no telling what is hiding in these waters.");

            default: return("The water looks perfectly still. Too still. Something is not right. You better move on quickly.");
            }
        }
Beispiel #8
0
        private string TownDescription()
        {
            switch (RngThreadSafe.Next(1, 5))
            {
            case 1:
                return("You have reached the town of Argense. It is a small farming community with a sizeable market.");

            case 2:
                return("You have reached the town of Liode. It is barely more than a few houses, but you might still find what you need.");

            case 3:
                return("You have reached the town of Yuon. How people still call this a town is unbelievable. More houses than you can count spread out ahead of you.");

            default: return("You have reached the town of Nani. It seems like a nice quiet little town. You might want to settle down here sometime, once you killed a dragon.");
            }
        }
Beispiel #9
0
        private string OceanDescription()
        {
            switch (RngThreadSafe.Next(1, 5))
            {
            case 1:
                return("The ocean is calm and it is quite nice to sea the fish swim besides you.");

            case 2:
                return("The ocean is calm and it is quite nice to sea the fish swim besides you.");

            case 3:
                return("The ocean is calm and it is quite nice to sea the fish swim besides you.");

            default: return("The ocean is calm and it is quite nice to sea the fish swim besides you.");
            }
        }
Beispiel #10
0
        private string MountainDescription()
        {
            switch (RngThreadSafe.Next(1, 5))
            {
            case 1:
                return("The mountain's peak is barely visible ahead of you, partly hidden by the low hanging clouds. You can't cross it for sure, but if you travel around the mountain you think you can still go in every direction...");

            case 2:
                return("Ahead of you is the beautiful snow covered peak. Smooth white steep slopes, impossible to climb. You will have to travel around the mountain...");

            case 3:
                return("There isn't any one peak to speak off, and I guess you could barely call it a mountain. There are paths criss crossing all over the 'mountain', so there isn't really anything stopping you from moving on.");

            default: return("There are many shadowy holes hidden behind boulders and under prickly bushes. You start to wonder how deep some of those caves go, and what you might find inside those caves...");
            }
        }
Beispiel #11
0
        private string PlainsDescription()
        {
            switch (RngThreadSafe.Next(1, 5))
            {
            case 1:
                return("Ankle high grass spreads in every direction. There are signs of grazing herd animals everywhere, but no animal in sight. It makes you a bit uncomfortabel.");

            case 2:
                return("Waist high grass grows wildly in every direction. You can see trails through the grass where animals and travelers have gone before you, but you better thread safely. You don't know what could be hiding in the grass...");

            case 3:
                return("Grass everywhere. More grass than you can handle. It's so boring, reaching all the way to the horizon. Better move on quickly...");

            default: return("A pleasant breeze makes the grass move in hypnotizing swaying motions. It makes you want to sit down and just look at it for a while...");
            }
        }
Beispiel #12
0
        private int CharacterDamage(Monster monster, Character character, List <Item> inventory)
        {
            int characterDamage = 0;

            if (RngThreadSafe.Next(1, 10) >= 4 - (character.Speed - monster.Speed))
            {
                Weapon weapon = (Weapon)inventory.SingleOrDefault(w => w.IsEquiped == true && w is Weapon);
                if (weapon != null)
                {
                    monster.CurrentHp -= weapon.Strength;
                }
                monster.CurrentHp -= character.Strength;
                characterDamage    = character.Strength;
            }

            return(characterDamage);
        }
Beispiel #13
0
        private int MonsterDamage(Monster monster, Character character, List <Item> inventory)
        {
            int monsterDamage = 0;

            if (RngThreadSafe.Next(1, 10) >= 4 - (monster.Speed - character.Speed))
            {
                Armor armor = (Armor)inventory.SingleOrDefault(w => w.IsEquiped == true && w is Armor);
                if (armor != null)
                {
                    character.CurrentHp += armor.Hp;
                }
                character.CurrentHp -= monster.Strength;
                monsterDamage        = monster.Strength;
            }

            return(monsterDamage);
        }
Beispiel #14
0
 //Random Loot and Random Gold assignment for new creature
 public void MonsterInit()
 {
     this.Loot = ItemFactory.CreateItem();
     this.Gold = RngThreadSafe.Next(1, 5);
 }