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; } } } }
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; } } }
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; }
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; }
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; }
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; }
// 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); } }
public void Play(IEntertainable toy, CreatureList.Creature creature) { toy.Play(creature); }
public void Eat(IEatable food, CreatureList.Creature creature) { food.Eat(creature); }
public void Clean(ICleaner sanitizer, CreatureList.Creature creature) { sanitizer.Clean(); }
public void Play(CreatureList.Creature creature) { creature.secondaryStats.Stress -= entertainment; }
public void Sleep(IRester bed, CreatureList.Creature creature) { bed.Rest(creature); }
public void Eat(CreatureList.Creature creature) { creature.secondaryStats.Hunger -= nutrition; }
public void Rest(CreatureList.Creature creature) { creature.secondaryStats.Fatigue -= rest; }
public void SetStats(CreatureList.Creature creatureType) { //yield return new WaitForSeconds(0.1f); stats = creatureType; }
protected int StatsGained(CreatureList.Creature creature) { return((int)(Random.Range(1f, 10f) * (creature.stats.intelligence / 100f))); }
public abstract void Train(CreatureList.Creature creatureOne, CreatureList.Creature creatureTwo);