protected void parseMonsterInfo(string name) { string[] monsterInfo = Game1.content.Load <Dictionary <string, string> >("Data\\Monsters")[name].Split('/'); Health = Convert.ToInt32(monsterInfo[0]); MaxHealth = Health; DamageToFarmer = Convert.ToInt32(monsterInfo[1]); coinsToDrop.Value = Game1.random.Next(Convert.ToInt32(monsterInfo[2]), Convert.ToInt32(monsterInfo[3]) + 1); isGlider.Value = Convert.ToBoolean(monsterInfo[4]); durationOfRandomMovements.Value = Convert.ToInt32(monsterInfo[5]); string[] objectsSplit = monsterInfo[6].Split(' '); objectsToDrop.Clear(); for (int i = 0; i < objectsSplit.Length; i += 2) { if (Game1.random.NextDouble() < Convert.ToDouble(objectsSplit[i + 1])) { objectsToDrop.Add(Convert.ToInt32(objectsSplit[i])); } } resilience.Value = Convert.ToInt32(monsterInfo[7]); jitteriness.Value = Convert.ToDouble(monsterInfo[8]); base.willDestroyObjectsUnderfoot = false; moveTowardPlayer(Convert.ToInt32(monsterInfo[9])); base.speed = Convert.ToInt32(monsterInfo[10]); missChance.Value = Convert.ToDouble(monsterInfo[11]); mineMonster.Value = Convert.ToBoolean(monsterInfo[12]); if (maxTimesReachedMineBottom() >= 1 && (bool)mineMonster) { resilience.Value += resilience.Value / 2; missChance.Value *= 2.0; Health += Game1.random.Next(0, Health); DamageToFarmer += Game1.random.Next(0, DamageToFarmer / 2); coinsToDrop.Value += Game1.random.Next(0, (int)coinsToDrop + 1); if (Game1.random.NextDouble() < 0.001) { objectsToDrop.Add((Game1.random.NextDouble() < 0.5) ? 72 : 74); } } try { ExperienceGained = Convert.ToInt32(monsterInfo[13]); } catch (Exception) { ExperienceGained = 1; } if (LocalizedContentManager.CurrentLanguageCode != 0) { base.displayName = monsterInfo[monsterInfo.Length - 1]; } }
public void ResetPhaseDays() { Dictionary <int, string> cropData = Game1.content.Load <Dictionary <int, string> >("Data\\Crops"); int seedIndex = -1; if ((int)rowInSpriteSheet != 23 && netSeedIndex.Value == -1) { InferSeedIndex(); } seedIndex = (((int)rowInSpriteSheet != 23) ? netSeedIndex.Value : whichForageCrop.Value); if (cropData.ContainsKey(seedIndex)) { string[] phaseSplit = cropData[seedIndex].Split('/')[0].Split(' '); phaseDays.Clear(); for (int i = 0; i < phaseSplit.Length; i++) { phaseDays.Add(Convert.ToInt32(phaseSplit[i])); } phaseDays.Add(99999); } }