示例#1
0
    void TrainCreatures()
    {
        foreach (var equipment in trainingManager.selectedEquipment)
        {
            Trainer activeEquipment = equipment.GetComponent <CreatureTrainer>().activeEquipment;

            if (activeEquipment.creatureOne != null)
            {
                CreatureList.Creature creatureOne = activeEquipment.creatureOne.GetComponent <CreatureStatsManager>().stats;
                CreatureList.Creature creatureTwo = null;

                if (activeEquipment.creatureTwo != null)
                {
                    creatureTwo = activeEquipment.creatureTwo.GetComponent <CreatureStatsManager>().stats;
                }

                activeEquipment.Train(creatureOne, creatureTwo);

                ResetCreature(activeEquipment, creatureOne, activeEquipment.creatureOne);
                activeEquipment.creatureOne = null;

                if (activeEquipment.creatureTwo != null)
                {
                    ResetCreature(activeEquipment, creatureTwo, activeEquipment.creatureTwo);
                    activeEquipment.creatureTwo = null;
                }
            }
        }
    }
示例#2
0
    void ResetCreature(Trainer activeEquipment, CreatureList.Creature creatureGiven, GameObject creatureGameObject)
    {
        activeEquipment.creatureOne.GetComponent <CreatureController>().isTraining  = false;
        activeEquipment.creatureOne.GetComponent <CreatureController>().isWandering = true;

        foreach (var creature in playerCreatures.creaturesOwned)
        {
            if (creature.GetComponent <CreatureStatsManager>().stats.GivenName == creatureGameObject.GetComponent <CreatureStatsManager>().stats.GivenName&& creature.GetComponent <CreatureStatsManager>().stats.species == creatureGameObject.GetComponent <CreatureStatsManager>().stats.species)
            {
                creature.GetComponent <CreatureStatsManager>().stats = creatureGiven;
            }
        }
    }
示例#3
0
    public override void Train(CreatureList.Creature creatureOne, CreatureList.Creature creatureTwo)
    {
        int successChanceOne = SuccessChance();
        int statsGainedOne   = StatsGained(creatureOne);

        int successChanceTwo = SuccessChance();
        int statsGainedTwo   = StatsGained(creatureTwo);

        if (successChanceOne < successChanceTwo)
        {
            statsGainedOne *= pairedTrainingMultiplier;
        }
        else if (successChanceTwo < successChanceOne)
        {
            statsGainedTwo *= pairedTrainingMultiplier;
        }
        else
        {
            statsGainedOne *= pairedTrainingMultiplier;
            statsGainedTwo *= pairedTrainingMultiplier;
        }

        if (successChanceOne <= creatureOne.temperament && successChanceTwo <= creatureTwo.temperament)
        {
            creatureOne.stats.strength += statsGainedOne;
            creatureTwo.stats.strength += statsGainedTwo;
        }
        else if (successChanceOne <= creatureOne.temperament)
        {
            creatureOne.stats.strength += statsGainedOne;
        }
        else if (successChanceTwo <= creatureTwo.temperament)
        {
            creatureTwo.stats.strength += statsGainedTwo;
        }

        if (successChanceOne % 2 == 0)
        {
            creatureOne.temperament += 1;
        }
        if (successChanceTwo % 2 == 0)
        {
            creatureTwo.temperament += 1;
        }

        creatureOne.secondaryStats.Stress  += 20;
        creatureOne.secondaryStats.Fatigue += 25;

        creatureTwo.secondaryStats.Stress  += 20;
        creatureTwo.secondaryStats.Fatigue += 25;
    }
示例#4
0
    public override void Train(CreatureList.Creature creatureOne, CreatureList.Creature creatureTwo)
    {
        int successChance = SuccessChance();
        int statsGained   = StatsGained(creatureOne);

        if (successChance <= creatureOne.temperament)
        {
            creatureOne.stats.strength += statsGained;
        }

        if (successChance % 2 == 0)
        {
            creatureOne.temperament += 1;
        }

        creatureOne.secondaryStats.Stress  += 15;
        creatureOne.secondaryStats.Fatigue += 15;
    }
示例#5
0
    public override void Train(CreatureList.Creature creatureOne, CreatureList.Creature creatureTwo)
    {
        int successChanceOne = SuccessChance();
        int statsGainedOne   = StatsGained(creatureOne) * pairedTrainingMultiplier;
        int statsLostOne     = StatsGained(creatureOne) / pairedTrainingMultiplier;

        int successChanceTwo = SuccessChance();
        int statsGainedTwo   = StatsGained(creatureTwo) * pairedTrainingMultiplier;
        int statsLostTwo     = StatsGained(creatureTwo) / pairedTrainingMultiplier;

        if (successChanceOne <= creatureOne.temperament && successChanceTwo <= creatureTwo.temperament)
        {
            creatureOne.stats.intelligence += statsGainedOne;
            creatureOne.stats.fitness      -= statsLostOne;

            creatureTwo.stats.intelligence += statsGainedTwo;
            creatureTwo.stats.fitness      -= statsLostTwo;
        }
        else if (successChanceOne <= creatureOne.temperament)
        {
            creatureOne.stats.intelligence += statsGainedOne / pairedTrainingMultiplier;
            creatureOne.stats.fitness      -= statsLostOne / pairedTrainingMultiplier;
        }
        else if (successChanceTwo <= creatureTwo.temperament)
        {
            creatureTwo.stats.intelligence += statsGainedTwo / pairedTrainingMultiplier;
            creatureTwo.stats.fitness      -= statsLostTwo / pairedTrainingMultiplier;
        }

        if (successChanceOne % 2 == 0)
        {
            creatureOne.temperament += 1;
        }
        if (successChanceTwo % 2 == 0)
        {
            creatureTwo.temperament += 1;
        }

        creatureOne.secondaryStats.Stress  += 30;
        creatureOne.secondaryStats.Fatigue += 15;

        creatureTwo.secondaryStats.Stress  += 30;
        creatureTwo.secondaryStats.Fatigue += 15;
    }
示例#6
0
    public override void Train(CreatureList.Creature creatureOne, CreatureList.Creature creatureTwo)
    {
        int successChanceOne = SuccessChance();
        int statsGainedSTOne = StatsGained(creatureOne);
        int statsGainedDXOne = StatsGained(creatureOne);

        int successChanceTwo = SuccessChance();
        int statsGainedSTTwo = StatsGained(creatureTwo);
        int statsGainedDXTwo = StatsGained(creatureTwo);

        if (successChanceOne <= creatureOne.temperament && successChanceTwo <= creatureTwo.temperament)
        {
            creatureOne.stats.strength  += statsGainedSTOne;
            creatureOne.stats.dexterity += statsGainedDXOne;

            creatureTwo.stats.strength  += statsGainedSTTwo;
            creatureTwo.stats.dexterity += statsGainedDXTwo;
        }
        else if (successChanceOne <= creatureOne.temperament)
        {
            creatureOne.stats.strength  += statsGainedSTOne / 2;
            creatureOne.stats.dexterity += statsGainedDXOne / 2;
        }
        else if (successChanceTwo <= creatureTwo.temperament)
        {
            creatureTwo.stats.strength  += statsGainedSTTwo / 2;
            creatureTwo.stats.dexterity += statsGainedDXTwo / 2;
        }

        if (successChanceOne % 2 == 0)
        {
            creatureOne.temperament += 1;
        }
        if (successChanceTwo % 2 == 0)
        {
            creatureTwo.temperament += 1;
        }

        creatureOne.secondaryStats.Stress  += 25;
        creatureOne.secondaryStats.Fatigue += 25;

        creatureTwo.secondaryStats.Stress  += 25;
        creatureTwo.secondaryStats.Fatigue += 25;
    }
示例#7
0
    // Use this for initialization
    void Start()
    {
        if (stats == null)
        {
            stats = new CreatureList.Creature();
        }

        //creatureController = GetComponent<CreatureController>();

        //if (isLeashed)
        //{
        //    creatureExists = true;
        //    DontDestroyOnLoad(gameObject);
        //}
        if (!creatureExists)
        {
            creatureExists = true;
        }
        else
        {
            Destroy(gameObject);
        }
    }
示例#8
0
 public void Play(IEntertainable toy, CreatureList.Creature creature)
 {
     toy.Play(creature);
 }
示例#9
0
 public void Eat(IEatable food, CreatureList.Creature creature)
 {
     food.Eat(creature);
 }
示例#10
0
 public void Clean(ICleaner sanitizer, CreatureList.Creature creature)
 {
     sanitizer.Clean();
 }
示例#11
0
 public void Play(CreatureList.Creature creature)
 {
     creature.secondaryStats.Stress -= entertainment;
 }
示例#12
0
 public void Sleep(IRester bed, CreatureList.Creature creature)
 {
     bed.Rest(creature);
 }
示例#13
0
 public void Eat(CreatureList.Creature creature)
 {
     creature.secondaryStats.Hunger -= nutrition;
 }
示例#14
0
 public void Rest(CreatureList.Creature creature)
 {
     creature.secondaryStats.Fatigue -= rest;
 }
示例#15
0
    public void SetStats(CreatureList.Creature creatureType)
    {
        //yield return new WaitForSeconds(0.1f);

        stats = creatureType;
    }
示例#16
0
 protected int StatsGained(CreatureList.Creature creature)
 {
     return((int)(Random.Range(1f, 10f) * (creature.stats.intelligence / 100f)));
 }
示例#17
0
 public abstract void Train(CreatureList.Creature creatureOne, CreatureList.Creature creatureTwo);