protected override void _OnCutWeed(Vector2 tile_location, GameLocation location, Farmer who) { base._OnCutWeed(tile_location, location, who); if (Game1.random.NextDouble() < 0.5) { Game1.createItemDebris(new Object(771, 1), new Vector2(tile_location.X * 64f + 32f, tile_location.Y * 64f + 32f), -1); } if (Game1.random.NextDouble() < 0.33) { if ((Game1.getLocationFromName("Farm") as Farm).tryToAddHay(1) == 0) { TemporaryAnimatedSprite tmpSprite = new TemporaryAnimatedSprite("Maps\\springobjects", Game1.getSourceRectForStandardTileSheet(Game1.objectSpriteSheet, 178, 16, 16), 750f, 1, 0, who.Position - new Vector2(0f, 128f), flicker: false, flipped: false, who.Position.Y / 10000f, 0.005f, Color.White, 4f, -0.005f, 0f, 0f); tmpSprite.motion.Y = -1f; tmpSprite.layerDepth = 1f - (float)Game1.random.Next(100) / 10000f; tmpSprite.delayBeforeAnimationStart = Game1.random.Next(350); Game1.multiplayer.broadcastSprites(location, tmpSprite); Game1.addHUDMessage(new HUDMessage("Hay", 1, add: true, Color.LightGoldenrodYellow, new Object(178, 1))); } else { Game1.createItemDebris(new Object(178, 1).getOne(), new Vector2(tile_location.X * 64f + 32f, tile_location.Y * 64f + 32f), -1); } } }
public static void receiveBuildingChange(byte whatChange, short tileX, short tileY, string name, long who, long id) { if (Game1.IsClient) { MultiplayerUtility.recentMultiplayerEntityID = id; } else { MultiplayerUtility.recentMultiplayerEntityID = MultiplayerUtility.getNewID(); } if (Game1.currentLocation is Farm || Game1.IsServer) { Farm farm = (Farm)Game1.currentLocation; if (!(Game1.currentLocation is Farm)) { farm = (Farm)Game1.otherFarmers[id].currentLocation; } Farmer farmer = Game1.getFarmer(who); switch (whatChange) { case 0: { BluePrint bluePrint = new BluePrint(name); if (bluePrint.blueprintType.Equals("Animals") && farm.placeAnimal(bluePrint, new Vector2((float)tileX, (float)tileY), true, who) && farmer.IsMainPlayer) { bluePrint.consumeResources(); } else if (!bluePrint.blueprintType.Equals("Animals") && farm.buildStructure(bluePrint, new Vector2((float)tileX, (float)tileY), true, farmer, false) && farmer.IsMainPlayer) { bluePrint.consumeResources(); } else if (farmer.IsMainPlayer) { Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:BlueprintsMenu.cs.10016", new object[0]), Color.Red, 3500f)); return; } if (!bluePrint.blueprintType.Equals("Animals")) { Game1.playSound("axe"); return; } break; } case 1: { Building buildingAt = farm.getBuildingAt(new Vector2((float)tileX, (float)tileY)); if (farm.destroyStructure(new Vector2((float)tileX, (float)tileY))) { int groundLevelTile = buildingAt.tileY + buildingAt.tilesHigh; for (int i = 0; i < buildingAt.texture.Bounds.Height / Game1.tileSize; i++) { Game1.createRadialDebris(farm, buildingAt.texture, new Microsoft.Xna.Framework.Rectangle(buildingAt.texture.Bounds.Center.X, buildingAt.texture.Bounds.Center.Y, Game1.tileSize / 16, Game1.tileSize / 16), buildingAt.tileX + Game1.random.Next(buildingAt.tilesWide), buildingAt.tileY + buildingAt.tilesHigh - i, Game1.random.Next(20, 45), groundLevelTile); } Game1.playSound("explosion"); Utility.spreadAnimalsAround(buildingAt, farm); return; } break; } case 2: { BluePrint bluePrint = new BluePrint(name); Building buildingAt2 = farm.getBuildingAt(new Vector2((float)tileX, (float)tileY)); farm.tryToUpgrade(buildingAt2, bluePrint); break; } default: return; } } }
public static bool getDebris(int which, int howMuch) { switch (which) { case 0: Game1.player.CopperPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.621"), howMuch, true, Color.Sienna, (Item)null)); if (howMuch > 0) { Game1.stats.CopperFound += (uint)howMuch; break; } break; case 2: Game1.player.IronPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.622"), howMuch, true, Color.LightSlateGray, (Item)null)); if (howMuch > 0) { Game1.stats.IronFound += (uint)howMuch; break; } break; case 4: Game1.player.CoalPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.623"), howMuch, true, Color.DimGray, (Item)null)); if (howMuch > 0) { Game1.stats.CoalFound += (uint)howMuch; break; } break; case 6: Game1.player.GoldPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.624"), howMuch, true, Color.Gold, (Item)null)); if (howMuch > 0) { Game1.stats.GoldFound += (uint)howMuch; break; } break; case 8: int num = Game1.random.Next(10, 50) * howMuch; Game1.player.Money += num - num % 5; if (howMuch > 0) { Game1.stats.CoinsFound += (uint)howMuch; break; } break; case 10: Game1.player.IridiumPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.626"), howMuch, true, Color.Purple, (Item)null)); if (howMuch > 0) { Game1.stats.IridiumFound += (uint)howMuch; break; } break; case 12: Game1.player.WoodPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.627"), howMuch, true, Color.Tan, (Item)null)); if (howMuch > 0) { Game1.stats.SticksChopped += (uint)howMuch; break; } break; case 28: Game1.player.fuelLantern(howMuch * 2); Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.629"), howMuch * 2, true, Color.Goldenrod, (Item)null)); break; default: return(false); } if (Game1.questOfTheDay != null && Game1.questOfTheDay.accepted && (!Game1.questOfTheDay.completed && Game1.questOfTheDay.GetType().Name.Equals("ResourceCollectionQuest"))) { Game1.questOfTheDay.checkIfComplete((NPC)null, which, howMuch, (Item)null, (string)null); } return(true); }
public static bool getDebris(int which, int howMuch) { switch (which) { case 0: Game1.player.CopperPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.621"), howMuch, add: true, Color.Sienna)); if (howMuch > 0) { Game1.stats.CopperFound += (uint)howMuch; } break; case 2: Game1.player.IronPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.622"), howMuch, add: true, Color.LightSlateGray)); if (howMuch > 0) { Game1.stats.IronFound += (uint)howMuch; } break; case 4: Game1.player.CoalPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.623"), howMuch, add: true, Color.DimGray)); if (howMuch > 0) { Game1.stats.CoalFound += (uint)howMuch; } break; case 6: Game1.player.GoldPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.624"), howMuch, add: true, Color.Gold)); if (howMuch > 0) { Game1.stats.GoldFound += (uint)howMuch; } break; case 10: Game1.player.IridiumPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.626"), howMuch, add: true, Color.Purple)); if (howMuch > 0) { Game1.stats.IridiumFound += (uint)howMuch; } break; case 12: Game1.player.WoodPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.627"), howMuch, add: true, Color.Tan)); if (howMuch > 0) { Game1.stats.SticksChopped += (uint)howMuch; } break; case 28: Game1.player.fuelLantern(howMuch * 2); Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.629"), howMuch * 2, add: true, Color.Goldenrod)); break; case 8: { int j = Game1.random.Next(10, 50) * howMuch; j -= j % 5; Game1.player.Money += j; if (howMuch > 0) { Game1.stats.CoinsFound += (uint)howMuch; } break; } default: return(false); } if (Game1.questOfTheDay != null && (bool)Game1.questOfTheDay.accepted && !Game1.questOfTheDay.completed && Game1.questOfTheDay is ResourceCollectionQuest) { ((ResourceCollectionQuest)Game1.questOfTheDay).checkIfComplete(null, which, howMuch); } return(true); }
// Token: 0x06000190 RID: 400 RVA: 0x00012F70 File Offset: 0x00011170 public static bool getDebris(int which, int howMuch) { switch (which) { case 0: Game1.player.CopperPieces += howMuch; Game1.addHUDMessage(new HUDMessage("Copper", howMuch, true, Color.Sienna, null)); if (howMuch > 0) { Game1.stats.CopperFound += (uint)howMuch; goto IL_256; } goto IL_256; case 1: case 3: case 5: case 7: case 9: case 11: break; case 2: Game1.player.IronPieces += howMuch; Game1.addHUDMessage(new HUDMessage("Iron", howMuch, true, Color.LightSlateGray, null)); if (howMuch > 0) { Game1.stats.IronFound += (uint)howMuch; goto IL_256; } goto IL_256; case 4: Game1.player.CoalPieces += howMuch; Game1.addHUDMessage(new HUDMessage("Coal", howMuch, true, Color.DimGray, null)); if (howMuch > 0) { Game1.stats.CoalFound += (uint)howMuch; goto IL_256; } goto IL_256; case 6: Game1.player.GoldPieces += howMuch; Game1.addHUDMessage(new HUDMessage("Gold", howMuch, true, Color.Gold, null)); if (howMuch > 0) { Game1.stats.GoldFound += (uint)howMuch; goto IL_256; } goto IL_256; case 8: { int i = Game1.random.Next(10, 50) * howMuch; i -= i % 5; Game1.player.Money += i; if (howMuch > 0) { Game1.stats.CoinsFound += (uint)howMuch; goto IL_256; } goto IL_256; } case 10: Game1.player.IridiumPieces += howMuch; Game1.addHUDMessage(new HUDMessage("Iridium", howMuch, true, Color.Purple, null)); if (howMuch > 0) { Game1.stats.IridiumFound += (uint)howMuch; goto IL_256; } goto IL_256; case 12: Game1.player.WoodPieces += howMuch; Game1.addHUDMessage(new HUDMessage("Wood", howMuch, true, Color.Tan, null)); if (howMuch > 0) { Game1.stats.SticksChopped += (uint)howMuch; goto IL_256; } goto IL_256; default: if (which == 28) { Game1.player.fuelLantern(howMuch * 2); Game1.addHUDMessage(new HUDMessage("Fuel", howMuch * 2, true, Color.Goldenrod, null)); goto IL_256; } break; } return(false); IL_256: if (Game1.questOfTheDay != null && Game1.questOfTheDay.accepted && !Game1.questOfTheDay.completed && Game1.questOfTheDay.GetType().Name.Equals("ResourceCollectionQuest")) { ((ResourceCollectionQuest)Game1.questOfTheDay).checkIfComplete(null, which, howMuch, null, null); } return(true); }
// Token: 0x06000152 RID: 338 RVA: 0x0000E63C File Offset: 0x0000C83C public static void receiveBuildingChange(byte whatChange, short tileX, short tileY, string name, long who, long id) { if (Game1.IsClient) { MultiplayerUtility.recentMultiplayerEntityID = id; } else { MultiplayerUtility.recentMultiplayerEntityID = MultiplayerUtility.getNewID(); } if (Game1.currentLocation is Farm || Game1.IsServer) { Farm farm = (Farm)Game1.currentLocation; if (!(Game1.currentLocation is Farm)) { farm = (Farm)Game1.otherFarmers[id].currentLocation; } Farmer f = Game1.getFarmer(who); switch (whatChange) { case 0: { BluePrint b = new BluePrint(name); if (b.blueprintType.Equals("Animals") && farm.placeAnimal(b, new Vector2((float)tileX, (float)tileY), true, who) && f.IsMainPlayer) { b.consumeResources(); } else if (!b.blueprintType.Equals("Animals") && farm.buildStructure(b, new Vector2((float)tileX, (float)tileY), true, f, false) && f.IsMainPlayer) { b.consumeResources(); } else if (f.IsMainPlayer) { Game1.addHUDMessage(new HUDMessage("Can't Build There", Color.Red, 3500f)); return; } if (!b.blueprintType.Equals("Animals")) { Game1.playSound("axe"); return; } break; } case 1: { Building destroyed = farm.getBuildingAt(new Vector2((float)tileX, (float)tileY)); if (farm.destroyStructure(new Vector2((float)tileX, (float)tileY))) { int groundYTile = destroyed.tileY + destroyed.tilesHigh; for (int i = 0; i < destroyed.texture.Bounds.Height / Game1.tileSize; i++) { Game1.createRadialDebris(farm, destroyed.texture, new Microsoft.Xna.Framework.Rectangle(destroyed.texture.Bounds.Center.X, destroyed.texture.Bounds.Center.Y, Game1.tileSize / 16, Game1.tileSize / 16), destroyed.tileX + Game1.random.Next(destroyed.tilesWide), destroyed.tileY + destroyed.tilesHigh - i, Game1.random.Next(20, 45), groundYTile); } Game1.playSound("explosion"); Utility.spreadAnimalsAround(destroyed, farm); return; } break; } case 2: { BluePrint b = new BluePrint(name); Building toUpgrade = farm.getBuildingAt(new Vector2((float)tileX, (float)tileY)); farm.tryToUpgrade(toUpgrade, b); break; } default: return; } } }
public static void receiveBuildingChange(byte whatChange, short tileX, short tileY, string name, long who, long id) { MultiplayerUtility.recentMultiplayerEntityID = !Game1.IsClient ? MultiplayerUtility.getNewID() : id; if (!(Game1.currentLocation is Farm) && !Game1.IsServer) { return; } Farm currentLocation = (Farm)Game1.currentLocation; if (!(Game1.currentLocation is Farm)) { currentLocation = (Farm)Game1.otherFarmers[id].currentLocation; } Farmer farmer = Game1.getFarmer(who); switch (whatChange) { case 0: BluePrint bluePrint = new BluePrint(name); if (bluePrint.blueprintType.Equals("Animals") && currentLocation.placeAnimal(bluePrint, new Vector2((float)tileX, (float)tileY), true, who) && farmer.IsMainPlayer) { bluePrint.consumeResources(); } else if (!bluePrint.blueprintType.Equals("Animals") && currentLocation.buildStructure(bluePrint, new Vector2((float)tileX, (float)tileY), true, farmer, false) && farmer.IsMainPlayer) { bluePrint.consumeResources(); } else if (farmer.IsMainPlayer) { Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:BlueprintsMenu.cs.10016"), Color.Red, 3500f)); break; } if (bluePrint.blueprintType.Equals("Animals")) { break; } Game1.playSound("axe"); break; case 1: Building buildingAt1 = currentLocation.getBuildingAt(new Vector2((float)tileX, (float)tileY)); if (!currentLocation.destroyStructure(new Vector2((float)tileX, (float)tileY))) { break; } int num = buildingAt1.tileY + buildingAt1.tilesHigh; for (int index = 0; index < buildingAt1.texture.Bounds.Height / Game1.tileSize; ++index) { Farm farm = currentLocation; Texture2D texture = buildingAt1.texture; Microsoft.Xna.Framework.Rectangle bounds = buildingAt1.texture.Bounds; int x = bounds.Center.X; bounds = buildingAt1.texture.Bounds; int y = bounds.Center.Y; int width = Game1.tileSize / 16; int height = Game1.tileSize / 16; Microsoft.Xna.Framework.Rectangle sourcerectangle = new Microsoft.Xna.Framework.Rectangle(x, y, width, height); int xTile = buildingAt1.tileX + Game1.random.Next(buildingAt1.tilesWide); int yTile = buildingAt1.tileY + buildingAt1.tilesHigh - index; int numberOfChunks = Game1.random.Next(20, 45); int groundLevelTile = num; Game1.createRadialDebris((GameLocation)farm, texture, sourcerectangle, xTile, yTile, numberOfChunks, groundLevelTile); } Game1.playSound("explosion"); Utility.spreadAnimalsAround(buildingAt1, currentLocation); break; case 2: BluePrint blueprint = new BluePrint(name); Building buildingAt2 = currentLocation.getBuildingAt(new Vector2((float)tileX, (float)tileY)); currentLocation.tryToUpgrade(buildingAt2, blueprint); break; } }
public static bool getDebris(int which, int howMuch) { switch (which) { case 0: Game1.player.CopperPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.621", new object[0]), howMuch, true, Color.Sienna, null)); if (howMuch > 0) { Game1.stats.CopperFound += (uint)howMuch; goto IL_2C9; } goto IL_2C9; case 1: case 3: case 5: case 7: case 9: case 11: break; case 2: Game1.player.IronPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.622", new object[0]), howMuch, true, Color.LightSlateGray, null)); if (howMuch > 0) { Game1.stats.IronFound += (uint)howMuch; goto IL_2C9; } goto IL_2C9; case 4: Game1.player.CoalPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.623", new object[0]), howMuch, true, Color.DimGray, null)); if (howMuch > 0) { Game1.stats.CoalFound += (uint)howMuch; goto IL_2C9; } goto IL_2C9; case 6: Game1.player.GoldPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.624", new object[0]), howMuch, true, Color.Gold, null)); if (howMuch > 0) { Game1.stats.GoldFound += (uint)howMuch; goto IL_2C9; } goto IL_2C9; case 8: { int num = Game1.random.Next(10, 50) * howMuch; num -= num % 5; Game1.player.Money += num; if (howMuch > 0) { Game1.stats.CoinsFound += (uint)howMuch; goto IL_2C9; } goto IL_2C9; } case 10: Game1.player.IridiumPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.626", new object[0]), howMuch, true, Color.Purple, null)); if (howMuch > 0) { Game1.stats.IridiumFound += (uint)howMuch; goto IL_2C9; } goto IL_2C9; case 12: Game1.player.WoodPieces += howMuch; Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.627", new object[0]), howMuch, true, Color.Tan, null)); if (howMuch > 0) { Game1.stats.SticksChopped += (uint)howMuch; goto IL_2C9; } goto IL_2C9; default: if (which == 28) { Game1.player.fuelLantern(howMuch * 2); Game1.addHUDMessage(new HUDMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Debris.cs.629", new object[0]), howMuch * 2, true, Color.Goldenrod, null)); goto IL_2C9; } break; } return(false); IL_2C9: if (Game1.questOfTheDay != null && Game1.questOfTheDay.accepted && !Game1.questOfTheDay.completed && Game1.questOfTheDay.GetType().Name.Equals("ResourceCollectionQuest")) { ((ResourceCollectionQuest)Game1.questOfTheDay).checkIfComplete(null, which, howMuch, null, null); } return(true); }