diff --git a/DataCollection/gamedata.json b/DataCollection/gamedata.json index c21d46e..923668a 100755 --- a/DataCollection/gamedata.json +++ b/DataCollection/gamedata.json @@ -228,11 +228,12 @@ "trade":{ "trading_with":"^ATTrading with %PLAYERNAME%^H", - "you_offering":"<B>You are offering %PLAYERNAME% the following:</B> ", - "trade_end_on_done":"^LWaiting for other player to click DONE.^R1", + "trade_wait_for_done":"^LWaiting for other player to click DONE.^R1", "other_player_is_done":"^LOther player is DONE adding things to the offer.^R1", "final_review":"<B>Final Trade Review - Only accept if you feel trade is 100% Fair!</B>", + "you_offering":"<B>You are offering %PLAYERNAME% the following:</B> ", + "add_items":"^T6Add additional trade items:^D58|ADD^R1^H", "other_offering":"<B>%PLAYERNAME% is offering you the following:</B>", @@ -245,6 +246,8 @@ "offering_item":"^T8%TOTAL% %ITEM% ^R1", "offering_horse":"^I252^T8 Horse: %HORSENAME%^B3L%HORSERANDOMID%^R1", + + "what_to_offer":"What would you like to offer %PLAYERNAME%?", "offer_money":"^T3Money.^B1O3^R1", @@ -268,7 +271,7 @@ "object_offer_too_much":"You only have %QUANTITY% of that item, not %ENTEREDAMOUNT%.", "money_offer_too_much":"You do not have that much money to give! Your heart is bigger than your wallet I'm afraid.", - "other_player_doenst_has_negative_money":"They do not have enough money for the trade.", + "other_player_has_negative_money":"They do not have enough money for the trade.", "you_have_negative_money":"You do not have enough money for the trade!", "trade_accepted":"Trade has been accepted!", @@ -283,7 +286,7 @@ "trade_received":"You received $%MONEY% in the trade.", "trade_not_allowed_while_bidding":"No trades allowed while you are bidding on a Horse at auction.", - "trade_not_allowed_while_other_is_bidding":"No trades allowed while you are bidding on a Horse at auction." + "trade_not_allowed_while_other_is_bidding":"No trades allowed while other player bidding on a Horse at auction." }, }, "auction":{ diff --git a/Horse Isle Server/HorseIsleServer/Game/Messages.cs b/Horse Isle Server/HorseIsleServer/Game/Messages.cs index 9bf93b9..9001dfe 100755 --- a/Horse Isle Server/HorseIsleServer/Game/Messages.cs +++ b/Horse Isle Server/HorseIsleServer/Game/Messages.cs @@ -13,6 +13,73 @@ namespace HISP.Game // Mod isle public static string ModIsleMessage; + // Trading + public static string TradeWithPlayerFormat; + + public static string TradeWaitingForOtherDone; + public static string TradeOtherPlayerIsDone; + public static string TradeFinalReview; + + public static string TradeYourOfferingFormat; + + public static string TradeAddItems; + public static string TradeOtherOfferingFormat; + + public static string TradeWhenDoneClick; + public static string TradeCancelAnytime; + public static string TradeAcceptTrade; + + public static string TradeOfferingNothing; + public static string TradeOfferingMoneyFormat; + public static string TradeOfferingItemFormat; + public static string TradeOfferingHorseFormat; + + // Trading : What to Offer (menu) + + public static string TradeWhatToOfferFormat; + public static string TradeOfferMoney; + + public static string TradeOfferHorse; + public static string TradeOfferHorseFormat; + public static string TradeOfferHorseTacked; + + public static string TradeOfferItem; + public static string TradeOfferItemFormat; + public static string TradeOfferObjectOtherPlayerInvFull; + + // Trading : Money Offer Submenu + + public static string TradeMoneyOfferSubmenuFormat; + public static string TradeItemOfferSubmenuFormat; + + // Trading : Messages + + public static string TradeWaitingForOthersToAcceptMessage; + + public static string TradeRequiresBothPlayersMessage; + public static string TradeCanceledBecuasePlayerMovedMessage; + + public static string TradeItemOfferAtleast1; + public static string TradeItemOfferTooMuchFormat; + public static string TradeMoneyOfferTooMuch; + + public static string TradeOtherPlayerHasNegativeMoney; + public static string TradeYouHaveNegativeMoney; + + public static string TradeAcceptedMessage; + public static string TradeCanceledByYouMessage; + public static string TradeCanceledByOtherPlayerFormat; + public static string TradeCanceledInterupted; + + public static string TradeYouCantHandleMoreHorses; + public static string TradeOtherPlayerCantHandleMoreHorsesFormat; + + public static string TradeYouSpentMoneyMessageFormat; + public static string TradeYouReceivedMoneyMessageFormat; + + public static string TradeNotAllowedWhileBidding; + public static string TradeNotAllowedWhileOtherBidding; + // Player Interaction public static string PlayerHereMenuFormat; public static string PlayerHereMulitpleMenuFormat; @@ -913,6 +980,71 @@ namespace HISP.Game // Click public static string NothingInterestingHere; + // Trading + public static string FormatTradeYouReceived(int money) + { + return TradeYouReceivedMoneyMessageFormat.Replace("%MONEY%", money.ToString("N0", CultureInfo.InvariantCulture)); + } + public static string FormatTradeYouSpent(int money) + { + return TradeYouSpentMoneyMessageFormat.Replace("%MONEY%", money.ToString("N0", CultureInfo.InvariantCulture)); + } + public static string FormatTradePlayerCantHandleMoreHorses(string playerName) + { + return TradeOtherPlayerCantHandleMoreHorsesFormat.Replace("%PLAYERNAME%", playerName); + } + public static string FormatTradeCanceledByPlayer(string playerName) + { + return TradeCanceledByOtherPlayerFormat.Replace("%PLAYERNAME%", playerName); + } + public static string FormatTradeItemOfferTooMuch(int quantity, int enteredAmount) + { + return TradeItemOfferTooMuchFormat.Replace("%QUANTITY%", quantity.ToString()).Replace("%ENTEREDAMOUNT%", enteredAmount.ToString()); + } + public static string FormatTradeOfferMoneySubmenu(int currentOffer) + { + return TradeMoneyOfferSubmenuFormat.Replace("%CURRENTMONEYOFFER%", currentOffer.ToString()); + } + public static string FormatTradeOfferItemSubmenu(int quantity) + { + return TradeItemOfferSubmenuFormat.Replace("%QUANTITY%", quantity.ToString()); + } + public static string FormatTradeOfferItem(int itemIconId, string itemName, int itemCount, int itemId) + { + return TradeOfferItemFormat.Replace("%ICONID%", itemIconId.ToString()).Replace("%ITEMNAME%", itemName).Replace("%ITEMCOUNT%", itemCount.ToString()).Replace("%ITEMID%", itemId.ToString()); + } + public static string FormatTradeOfferHorse(string horseName, bool tacked, int horseRandomId) + { + return TradeOfferHorseFormat.Replace("%HORSENAME%", horseName).Replace("%ISTACKED%", tacked ? Messages.TradeOfferHorseTacked : "").Replace("%HORSERANDOMID%", horseRandomId.ToString()); + } + public static string FormatTradeWhatToOffer(string playerName) + { + return TradeWhatToOfferFormat.Replace("%PLAYERNAME%", playerName); + } + public static string FormatTradeHorseOffer(string horseName, int horseRandomId) + { + return TradeOfferingHorseFormat.Replace("%HORSENAME%", horseName).Replace("%HORSERANDOMID%", horseRandomId.ToString()); + } + public static string FormatTradeItemOffer(int quantity, string item) + { + return TradeOfferingItemFormat.Replace("%TOTAL%", quantity.ToString()).Replace("%ITEM%", item); + } + public static string FormatTradeMoneyOffer(int amount) + { + return TradeOfferingMoneyFormat.Replace("%MONEY%", amount.ToString("N0", CultureInfo.InvariantCulture)); + } + public static string FormatTradeOtherOffering(string playerName) + { + return TradeOtherOfferingFormat.Replace("%PLAYERNAME%", playerName); + } + public static string FormatTradeYourOffering(string playerName) + { + return TradeYourOfferingFormat.Replace("%PLAYERNAME%", playerName); + } + public static string FormatTradeWithPlayer(string playerName) + { + return TradeWithPlayerFormat.Replace("%PLAYERNAME%", playerName); + } // Player Interactions public static string FormatPlayerHerePMButton(string playerName) diff --git a/Horse Isle Server/HorseIsleServer/Game/Meta.cs b/Horse Isle Server/HorseIsleServer/Game/Meta.cs index 6de0cd0..f270b7d 100755 --- a/Horse Isle Server/HorseIsleServer/Game/Meta.cs +++ b/Horse Isle Server/HorseIsleServer/Game/Meta.cs @@ -406,6 +406,15 @@ namespace HISP.Game throw new Exception("A mathematically impossible error occured. please check wether the laws of physics still apply."); } + public static string BuildTrade(Trade trade) + { + bool otherAccepted = (trade.OtherTrade.Stage == "ACCEPTED"); + bool youAccepted = trade.Stage == "ACCEPTED"; + string message = ""; + + return message; + } + public static string buildTackPeiceLibary(Item.ItemInformation item) { string message = ""; diff --git a/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs b/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs index d907f88..2cd6acc 100755 --- a/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs +++ b/Horse Isle Server/HorseIsleServer/Server/GameDataJson.cs @@ -824,6 +824,72 @@ namespace HISP.Server Map.ModIsleX = gameData.messages.commands.mod_isle.x; Map.ModIsleY = gameData.messages.commands.mod_isle.y; + // Trade + Messages.TradeWithPlayerFormat = gameData.messages.meta.player_interaction.trade.trading_with; + + Messages.TradeWaitingForOtherDone = gameData.messages.meta.player_interaction.trade.trade_wait_for_done; + Messages.TradeOtherPlayerIsDone = gameData.messages.meta.player_interaction.trade.other_player_is_done; + Messages.TradeFinalReview = gameData.messages.meta.player_interaction.trade.final_review; + + Messages.TradeYourOfferingFormat = gameData.messages.meta.player_interaction.trade.you_offering; + + Messages.TradeAddItems = gameData.messages.meta.player_interaction.trade.add_items; + Messages.TradeOtherOfferingFormat = gameData.messages.meta.player_interaction.trade.other_offering; + + Messages.TradeWhenDoneClick = gameData.messages.meta.player_interaction.trade.when_done_click; + Messages.TradeCancelAnytime = gameData.messages.meta.player_interaction.trade.cancel_anytime; + Messages.TradeAcceptedMessage = gameData.messages.meta.player_interaction.trade.accept_trade; + + Messages.TradeOfferingNothing = gameData.messages.meta.player_interaction.trade.offering_nothing; + Messages.TradeOfferingMoneyFormat = gameData.messages.meta.player_interaction.trade.offering_money; + Messages.TradeOfferingItemFormat = gameData.messages.meta.player_interaction.trade.offering_item; + Messages.TradeOfferingHorseFormat = gameData.messages.meta.player_interaction.trade.offering_horse; + + // Trading : What to offer + + Messages.TradeWhatToOfferFormat = gameData.messages.meta.player_interaction.trade.what_to_offer; + Messages.TradeOfferMoney = gameData.messages.meta.player_interaction.trade.offer_money; + + Messages.TradeOfferHorse = gameData.messages.meta.player_interaction.trade.offer_horse; + Messages.TradeOfferHorseFormat = gameData.messages.meta.player_interaction.trade.offer_horse_format; + Messages.TradeOfferHorseTacked = gameData.messages.meta.player_interaction.trade.horse_tacked; + + Messages.TradeOfferItem = gameData.messages.meta.player_interaction.trade.offer_object; + Messages.TradeOfferItemFormat = gameData.messages.meta.player_interaction.trade.offer_object_format; + Messages.TradeOfferObjectOtherPlayerInvFull = gameData.messages.meta.player_interaction.trade.offer_object_inv_full; + + // Trading : Offer Submenu + + Messages.TradeMoneyOfferSubmenuFormat = gameData.messages.meta.player_interaction.trade.money_offer_submenu; + Messages.TradeItemOfferSubmenuFormat = gameData.messages.meta.player_interaction.trade.object_offer_submenu; + + // Trading : Messges + + Messages.TradeWaitingForOthersToAcceptMessage = gameData.messages.meta.player_interaction.trade.waiting_for_other_to_accept; + Messages.TradeRequiresBothPlayersMessage = gameData.messages.meta.player_interaction.trade.requires_both_players; + + Messages.TradeItemOfferAtleast1 = gameData.messages.meta.player_interaction.trade.object_offer_atleast_1; + Messages.TradeItemOfferTooMuchFormat = gameData.messages.meta.player_interaction.trade.object_offer_too_much; + Messages.TradeMoneyOfferTooMuch = gameData.messages.meta.player_interaction.trade.money_offer_too_much; + + Messages.TradeOtherPlayerHasNegativeMoney = gameData.messages.meta.player_interaction.trade.other_player_has_negative_money; + Messages.TradeYouHaveNegativeMoney = gameData.messages.meta.player_interaction.trade.you_have_negative_money; + + + Messages.TradeAcceptedMessage = gameData.messages.meta.player_interaction.trade.trade_accepted; + Messages.TradeCanceledByYouMessage = gameData.messages.meta.player_interaction.trade.you_canceled; + Messages.TradeCanceledByOtherPlayerFormat = gameData.messages.meta.player_interaction.trade.other_canceled; + Messages.TradeCanceledInterupted = gameData.messages.meta.player_interaction.trade.trade_interupted; + + Messages.TradeYouCantHandleMoreHorses = gameData.messages.meta.player_interaction.trade.cant_handle_more_horses; + Messages.TradeOtherPlayerCantHandleMoreHorsesFormat = gameData.messages.meta.player_interaction.trade.other_player_cant_handle_more_horses; + + Messages.TradeYouSpentMoneyMessageFormat = gameData.messages.meta.player_interaction.trade.trade_spent; + Messages.TradeYouReceivedMoneyMessageFormat = gameData.messages.meta.player_interaction.trade.trade_received; + + Messages.TradeNotAllowedWhileBidding = gameData.messages.meta.player_interaction.trade.trade_not_allowed_while_bidding; + Messages.TradeNotAllowedWhileOtherBidding = gameData.messages.meta.player_interaction.trade.trade_not_allowed_while_other_is_bidding; + // Player Interation Messages.PlayerHereMenuFormat = gameData.messages.meta.player_interaction.menu;