Add/Fix wagon tp.

This commit is contained in:
SilicaAndPina 2021-02-11 12:34:20 +13:00
parent a20656a9aa
commit 9e7743e24d
5 changed files with 58 additions and 13 deletions

View file

@ -204,6 +204,9 @@ namespace HISP.Game
public static string CantAffordTransport;
public static string WelcomeToAreaFormat;
public static string TransportFormat;
public static string TransportCostFormat;
public static string TransportWagonFree;
//Dropped Items
@ -584,7 +587,6 @@ namespace HISP.Game
public static string TownFormat;
public static string AreaFormat;
public static string LocationFormat;
public static string TransportFormat;
public static string NearbyPlayers;
public static string North;
public static string East;
@ -1630,14 +1632,18 @@ namespace HISP.Game
return xy;
}
public static string FormatTransportMessage(string method, string place, int cost, int id, int x, int y)
public static string FormatTransportCost(int cost)
{
return TransportCostFormat.Replace("%COST%", cost.ToString("N0"));
}
public static string FormatTransportMessage(string method, string place, string costFormat, int id, int x, int y)
{
string xy = FormatMapLocation(x, y);
int iconId = 253;
if(method == "WAGON")
iconId = 254;
return TransportFormat.Replace("%METHOD%", method).Replace("%PLACE%", place).Replace("%COST%", cost.ToString()).Replace("%ID%", id.ToString()).Replace("%ICON%",iconId.ToString()).Replace("%XY%", xy);
return TransportFormat.Replace("%METHOD%", method).Replace("%PLACE%", place).Replace("%COSTFORMAT%", costFormat).Replace("%ID%", id.ToString()).Replace("%ICON%",iconId.ToString()).Replace("%XY%", xy);
}
// For all
public static string FormatGlobalChatMessage(string username, string message)

View file

@ -581,7 +581,7 @@ namespace HISP.Game
message += Messages.MetaTerminator;
return message;
}
public static string BuildTransportInfo(Transport.TransportPoint transportPoint)
public static string BuildTransportInfo(User user, Transport.TransportPoint transportPoint)
{
string message = "";
// Build list of locations
@ -589,7 +589,20 @@ namespace HISP.Game
{
int transportLocationId = transportPoint.Locations[i];
Transport.TransportLocation transportLocation = Transport.GetTransportLocation(transportLocationId);
message += Messages.FormatTransportMessage(transportLocation.Type, transportLocation.LocationTitle, transportLocation.Cost, transportLocation.Id, transportLocation.GotoX, transportLocation.GotoY);
string costFormat = Messages.FormatTransportCost(transportLocation.Cost);
if(transportLocation.Type == "WAGON")
{
if (user.OwnedRanch != null)
{
if (user.OwnedRanch.GetBuildingCount(7) > 0) // Wagon
{
costFormat = Messages.TransportWagonFree;
}
}
}
message += Messages.FormatTransportMessage(transportLocation.Type, transportLocation.LocationTitle, costFormat, transportLocation.Id, transportLocation.GotoX, transportLocation.GotoY);
}
message += Messages.ExitThisPlace;
message += Messages.MetaTerminator;
@ -1271,7 +1284,7 @@ namespace HISP.Game
if (TileCode == "TRANSPORT")
{
Transport.TransportPoint point = Transport.GetTransportPoint(specialTile.X, specialTile.Y);
message += Meta.BuildTransportInfo(point);
message += Meta.BuildTransportInfo(user, point);
}
if (TileCode == "STRAWPILE")