using System;
using System.Collections.Generic;
using System.Drawing;
+using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
{
#if DEBUG
clientAPI.Logger.VerboseDebug("TRADER Designator Invoked!");
- #endif
- //clientAPI.Logger.VerboseDebug("Trader: {0} @ {1}", entity.GetName(), posn);
-
- var traderJoe = entity as EntityTrader;
- if (traderJoe == null) return;
+ #endif
- var traderName = entity.GetBehavior<EntityBehaviorNameTag>( )?.DisplayName ?? @"?";
- string code;
- // this makes me ill
- switch (entity.Code.Path) {
- case "humanoid-trader-artisan":
- code = "{0} the artisan";
- break;
- case "humanoid-trader-treasurehunter":
- code = "{0} the treasure hunter";
- break;
- case "humanoid-trader-buildmaterials":
- code = "{0} the building materials trader";
- break;
- case "humanoid-trader-clothing":
- code = "{0} the clothing merchant";
- break;
- case "humanoid-trader-commodities":
- code = "{0} the commodities merchant";
- break;
- case "humanoid-trader-foods":
- code = "{0} the foods supplier";
- break;
- case "humanoid-trader-furniture":
- code = "{0} the furniture trader";
- break;
- case "humanoid-trader-luxuries":
- code = "{0} the luxuries merchant";
- break;
- case "humanoid-trader-survivalgoods":
- code = "{0} the survival goods supplier";
- break;
- default:
- code = "";
- break;
- }
- var message = string.Format(code, traderName);
- if (traderJoe.TradeProps != null) {
- message += $" - Gears: {traderJoe.TradeProps.Money}, ";
+ if (entity == null) return;
+
+ var traderName = entity.GetBehavior<EntityBehaviorNameTag>( )?.DisplayName ?? @"?";
+
+ //"game:tradingwindow-humanoid-trader-survivalgoods"
+ var langCodeKey = entity.Code.Domain + ":tradingwindow-" + entity.Code.Path;
+ var message = "?";
+ #if DEBUG
+ clientAPI.Logger.VerboseDebug("Using Lang Key Code: \"{0}\"",langCodeKey);
+ #endif
+ if (Lang.AvailableLanguages[@"en"].HasTranslation(langCodeKey)) {
+ var rawLangResponse = Lang.GetL(@"en", langCodeKey, traderName);
+ message = rawLangResponse.Split("-".ToCharArray( ), 2).Last( ).TrimStart( );
}
+
poi.AddReplace(new EntityOfInterest {
Name = "Trader",
PrettyLocation = posn.PrettyCoords(clientAPI),