Fixed amethyst node bug and made it not narrate bridges as water

master
shoaib11120 2022-01-26 13:39:32 +05:30
parent 527ce89dd3
commit 5c59d0fa1e
3 changed files with 11 additions and 6 deletions

View File

@ -183,7 +183,7 @@ namespace stardew_access
} }
}); });
helper.ConsoleCommands.Add("rfclear", "Clear the focus exclusions in the radar featrure.", (string commmand, string[] args) => helper.ConsoleCommands.Add("reclear", "Clear the focus exclusions in the radar featrure.", (string commmand, string[] args) =>
{ {
MainClass.radarFeature.exclusions.Clear(); MainClass.radarFeature.exclusions.Clear();
MainClass.monitor.Log($"Cleared the focus list in the exclusions feature.", LogLevel.Info); MainClass.monitor.Log($"Cleared the focus list in the exclusions feature.", LogLevel.Info);

View File

@ -36,6 +36,8 @@ namespace stardew_access.Game
MainClass.screenReader.prevTextTile = " "; MainClass.screenReader.prevTextTile = " ";
} }
bool isColliding = isCollidingAtTile(x, y);
Dictionary<Vector2, Netcode.NetRef<TerrainFeature>> terrainFeature = Game1.currentLocation.terrainFeatures.FieldDict; Dictionary<Vector2, Netcode.NetRef<TerrainFeature>> terrainFeature = Game1.currentLocation.terrainFeatures.FieldDict;
string toSpeak = " "; string toSpeak = " ";
@ -49,7 +51,7 @@ namespace stardew_access.Game
{ {
toSpeak = getFarmAnimalAt(Game1.currentLocation, x, y); toSpeak = getFarmAnimalAt(Game1.currentLocation, x, y);
} }
else if (Game1.currentLocation.isWaterTile(x, y)) else if (Game1.currentLocation.isWaterTile(x, y) && isColliding)
{ {
toSpeak = "Water"; toSpeak = "Water";
} }
@ -96,7 +98,7 @@ namespace stardew_access.Game
#endregion #endregion
#region Play colliding sound effect #region Play colliding sound effect
if (isCollidingAtTile(x, y) && prevTile != gt) if (isColliding && prevTile != gt)
{ {
Game1.playSound("colliding"); Game1.playSound("colliding");
} }
@ -508,7 +510,7 @@ namespace stardew_access.Game
return "Item box"; return "Item box";
} }
if (Game1.inMine || Game1.currentLocation is Mine) if (Game1.currentLocation is Mine or MineShaft)
{ {
switch (index) switch (index)
{ {
@ -576,7 +578,10 @@ namespace stardew_access.Game
{ {
if (Game1.inMine || Game1.currentLocation is Mine) if (Game1.inMine || Game1.currentLocation is Mine)
{ {
int index = Game1.currentLocation.Map.GetLayer("Buildings").Tiles[x, y].TileIndex; int? index = null;
if(Game1.currentLocation.Map.GetLayer("Buildings").Tiles[x, y]!=null)
index = Game1.currentLocation.Map.GetLayer("Buildings").Tiles[x, y].TileIndex;
if (index == 173 || index == 174) if (index == 173 || index == 174)
return true; return true;

View File

@ -260,7 +260,7 @@ namespace stardew_access.Patches
currentLetterText = toSpeak; currentLetterText = toSpeak;
// snap mouse to accept quest button // snap mouse to accept quest button
if (__instance.acceptQuestButton.visible) if (__instance.acceptQuestButton!=null && __instance.acceptQuestButton.visible)
{ {
toSpeak += "\t\n Left click to accept quest."; toSpeak += "\t\n Left click to accept quest.";
__instance.acceptQuestButton.snapMouseCursorToCenter(); __instance.acceptQuestButton.snapMouseCursorToCenter();