Merge branch 'develop' of https://github.com/sp-tarkov/server-csharp into develop
# Conflicts: # ModExamples/TempReferences/Core.dll # ModExamples/TempReferences/SptCommon.dll # ModExamples/TempReferences/SptDependencyInjection.dll
This commit is contained in:
@@ -15,12 +15,12 @@ namespace _13._1AddTraderWithDynamicAssorts
|
||||
* @param refreshTimeSecondsMin How many seconds between trader stock refresh min time
|
||||
* @param refreshTimeSecondsMax How many seconds between trader stock refresh max time
|
||||
*/
|
||||
public void SetTraderUpdateTime(TraderConfig traderConfig, dynamic baseJson, int refreshTimeSecondsMin, int refreshTimeSecondsMax)
|
||||
public void SetTraderUpdateTime(TraderConfig traderConfig, TraderBase baseJson, int refreshTimeSecondsMin, int refreshTimeSecondsMax)
|
||||
{
|
||||
// Add refresh time in seconds to config
|
||||
var traderRefreshRecord = new UpdateTime
|
||||
{
|
||||
TraderId = baseJson.id,
|
||||
TraderId = baseJson.Id,
|
||||
Seconds = new MinMax<int>(refreshTimeSecondsMin, refreshTimeSecondsMax)
|
||||
};
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace _13._1AddTraderWithDynamicAssorts
|
||||
* @param tables database
|
||||
* @param jsonUtil json utility class
|
||||
*/
|
||||
public void AddTraderToDb(dynamic traderDetailsToAdd, DatabaseTables tables, JsonUtil jsonUtil, object assortJson)
|
||||
public void AddTraderToDb(TraderBase traderDetailsToAdd, DatabaseTables tables, JsonUtil jsonUtil, object assortJson)
|
||||
{
|
||||
// Create trader data ready to add to database
|
||||
var traderDataToAdd = new Trader
|
||||
@@ -54,7 +54,7 @@ namespace _13._1AddTraderWithDynamicAssorts
|
||||
};
|
||||
|
||||
// Add trader to trader table, key is the traders id
|
||||
tables.Traders.Add(traderDetailsToAdd._id, traderDataToAdd);
|
||||
tables.Traders.Add(traderDetailsToAdd.Id, traderDataToAdd);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,17 +67,17 @@ namespace _13._1AddTraderWithDynamicAssorts
|
||||
* @param location Location of trader (e.g. "Here in the cat shop")
|
||||
* @param description Description of trader
|
||||
*/
|
||||
public void AddTraderToLocales(dynamic baseJson, DatabaseTables tables, string fullName, string firstName, string nickName, string location, string description)
|
||||
public void AddTraderToLocales(TraderBase baseJson, DatabaseTables tables, string fullName, string firstName, string nickName, string location, string description)
|
||||
{
|
||||
// For each language, add locale for the new trader
|
||||
var locales = tables.Locales.Global;
|
||||
|
||||
foreach (var (key, value) in locales) {
|
||||
value.Value[$"{baseJson._id} FullName"] = fullName;
|
||||
value.Value[$"{baseJson._id} FirstName"] = firstName;
|
||||
value.Value[$"{baseJson._id} Nickname"] = nickName;
|
||||
value.Value[$"{baseJson._id} Location"] = location;
|
||||
value.Value[$"{baseJson._id} Description"] = description;
|
||||
value.Value[$"{baseJson.Id} FullName"] = fullName;
|
||||
value.Value[$"{baseJson.Id} FirstName"] = firstName;
|
||||
value.Value[$"{baseJson.Id} Nickname"] = nickName;
|
||||
value.Value[$"{baseJson.Id} Location"] = location;
|
||||
value.Value[$"{baseJson.Id} Description"] = description;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ namespace _13._1AddTraderWithDynamicAssorts
|
||||
// Add the base first
|
||||
glock.Add(new Item { // Add the base weapon first
|
||||
Id =
|
||||
NewItemIds.GLOCK_BASE, // Ids matter, MUST BE UNIQUE See mod.ts for more details
|
||||
NewItemIds.GLOCK_BASE, // Ids matter, MUST BE UNIQUE
|
||||
Template =
|
||||
"5a7ae0c351dfba0017554310", // This is the weapons tpl, found on: https://db.sp-tarkov.com/search
|
||||
});
|
||||
|
||||
@@ -7,119 +7,130 @@ using Core.Routers;
|
||||
using Core.Servers;
|
||||
using Core.Services;
|
||||
using Core.Utils;
|
||||
using SptCommon.Annotations;
|
||||
|
||||
namespace _13._1AddTraderWithDynamicAssorts
|
||||
namespace _13._1AddTraderWithDynamicAssorts;
|
||||
|
||||
[Injectable]
|
||||
public class AddTraderWithDynamicAssorts : IPostDBLoadMod
|
||||
{
|
||||
public class AddTraderWithDynamicAssorts : IPostDBLoadMod
|
||||
private readonly ISptLogger<AddTraderWithDynamicAssorts> _logger;
|
||||
private readonly HashUtil _hashUtil;
|
||||
private readonly JsonUtil _jsonUtil;
|
||||
private readonly FileUtil _fileUtil;
|
||||
private readonly DatabaseService _databaseService;
|
||||
private readonly ImageRouter _imageRouter;
|
||||
private readonly ConfigServer _configServer;
|
||||
private readonly TraderConfig _traderConfig;
|
||||
private readonly RagfairConfig _ragfairConfig;
|
||||
|
||||
// This MUST match the folder name of the mod in the user/mods folder
|
||||
private const string _modName = "13.1AddTraderWithDynamicAssorts";
|
||||
|
||||
public AddTraderWithDynamicAssorts(
|
||||
ISptLogger<AddTraderWithDynamicAssorts> logger,
|
||||
HashUtil hashUtil,
|
||||
JsonUtil jsonUtil,
|
||||
FileUtil fileUtil,
|
||||
DatabaseService databaseService,
|
||||
ImageRouter imageRouter,
|
||||
ConfigServer configServer)
|
||||
{
|
||||
private readonly ISptLogger<AddTraderWithDynamicAssorts> _logger;
|
||||
private readonly HashUtil _hashUtil;
|
||||
private readonly JsonUtil _jsonUtil;
|
||||
private readonly FileUtil _fileUtil;
|
||||
private readonly DatabaseService _databaseService;
|
||||
private readonly ImageRouter _imageRouter;
|
||||
private readonly ConfigServer _configServer;
|
||||
private readonly TraderConfig _traderConfig;
|
||||
private readonly RagfairConfig _ragfairConfig;
|
||||
_logger = logger;
|
||||
_hashUtil = hashUtil;
|
||||
_jsonUtil = jsonUtil;
|
||||
_fileUtil = fileUtil;
|
||||
_databaseService = databaseService;
|
||||
_imageRouter = imageRouter;
|
||||
_configServer = configServer;
|
||||
|
||||
public AddTraderWithDynamicAssorts(
|
||||
ISptLogger<AddTraderWithDynamicAssorts> logger,
|
||||
HashUtil hashUtil,
|
||||
JsonUtil jsonUtil,
|
||||
FileUtil fileUtil,
|
||||
DatabaseService databaseService,
|
||||
ImageRouter imageRouter,
|
||||
ConfigServer configServer)
|
||||
{
|
||||
_logger = logger;
|
||||
_hashUtil = hashUtil;
|
||||
_jsonUtil = jsonUtil;
|
||||
_fileUtil = fileUtil;
|
||||
_databaseService = databaseService;
|
||||
_imageRouter = imageRouter;
|
||||
_configServer = configServer;
|
||||
|
||||
_traderConfig = _configServer.GetConfig<TraderConfig>();
|
||||
_ragfairConfig = _configServer.GetConfig<RagfairConfig>();
|
||||
}
|
||||
|
||||
public void PostDBLoad()
|
||||
{
|
||||
var traderImagePath = "./db/cat.jpg";
|
||||
|
||||
var baseJson = _fileUtil.ReadFile("./db/base.json");
|
||||
var traderBase = _jsonUtil.Deserialize<TraderBase>(baseJson);
|
||||
|
||||
// Create helper class and use it to register our traders image/icon + set its stock refresh time
|
||||
var addTraderHelper = new AddTraderHelper();
|
||||
_imageRouter.AddRoute(traderBase.Avatar.Replace(".jpg", ""), System.IO.Path.GetFullPath(traderImagePath));
|
||||
addTraderHelper.SetTraderUpdateTime(_traderConfig, traderBase, 3600, 4000);
|
||||
|
||||
// Add trader to flea market
|
||||
_ragfairConfig.Traders[traderBase.Id] = true;
|
||||
|
||||
// Get a reference to the database tables
|
||||
var tables = _databaseService.GetTables();
|
||||
|
||||
var fluentAssortCreator = new FluentTraderAssortCreator(_logger, _hashUtil);
|
||||
|
||||
// Add milk
|
||||
var milkAssort = fluentAssortCreator
|
||||
.CreateSingleAssortItem(ItemTpl.DRINK_PACK_OF_MILK)
|
||||
.AddStackCount(200)
|
||||
.AddBuyRestriction(10)
|
||||
.AddMoneyCost(Money.ROUBLES, 2000)
|
||||
.AddLoyaltyLevel(1)
|
||||
.Export(tables.Traders[traderBase.Id]);
|
||||
|
||||
// Add 3x bitcoin + salewa for milk barter
|
||||
fluentAssortCreator
|
||||
.CreateSingleAssortItem(ItemTpl.DRINK_PACK_OF_MILK)
|
||||
.AddStackCount(100)
|
||||
.AddBarterCost(ItemTpl.BARTER_PHYSICAL_BITCOIN, 3)
|
||||
.AddBarterCost(ItemTpl.MEDKIT_SALEWA_FIRST_AID_KIT, 1)
|
||||
.AddLoyaltyLevel(1)
|
||||
.Export(tables.Traders[traderBase.Id]);
|
||||
|
||||
|
||||
// Add glock as a money purchase
|
||||
fluentAssortCreator
|
||||
.CreateComplexAssortItem(addTraderHelper.CreateGlock())
|
||||
.AddUnlimitedStackCount()
|
||||
.AddMoneyCost(Money.ROUBLES, 20000)
|
||||
.AddBuyRestriction(3)
|
||||
.AddLoyaltyLevel(1)
|
||||
.Export(tables.Traders[traderBase.Id]);
|
||||
|
||||
// Add mp133 preset as a barter for mayonase
|
||||
fluentAssortCreator
|
||||
.CreateComplexAssortItem(tables.Globals.ItemPresets["584148f2245977598f1ad387"].Items) // Weapon preset id comes from globals.json
|
||||
.AddStackCount(200)
|
||||
.AddBarterCost(ItemTpl.FOOD_JAR_OF_DEVILDOG_MAYO, 1)
|
||||
.AddBuyRestriction(3)
|
||||
.AddLoyaltyLevel(1)
|
||||
.Export(tables.Traders[traderBase.Id]);
|
||||
|
||||
addTraderHelper.AddTraderToLocales(
|
||||
baseJson,
|
||||
_databaseService.GetTables(),
|
||||
traderBase.Name,
|
||||
"Cat",
|
||||
traderBase.Nickname,
|
||||
traderBase.Location,
|
||||
"This is the cat shop. Meow.");
|
||||
}
|
||||
_traderConfig = _configServer.GetConfig<TraderConfig>();
|
||||
_ragfairConfig = _configServer.GetConfig<RagfairConfig>();
|
||||
}
|
||||
|
||||
public static class NewItemIds
|
||||
public void PostDBLoad()
|
||||
{
|
||||
public static string GLOCK_BASE = "66eeef3b2a166b73d2066a74";
|
||||
public static string GLOCK_BARREL = "66eeef3b2a166b73d2066a75";
|
||||
public static string GLOCK_RECIEVER = "66eeef3b2a166b73d2066a76";
|
||||
public static string GLOCK_COMPENSATOR = "66eeef3b2a166b73d2066a77";
|
||||
public static string GLOCK_PISTOL_GRIP = "66eeef3b2a166b73d2066a78";
|
||||
public static string GLOCK_REAR_SIGHT = "66eeef3b2a166b73d2066a79";
|
||||
public static string GLOCK_FRONT_SIGHT = "66eeef3b2a166b73d2066a7a";
|
||||
public static string GLOCK_MAGAZINE = "66eeef3b2a166b73d2066a7b";
|
||||
var modPath = _fileUtil.GetModPath(_modName);
|
||||
var traderImagePath = $"{modPath}/db/cat.jpg";
|
||||
|
||||
var baseJson = _fileUtil.ReadFile($"{modPath}/db/base.json");
|
||||
var traderBase = _jsonUtil.Deserialize<TraderBase>(baseJson);
|
||||
|
||||
// Create helper class and use it to register our traders image/icon + set its stock refresh time
|
||||
var addTraderHelper = new AddTraderHelper();
|
||||
_imageRouter.AddRoute(traderBase.Avatar.Replace(".jpg", ""), System.IO.Path.GetFullPath(traderImagePath));
|
||||
addTraderHelper.SetTraderUpdateTime(_traderConfig, traderBase, 3600, 4000);
|
||||
|
||||
// Add trader to flea market
|
||||
_ragfairConfig.Traders[traderBase.Id] = true;
|
||||
|
||||
// Get a reference to the database tables
|
||||
var tables = _databaseService.GetTables();
|
||||
|
||||
addTraderHelper.AddTraderToDb(
|
||||
traderBase,
|
||||
_databaseService.GetTables(),
|
||||
_jsonUtil,
|
||||
new TraderAssort() {Items = new List<Item>(), BarterScheme = new Dictionary<string, List<List<BarterScheme>>>(), LoyalLevelItems = new Dictionary<string, int>()});
|
||||
_logger.Success("added trader base");
|
||||
var fluentAssortCreator = new FluentTraderAssortCreator(_logger, _hashUtil);
|
||||
|
||||
// Add milk
|
||||
fluentAssortCreator
|
||||
.CreateSingleAssortItem(ItemTpl.DRINK_PACK_OF_MILK)
|
||||
.AddStackCount(200)
|
||||
.AddBuyRestriction(10)
|
||||
.AddMoneyCost(Money.ROUBLES, 2000)
|
||||
.AddLoyaltyLevel(1)
|
||||
.Export(tables.Traders[traderBase.Id]);
|
||||
|
||||
// Add 3x bitcoin + salewa for milk barter
|
||||
fluentAssortCreator
|
||||
.CreateSingleAssortItem(ItemTpl.DRINK_PACK_OF_MILK)
|
||||
.AddStackCount(100)
|
||||
.AddBarterCost(ItemTpl.BARTER_PHYSICAL_BITCOIN, 3)
|
||||
.AddBarterCost(ItemTpl.MEDKIT_SALEWA_FIRST_AID_KIT, 1)
|
||||
.AddLoyaltyLevel(1)
|
||||
.Export(tables.Traders[traderBase.Id]);
|
||||
|
||||
|
||||
// Add glock as a money purchase
|
||||
fluentAssortCreator
|
||||
.CreateComplexAssortItem(addTraderHelper.CreateGlock())
|
||||
.AddUnlimitedStackCount()
|
||||
.AddMoneyCost(Money.ROUBLES, 20000)
|
||||
.AddBuyRestriction(3)
|
||||
.AddLoyaltyLevel(1)
|
||||
.Export(tables.Traders[traderBase.Id]);
|
||||
|
||||
// Add mp133 preset as a barter for mayonase
|
||||
fluentAssortCreator
|
||||
.CreateComplexAssortItem(tables.Globals.ItemPresets["584148f2245977598f1ad387"].Items) // Weapon preset id comes from globals.json
|
||||
.AddStackCount(200)
|
||||
.AddBarterCost(ItemTpl.FOOD_JAR_OF_DEVILDOG_MAYO, 1)
|
||||
.AddBuyRestriction(3)
|
||||
.AddLoyaltyLevel(1)
|
||||
.Export(tables.Traders[traderBase.Id]);
|
||||
|
||||
addTraderHelper.AddTraderToLocales(
|
||||
traderBase,
|
||||
_databaseService.GetTables(),
|
||||
traderBase.Name,
|
||||
"Cat",
|
||||
traderBase.Nickname,
|
||||
traderBase.Location,
|
||||
"This is the cat shop. Meow.");
|
||||
}
|
||||
}
|
||||
|
||||
public static class NewItemIds
|
||||
{
|
||||
public static string GLOCK_BASE = "66eeef3b2a166b73d2066a74";
|
||||
public static string GLOCK_BARREL = "66eeef3b2a166b73d2066a75";
|
||||
public static string GLOCK_RECIEVER = "66eeef3b2a166b73d2066a76";
|
||||
public static string GLOCK_COMPENSATOR = "66eeef3b2a166b73d2066a77";
|
||||
public static string GLOCK_PISTOL_GRIP = "66eeef3b2a166b73d2066a78";
|
||||
public static string GLOCK_REAR_SIGHT = "66eeef3b2a166b73d2066a79";
|
||||
public static string GLOCK_FRONT_SIGHT = "66eeef3b2a166b73d2066a7a";
|
||||
public static string GLOCK_MAGAZINE = "66eeef3b2a166b73d2066a7b";
|
||||
}
|
||||
|
||||
@@ -15,12 +15,12 @@ namespace _13AddTraderWithAssortJson
|
||||
* @param refreshTimeSecondsMin How many seconds between trader stock refresh min time
|
||||
* @param refreshTimeSecondsMax How many seconds between trader stock refresh max time
|
||||
*/
|
||||
public void SetTraderUpdateTime(TraderConfig traderConfig, dynamic baseJson, int refreshTimeSecondsMin, int refreshTimeSecondsMax)
|
||||
public void SetTraderUpdateTime(TraderConfig traderConfig, TraderBase baseJson, int refreshTimeSecondsMin, int refreshTimeSecondsMax)
|
||||
{
|
||||
// Add refresh time in seconds to config
|
||||
var traderRefreshRecord = new UpdateTime
|
||||
{
|
||||
TraderId = baseJson.id,
|
||||
TraderId = baseJson.Id,
|
||||
Seconds = new MinMax<int>(refreshTimeSecondsMin, refreshTimeSecondsMax)
|
||||
};
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace _13AddTraderWithAssortJson
|
||||
* @param tables database
|
||||
* @param jsonUtil json utility class
|
||||
*/
|
||||
public void AddTraderToDb(dynamic traderDetailsToAdd, DatabaseTables tables, JsonUtil jsonUtil, object assortJson)
|
||||
public void AddTraderToDb(TraderBase traderDetailsToAdd, DatabaseTables tables, JsonUtil jsonUtil, object assortJson)
|
||||
{
|
||||
// Create trader data ready to add to database
|
||||
var traderDataToAdd = new Trader
|
||||
@@ -54,7 +54,7 @@ namespace _13AddTraderWithAssortJson
|
||||
};
|
||||
|
||||
// Add trader to trader table, key is the traders id
|
||||
tables.Traders.Add(traderDetailsToAdd._id, traderDataToAdd);
|
||||
tables.Traders.Add(traderDetailsToAdd.Id, traderDataToAdd);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,17 +67,17 @@ namespace _13AddTraderWithAssortJson
|
||||
* @param location Location of trader (e.g. "Here in the cat shop")
|
||||
* @param description Description of trader
|
||||
*/
|
||||
public void AddTraderToLocales(dynamic baseJson, DatabaseTables tables, string fullName, string firstName, string nickName, string location, string description)
|
||||
public void AddTraderToLocales(TraderBase baseJson, DatabaseTables tables, string fullName, string firstName, string nickName, string location, string description)
|
||||
{
|
||||
// For each language, add locale for the new trader
|
||||
var locales = tables.Locales.Global;
|
||||
|
||||
foreach (var (key, value) in locales) {
|
||||
value.Value[$"{baseJson._id} FullName"] = fullName;
|
||||
value.Value[$"{baseJson._id} FirstName"] = firstName;
|
||||
value.Value[$"{baseJson._id} Nickname"] = nickName;
|
||||
value.Value[$"{baseJson._id} Location"] = location;
|
||||
value.Value[$"{baseJson._id} Description"] = description;
|
||||
value.Value[$"{baseJson.Id} FullName"] = fullName;
|
||||
value.Value[$"{baseJson.Id} FirstName"] = firstName;
|
||||
value.Value[$"{baseJson.Id} Nickname"] = nickName;
|
||||
value.Value[$"{baseJson.Id} Location"] = location;
|
||||
value.Value[$"{baseJson.Id} Description"] = description;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,81 +6,82 @@ using Core.Routers;
|
||||
using Core.Servers;
|
||||
using Core.Services;
|
||||
using Core.Utils;
|
||||
using SptCommon.Annotations;
|
||||
|
||||
namespace _13AddTraderWithAssortJson
|
||||
namespace _13AddTraderWithAssortJson;
|
||||
|
||||
[Injectable]
|
||||
public class AddTraderWithAssortJson : IPostDBLoadMod
|
||||
{
|
||||
public class AddTraderWithAssortJson : IPostDBLoadMod
|
||||
private readonly ISptLogger<AddTraderWithAssortJson> _logger;
|
||||
private readonly JsonUtil _jsonUtil;
|
||||
private readonly FileUtil _fileUtil;
|
||||
private readonly DatabaseService _databaseService;
|
||||
private readonly ImageRouter _imageRouter;
|
||||
private readonly ConfigServer _configServer;
|
||||
private readonly TraderConfig _traderConfig;
|
||||
private readonly RagfairConfig _ragfairConfig;
|
||||
|
||||
public AddTraderWithAssortJson(
|
||||
ISptLogger<AddTraderWithAssortJson> logger,
|
||||
JsonUtil jsonUtil,
|
||||
FileUtil fileUtil,
|
||||
DatabaseService databaseService,
|
||||
ImageRouter imageRouter,
|
||||
ConfigServer configServer)
|
||||
{
|
||||
private readonly ISptLogger<AddTraderWithAssortJson> _logger;
|
||||
private readonly JsonUtil _jsonUtil;
|
||||
private readonly FileUtil _fileUtil;
|
||||
private readonly DatabaseService _databaseService;
|
||||
private readonly ImageRouter _imageRouter;
|
||||
private readonly ConfigServer _configServer;
|
||||
private readonly TraderConfig _traderConfig;
|
||||
private readonly RagfairConfig _ragfairConfig;
|
||||
_logger = logger;
|
||||
_jsonUtil = jsonUtil;
|
||||
_fileUtil = fileUtil;
|
||||
_databaseService = databaseService;
|
||||
_imageRouter = imageRouter;
|
||||
_configServer = configServer;
|
||||
|
||||
public AddTraderWithAssortJson(
|
||||
ISptLogger<AddTraderWithAssortJson> logger,
|
||||
JsonUtil jsonUtil,
|
||||
FileUtil fileUtil,
|
||||
DatabaseService databaseService,
|
||||
ImageRouter imageRouter,
|
||||
ConfigServer configServer)
|
||||
{
|
||||
_logger = logger;
|
||||
_jsonUtil = jsonUtil;
|
||||
_fileUtil = fileUtil;
|
||||
_databaseService = databaseService;
|
||||
_imageRouter = imageRouter;
|
||||
_configServer = configServer;
|
||||
_traderConfig = _configServer.GetConfig<TraderConfig>();
|
||||
_ragfairConfig = _configServer.GetConfig<RagfairConfig>();
|
||||
}
|
||||
|
||||
_traderConfig = _configServer.GetConfig<TraderConfig>();
|
||||
_ragfairConfig = _configServer.GetConfig<RagfairConfig>();
|
||||
}
|
||||
|
||||
public void PostDBLoad()
|
||||
{
|
||||
var traderImagePath = "./db/cat.jpg";
|
||||
public void PostDBLoad()
|
||||
{
|
||||
var traderImagePath = "./db/cat.jpg";
|
||||
|
||||
var baseJson = _fileUtil.ReadFile("./db/base.json");
|
||||
var traderBase = _jsonUtil.Deserialize<TraderBase>(baseJson);
|
||||
var baseJson = _fileUtil.ReadFile("./db/base.json");
|
||||
var traderBase = _jsonUtil.Deserialize<TraderBase>(baseJson);
|
||||
|
||||
var assortJson = _fileUtil.ReadFile("./db/assort.json");
|
||||
var assort = _jsonUtil.Deserialize<TraderAssort>(assortJson);
|
||||
var assortJson = _fileUtil.ReadFile("./db/assort.json");
|
||||
var assort = _jsonUtil.Deserialize<TraderAssort>(assortJson);
|
||||
|
||||
// Create helper class and use it to register our traders image/icon + set its stock refresh time
|
||||
var addTraderHelper = new AddTraderHelper();
|
||||
_imageRouter.AddRoute(traderBase.Avatar.Replace(".jpg", ""), System.IO.Path.GetFullPath(traderImagePath));
|
||||
addTraderHelper.SetTraderUpdateTime(_traderConfig, traderBase, 3600, 4000);
|
||||
// Create helper class and use it to register our traders image/icon + set its stock refresh time
|
||||
var addTraderHelper = new AddTraderHelper();
|
||||
_imageRouter.AddRoute(traderBase.Avatar.Replace(".jpg", ""), System.IO.Path.GetFullPath(traderImagePath));
|
||||
addTraderHelper.SetTraderUpdateTime(_traderConfig, traderBase, 3600, 4000);
|
||||
|
||||
// Add trader to flea market
|
||||
_ragfairConfig.Traders[traderBase.Id] = true;
|
||||
// Add trader to flea market
|
||||
_ragfairConfig.Traders[traderBase.Id] = true;
|
||||
|
||||
// Add new trader to the trader dictionary in DatabaseServer - this is where the assort json is loaded
|
||||
/*
|
||||
* The assortJSON includes the following:
|
||||
* Milk available for roubles at LL1
|
||||
* Milk available for item barter at LL1
|
||||
* Helmet w/ soft armour available for roubles at LL1
|
||||
* Helmet w/ soft armour available for item barter at LL1
|
||||
*
|
||||
* It is *REQUIRED* to use MongoIDs for IDs in the assort
|
||||
*/
|
||||
addTraderHelper.AddTraderToDb(
|
||||
baseJson,
|
||||
_databaseService.GetTables(),
|
||||
_jsonUtil,
|
||||
assortJson);
|
||||
// Add new trader to the trader dictionary in DatabaseServer - this is where the assort json is loaded
|
||||
/*
|
||||
* The assortJSON includes the following:
|
||||
* Milk available for roubles at LL1
|
||||
* Milk available for item barter at LL1
|
||||
* Helmet w/ soft armour available for roubles at LL1
|
||||
* Helmet w/ soft armour available for item barter at LL1
|
||||
*
|
||||
* It is *REQUIRED* to use MongoIDs for IDs in the assort
|
||||
*/
|
||||
addTraderHelper.AddTraderToDb(
|
||||
traderBase,
|
||||
_databaseService.GetTables(),
|
||||
_jsonUtil,
|
||||
assortJson);
|
||||
|
||||
addTraderHelper.AddTraderToLocales(
|
||||
baseJson,
|
||||
_databaseService.GetTables(),
|
||||
traderBase.Name,
|
||||
"Cat",
|
||||
traderBase.Nickname,
|
||||
traderBase.Location,
|
||||
"This is the cat shop. Meow.");
|
||||
}
|
||||
addTraderHelper.AddTraderToLocales(
|
||||
traderBase,
|
||||
_databaseService.GetTables(),
|
||||
traderBase.Name,
|
||||
"Cat",
|
||||
traderBase.Nickname,
|
||||
traderBase.Location,
|
||||
"This is the cat shop. Meow.");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user