Jump to content
Game-Labs Forum

Public "API" for Naval Action


Recommended Posts

On 05/06/2017 at 3:27 PM, qw569 said:

@raskolnikoff

There is a error in API file ItemTemplates_*.json

Id=240, Name="Cables And Howsers Blueprint"

id=3, Name="Cables And Hawsers"

Not an error as such - that is exactly how they appear in game. I had earlier reported both in the typos thread but only the item name got corrected, not the blueprint name.

Edit: It got corrected in 10.1 hotfix 1.

Edited by Remus
  • Like 1
Link to comment
Share on other sites

@raskolnikoff

There is something wrong with Silver coins recipe.

Check ID 1008 and 431.

{"__type":"MegaChaka.Services.Items.RecipeTemplate, MegaChaka","Name":"Silver Coins","Id":1008,"PreventTeleport":false,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0.67,"BasePrice":232,
{"__type":"MegaChaka.Services.Items.RecipeTemplate, MegaChaka","Name":"Silver Coins Blueprint","Id":431,"PreventTeleport":false,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0,"BasePrice":-1,"SellPrice":
Link to comment
Share on other sites

2 hours ago, qw569 said:

@raskolnikoff

There is something wrong with Silver coins recipe.

Check ID 1008 and 431.


{"__type":"MegaChaka.Services.Items.RecipeTemplate, MegaChaka","Name":"Silver Coins","Id":1008,"PreventTeleport":false,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0.67,"BasePrice":232,

{"__type":"MegaChaka.Services.Items.RecipeTemplate, MegaChaka","Name":"Silver Coins Blueprint","Id":431,"PreventTeleport":false,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0,"BasePrice":-1,"SellPrice":

Sorry, what's the error?

It looks like 1008 is a duplicate (the item templates file abounds with them, thought they seem to be slowly getting culled) and doesn't feature anywhere else. Silver Coins is 428.

Link to comment
Share on other sites

21 hours ago, qw569 said:

@raskolnikoff

The file (ItemTemplates*.json) have not ballast (id=2) in ship blueprints.

This too is correct - sort of. Ballast is now part of trim - even white oak planing has a ballast component.

The 'sort of' is because trim requirements aren't listed in the API at all (they never were, even before the wipe), something I too would love to see changed.. So far as I can tell, the ingredients for each are as follows (in csv format), with the multiplier being applied to ship mass. The the product isn't an integer, round down:

Trim,Id,Item,Multiplier
Bermuda Planking,2,Ballast,0.04
Bermuda Planking,1332,Bermuda Cedar Planks,0.11
Crew Space,2,Ballast,0.03
Crew Space,14,Oak Planks,0.1
Crew Space,20,Canvas Rolls,0.04
Crew Space,887,Provisions,0.02
Fir Planking,2,Ballast,0.04
Fir Planking,1333,Fir Planks,0.1
Mahogany Planking,2,Ballast,0.03
Mahogany Planking,1334,Mahogany Planks,0.13
Oak Planking,2,Ballast,0.03
Oak Planking,14,Oak Planks,0.17
Sabicu Planking,2,Ballast,0.03
Sabicu Planking,1335,Sabicu Planks,0.17
Teak Planking,2,Ballast,0.03
Teak Planking,1336,Teak Planks,0.14
White Oak Planking,2,Ballast,0.02
White Oak Planking,1337,White Oak Planks,0.19
 

Link to comment
Share on other sites

18 minutes ago, Black Spawn said:

@Remus

Wow. I don't think I even want to know how long it took you to connect these dots. Makes sense tho... 

Any chance you figured out a way to map the modifiers aka modules to these? 

I'm only looking at econ right now. Do you not have base stats to apply the modifiers to then?

Link to comment
Share on other sites

1 minute ago, Remus said:

I'm only looking at econ right now. Do you not have base stats to apply the modifiers to then?

sure. but there are like 5 identical Fir Plankings with the IDs pointing nowhere:

{"__type":"MegaChaka.Services.Items.ModuleTemplate, MegaChaka","Modifiers":[{"Slot":"ARMOR_ALL_SIDES","MappingIds":["ARMOR_THICKNESS"],"Absolute":0,"Percentage":-4},{"Slot":"STRUCTURE","MappingIds":["SHIP_STRUCTURE_LEAKS_PER_SECOND"],"Absolute":0,"Percentage":10},{"Slot":"NONE","MappingIds":["CREW_DAMAGE_RECEIVED_DECREASE_PERCENT"],"Absolute":-0.2,"Percentage":0},{"Slot":"STRUCTURE","MappingIds":["FIRE_INCREASE_RATE"],"Absolute":0,"Percentage":2},{"Slot":"NONE","MappingIds":["SHIP_MAX_SPEED"],"Absolute":0,"Percentage":5},{"Slot":"NONE","MappingIds":["RUDDER_HALFTURN_TIME"],"Absolute":0,"Percentage":-1.75},{"Slot":"NONE","MappingIds":["SHIP_TURNING_SPEED"],"Absolute":0,"Percentage":1.75},{"Slot":"NONE","MappingIds":["SHIP_PHYSICS_ACC_COEF"],"Absolute":0,"Percentage":3},{"Slot":"ARMOR_ALL_SIDES","MappingIds":["MODULE_BASE_HP"],"Absolute":0,"Percentage":-5}],"scoreValue":9,"UsageType":"All","MaxItems":1,"Name":"Fir Planking","Id":1322,"PreventTeleport":true,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0,"BasePrice":1000,"SellPrice":{"x":0.100000001490116,"y":1},"BuyPrice":{"x":0.150000005960464,"y":1.5},"PriceReductionAmount":-1,"ConsumedScale":1.5,"NonConsumedScale":1,"PriceTierQuantity":2,"MaxQuantity":20,"SortingGroup":"module:speed_turn","SellableInShop":false,"CanBeSoldToShop":false,"ResetStockOnServerStart":false,"SellPriceCoefficient":0.5,"ItemType":"Module","MongoID":"1322","bIsBowFigure":false,"bCanBeSetWithSameType":false,"MinResourcesAmount":0,"MaxResourcesAmount":0,"BreakUpItemsAmount":0,"CanBeBreakedUp":"Anywhere","bCanBeBreakedUp":false,"MaxModulesCountOnShip":0,"ModuleType":"Hidden","ModuleLevel":"Universal","Limitation1_Value":0,"Limitation2_Value":0,"Limitation3_Value":0,"ShowInContractsSelector":false,"DeliveryOrderOptions":{"Valid":false,"StockSizeCraftExperience":0,"StockSize":0},"PortPrices":{"Valid":false,"Produced":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Consumed":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Regular":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"FullStackAmount":0,"FullStack":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"RandomPct":0,"RangePct":0}},
{"__type":"MegaChaka.Services.Items.ModuleTemplate, MegaChaka","Modifiers":[{"Slot":"ARMOR_ALL_SIDES","MappingIds":["ARMOR_THICKNESS"],"Absolute":0,"Percentage":-4},{"Slot":"STRUCTURE","MappingIds":["SHIP_STRUCTURE_LEAKS_PER_SECOND"],"Absolute":0,"Percentage":10},{"Slot":"NONE","MappingIds":["CREW_DAMAGE_RECEIVED_DECREASE_PERCENT"],"Absolute":-0.2,"Percentage":0},{"Slot":"STRUCTURE","MappingIds":["FIRE_INCREASE_RATE"],"Absolute":0,"Percentage":2},{"Slot":"NONE","MappingIds":["SHIP_MAX_SPEED"],"Absolute":0,"Percentage":5},{"Slot":"NONE","MappingIds":["RUDDER_HALFTURN_TIME"],"Absolute":0,"Percentage":-1.75},{"Slot":"NONE","MappingIds":["SHIP_TURNING_SPEED"],"Absolute":0,"Percentage":1.75},{"Slot":"NONE","MappingIds":["SHIP_PHYSICS_ACC_COEF"],"Absolute":0,"Percentage":3},{"Slot":"ARMOR_ALL_SIDES","MappingIds":["MODULE_BASE_HP"],"Absolute":0,"Percentage":-5}],"scoreValue":9,"UsageType":"All","MaxItems":1,"Name":"Fir Planking","Id":1323,"PreventTeleport":true,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0,"BasePrice":1000,"SellPrice":{"x":0.100000001490116,"y":1},"BuyPrice":{"x":0.150000005960464,"y":1.5},"PriceReductionAmount":-1,"ConsumedScale":1.5,"NonConsumedScale":1,"PriceTierQuantity":2,"MaxQuantity":20,"SortingGroup":"module:speed_turn","SellableInShop":false,"CanBeSoldToShop":false,"ResetStockOnServerStart":false,"SellPriceCoefficient":0.5,"ItemType":"Module","MongoID":"1323","bIsBowFigure":false,"bCanBeSetWithSameType":false,"MinResourcesAmount":0,"MaxResourcesAmount":0,"BreakUpItemsAmount":0,"CanBeBreakedUp":"Anywhere","bCanBeBreakedUp":false,"MaxModulesCountOnShip":0,"ModuleType":"Hidden","ModuleLevel":"Universal","Limitation1_Value":0,"Limitation2_Value":0,"Limitation3_Value":0,"ShowInContractsSelector":false,"DeliveryOrderOptions":{"Valid":false,"StockSizeCraftExperience":0,"StockSize":0},"PortPrices":{"Valid":false,"Produced":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Consumed":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Regular":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"FullStackAmount":0,"FullStack":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"RandomPct":0,"RangePct":0}},
{"__type":"MegaChaka.Services.Items.ModuleTemplate, MegaChaka","Modifiers":[{"Slot":"ARMOR_ALL_SIDES","MappingIds":["ARMOR_THICKNESS"],"Absolute":0,"Percentage":-4},{"Slot":"STRUCTURE","MappingIds":["SHIP_STRUCTURE_LEAKS_PER_SECOND"],"Absolute":0,"Percentage":10},{"Slot":"NONE","MappingIds":["CREW_DAMAGE_RECEIVED_DECREASE_PERCENT"],"Absolute":-0.2,"Percentage":0},{"Slot":"STRUCTURE","MappingIds":["FIRE_INCREASE_RATE"],"Absolute":0,"Percentage":2},{"Slot":"NONE","MappingIds":["SHIP_MAX_SPEED"],"Absolute":0,"Percentage":5},{"Slot":"NONE","MappingIds":["RUDDER_HALFTURN_TIME"],"Absolute":0,"Percentage":-1.75},{"Slot":"NONE","MappingIds":["SHIP_TURNING_SPEED"],"Absolute":0,"Percentage":1.75},{"Slot":"NONE","MappingIds":["SHIP_PHYSICS_ACC_COEF"],"Absolute":0,"Percentage":3},{"Slot":"ARMOR_ALL_SIDES","MappingIds":["MODULE_BASE_HP"],"Absolute":0,"Percentage":-5}],"scoreValue":9,"UsageType":"All","MaxItems":1,"Name":"Fir Planking","Id":1324,"PreventTeleport":true,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0,"BasePrice":1000,"SellPrice":{"x":0.100000001490116,"y":1},"BuyPrice":{"x":0.150000005960464,"y":1.5},"PriceReductionAmount":-1,"ConsumedScale":1.5,"NonConsumedScale":1,"PriceTierQuantity":2,"MaxQuantity":20,"SortingGroup":"module:speed_turn","SellableInShop":false,"CanBeSoldToShop":false,"ResetStockOnServerStart":false,"SellPriceCoefficient":0.5,"ItemType":"Module","MongoID":"1324","bIsBowFigure":false,"bCanBeSetWithSameType":false,"MinResourcesAmount":0,"MaxResourcesAmount":0,"BreakUpItemsAmount":0,"CanBeBreakedUp":"Anywhere","bCanBeBreakedUp":false,"MaxModulesCountOnShip":0,"ModuleType":"Hidden","ModuleLevel":"Universal","Limitation1_Value":0,"Limitation2_Value":0,"Limitation3_Value":0,"ShowInContractsSelector":false,"DeliveryOrderOptions":{"Valid":false,"StockSizeCraftExperience":0,"StockSize":0},"PortPrices":{"Valid":false,"Produced":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Consumed":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Regular":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"FullStackAmount":0,"FullStack":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"RandomPct":0,"RangePct":0}},
{"__type":"MegaChaka.Services.Items.ModuleTemplate, MegaChaka","Modifiers":[{"Slot":"ARMOR_ALL_SIDES","MappingIds":["ARMOR_THICKNESS"],"Absolute":0,"Percentage":-4},{"Slot":"STRUCTURE","MappingIds":["SHIP_STRUCTURE_LEAKS_PER_SECOND"],"Absolute":0,"Percentage":10},{"Slot":"NONE","MappingIds":["CREW_DAMAGE_RECEIVED_DECREASE_PERCENT"],"Absolute":-0.2,"Percentage":0},{"Slot":"STRUCTURE","MappingIds":["FIRE_INCREASE_RATE"],"Absolute":0,"Percentage":2},{"Slot":"NONE","MappingIds":["SHIP_MAX_SPEED"],"Absolute":0,"Percentage":5},{"Slot":"NONE","MappingIds":["RUDDER_HALFTURN_TIME"],"Absolute":0,"Percentage":-1.75},{"Slot":"NONE","MappingIds":["SHIP_TURNING_SPEED"],"Absolute":0,"Percentage":1.75},{"Slot":"NONE","MappingIds":["SHIP_PHYSICS_ACC_COEF"],"Absolute":0,"Percentage":3},{"Slot":"ARMOR_ALL_SIDES","MappingIds":["MODULE_BASE_HP"],"Absolute":0,"Percentage":-5}],"scoreValue":9,"UsageType":"All","MaxItems":1,"Name":"Fir Planking","Id":1325,"PreventTeleport":true,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0,"BasePrice":1000,"SellPrice":{"x":0.100000001490116,"y":1},"BuyPrice":{"x":0.150000005960464,"y":1.5},"PriceReductionAmount":-1,"ConsumedScale":1.5,"NonConsumedScale":1,"PriceTierQuantity":2,"MaxQuantity":20,"SortingGroup":"module:speed_turn","SellableInShop":false,"CanBeSoldToShop":false,"ResetStockOnServerStart":false,"SellPriceCoefficient":0.5,"ItemType":"Module","MongoID":"1325","bIsBowFigure":false,"bCanBeSetWithSameType":false,"MinResourcesAmount":0,"MaxResourcesAmount":0,"BreakUpItemsAmount":0,"CanBeBreakedUp":"Anywhere","bCanBeBreakedUp":false,"MaxModulesCountOnShip":0,"ModuleType":"Hidden","ModuleLevel":"Universal","Limitation1_Value":0,"Limitation2_Value":0,"Limitation3_Value":0,"ShowInContractsSelector":false,"DeliveryOrderOptions":{"Valid":false,"StockSizeCraftExperience":0,"StockSize":0},"PortPrices":{"Valid":false,"Produced":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Consumed":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Regular":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"FullStackAmount":0,"FullStack":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"RandomPct":0,"RangePct":0}},
{"__type":"MegaChaka.Services.Items.ModuleTemplate, MegaChaka","Modifiers":[{"Slot":"ARMOR_ALL_SIDES","MappingIds":["ARMOR_THICKNESS"],"Absolute":0,"Percentage":-4},{"Slot":"STRUCTURE","MappingIds":["SHIP_STRUCTURE_LEAKS_PER_SECOND"],"Absolute":0,"Percentage":10},{"Slot":"NONE","MappingIds":["CREW_DAMAGE_RECEIVED_DECREASE_PERCENT"],"Absolute":-0.2,"Percentage":0},{"Slot":"STRUCTURE","MappingIds":["FIRE_INCREASE_RATE"],"Absolute":0,"Percentage":2},{"Slot":"NONE","MappingIds":["SHIP_MAX_SPEED"],"Absolute":0,"Percentage":5},{"Slot":"NONE","MappingIds":["RUDDER_HALFTURN_TIME"],"Absolute":0,"Percentage":-1.75},{"Slot":"NONE","MappingIds":["SHIP_TURNING_SPEED"],"Absolute":0,"Percentage":1.75},{"Slot":"NONE","MappingIds":["SHIP_PHYSICS_ACC_COEF"],"Absolute":0,"Percentage":3},{"Slot":"ARMOR_ALL_SIDES","MappingIds":["MODULE_BASE_HP"],"Absolute":0,"Percentage":-5}],"scoreValue":9,"UsageType":"All","MaxItems":1,"Name":"Fir Planking","Id":1326,"PreventTeleport":true,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0,"BasePrice":1000,"SellPrice":{"x":0.100000001490116,"y":1},"BuyPrice":{"x":0.150000005960464,"y":1.5},"PriceReductionAmount":-1,"ConsumedScale":1.5,"NonConsumedScale":1,"PriceTierQuantity":2,"MaxQuantity":20,"SortingGroup":"module:speed_turn","SellableInShop":false,"CanBeSoldToShop":false,"ResetStockOnServerStart":false,"SellPriceCoefficient":0.5,"ItemType":"Module","MongoID":"1326","bIsBowFigure":false,"bCanBeSetWithSameType":false,"MinResourcesAmount":0,"MaxResourcesAmount":0,"BreakUpItemsAmount":0,"CanBeBreakedUp":"Anywhere","bCanBeBreakedUp":false,"MaxModulesCountOnShip":0,"ModuleType":"Hidden","ModuleLevel":"Universal","Limitation1_Value":0,"Limitation2_Value":0,"Limitation3_Value":0,"ShowInContractsSelector":false,"DeliveryOrderOptions":{"Valid":false,"StockSizeCraftExperience":0,"StockSize":0},"PortPrices":{"Valid":false,"Produced":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Consumed":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Regular":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"FullStackAmount":0,"FullStack":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"RandomPct":0,"RangePct":0}},

same goes for crew space.

When it comes to coding and extracting i'd rather not hardcode but i guess there is no other way for now. :(

  • Like 1
Link to comment
Share on other sites

1 hour ago, Black Spawn said:

sure. but there are like 5 identical Fir Plankings with the IDs pointing nowhere:


{"__type":"MegaChaka.Services.Items.ModuleTemplate, MegaChaka","Modifiers":[{"Slot":"ARMOR_ALL_SIDES","MappingIds":["ARMOR_THICKNESS"],"Absolute":0,"Percentage":-4},{"Slot":"STRUCTURE","MappingIds":["SHIP_STRUCTURE_LEAKS_PER_SECOND"],"Absolute":0,"Percentage":10},{"Slot":"NONE","MappingIds":["CREW_DAMAGE_RECEIVED_DECREASE_PERCENT"],"Absolute":-0.2,"Percentage":0},{"Slot":"STRUCTURE","MappingIds":["FIRE_INCREASE_RATE"],"Absolute":0,"Percentage":2},{"Slot":"NONE","MappingIds":["SHIP_MAX_SPEED"],"Absolute":0,"Percentage":5},{"Slot":"NONE","MappingIds":["RUDDER_HALFTURN_TIME"],"Absolute":0,"Percentage":-1.75},{"Slot":"NONE","MappingIds":["SHIP_TURNING_SPEED"],"Absolute":0,"Percentage":1.75},{"Slot":"NONE","MappingIds":["SHIP_PHYSICS_ACC_COEF"],"Absolute":0,"Percentage":3},{"Slot":"ARMOR_ALL_SIDES","MappingIds":["MODULE_BASE_HP"],"Absolute":0,"Percentage":-5}],"scoreValue":9,"UsageType":"All","MaxItems":1,"Name":"Fir Planking","Id":1322,"PreventTeleport":true,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0,"BasePrice":1000,"SellPrice":{"x":0.100000001490116,"y":1},"BuyPrice":{"x":0.150000005960464,"y":1.5},"PriceReductionAmount":-1,"ConsumedScale":1.5,"NonConsumedScale":1,"PriceTierQuantity":2,"MaxQuantity":20,"SortingGroup":"module:speed_turn","SellableInShop":false,"CanBeSoldToShop":false,"ResetStockOnServerStart":false,"SellPriceCoefficient":0.5,"ItemType":"Module","MongoID":"1322","bIsBowFigure":false,"bCanBeSetWithSameType":false,"MinResourcesAmount":0,"MaxResourcesAmount":0,"BreakUpItemsAmount":0,"CanBeBreakedUp":"Anywhere","bCanBeBreakedUp":false,"MaxModulesCountOnShip":0,"ModuleType":"Hidden","ModuleLevel":"Universal","Limitation1_Value":0,"Limitation2_Value":0,"Limitation3_Value":0,"ShowInContractsSelector":false,"DeliveryOrderOptions":{"Valid":false,"StockSizeCraftExperience":0,"StockSize":0},"PortPrices":{"Valid":false,"Produced":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Consumed":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Regular":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"FullStackAmount":0,"FullStack":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"RandomPct":0,"RangePct":0}},
{"__type":"MegaChaka.Services.Items.ModuleTemplate, MegaChaka","Modifiers":[{"Slot":"ARMOR_ALL_SIDES","MappingIds":["ARMOR_THICKNESS"],"Absolute":0,"Percentage":-4},{"Slot":"STRUCTURE","MappingIds":["SHIP_STRUCTURE_LEAKS_PER_SECOND"],"Absolute":0,"Percentage":10},{"Slot":"NONE","MappingIds":["CREW_DAMAGE_RECEIVED_DECREASE_PERCENT"],"Absolute":-0.2,"Percentage":0},{"Slot":"STRUCTURE","MappingIds":["FIRE_INCREASE_RATE"],"Absolute":0,"Percentage":2},{"Slot":"NONE","MappingIds":["SHIP_MAX_SPEED"],"Absolute":0,"Percentage":5},{"Slot":"NONE","MappingIds":["RUDDER_HALFTURN_TIME"],"Absolute":0,"Percentage":-1.75},{"Slot":"NONE","MappingIds":["SHIP_TURNING_SPEED"],"Absolute":0,"Percentage":1.75},{"Slot":"NONE","MappingIds":["SHIP_PHYSICS_ACC_COEF"],"Absolute":0,"Percentage":3},{"Slot":"ARMOR_ALL_SIDES","MappingIds":["MODULE_BASE_HP"],"Absolute":0,"Percentage":-5}],"scoreValue":9,"UsageType":"All","MaxItems":1,"Name":"Fir Planking","Id":1323,"PreventTeleport":true,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0,"BasePrice":1000,"SellPrice":{"x":0.100000001490116,"y":1},"BuyPrice":{"x":0.150000005960464,"y":1.5},"PriceReductionAmount":-1,"ConsumedScale":1.5,"NonConsumedScale":1,"PriceTierQuantity":2,"MaxQuantity":20,"SortingGroup":"module:speed_turn","SellableInShop":false,"CanBeSoldToShop":false,"ResetStockOnServerStart":false,"SellPriceCoefficient":0.5,"ItemType":"Module","MongoID":"1323","bIsBowFigure":false,"bCanBeSetWithSameType":false,"MinResourcesAmount":0,"MaxResourcesAmount":0,"BreakUpItemsAmount":0,"CanBeBreakedUp":"Anywhere","bCanBeBreakedUp":false,"MaxModulesCountOnShip":0,"ModuleType":"Hidden","ModuleLevel":"Universal","Limitation1_Value":0,"Limitation2_Value":0,"Limitation3_Value":0,"ShowInContractsSelector":false,"DeliveryOrderOptions":{"Valid":false,"StockSizeCraftExperience":0,"StockSize":0},"PortPrices":{"Valid":false,"Produced":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Consumed":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Regular":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"FullStackAmount":0,"FullStack":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"RandomPct":0,"RangePct":0}},
{"__type":"MegaChaka.Services.Items.ModuleTemplate, MegaChaka","Modifiers":[{"Slot":"ARMOR_ALL_SIDES","MappingIds":["ARMOR_THICKNESS"],"Absolute":0,"Percentage":-4},{"Slot":"STRUCTURE","MappingIds":["SHIP_STRUCTURE_LEAKS_PER_SECOND"],"Absolute":0,"Percentage":10},{"Slot":"NONE","MappingIds":["CREW_DAMAGE_RECEIVED_DECREASE_PERCENT"],"Absolute":-0.2,"Percentage":0},{"Slot":"STRUCTURE","MappingIds":["FIRE_INCREASE_RATE"],"Absolute":0,"Percentage":2},{"Slot":"NONE","MappingIds":["SHIP_MAX_SPEED"],"Absolute":0,"Percentage":5},{"Slot":"NONE","MappingIds":["RUDDER_HALFTURN_TIME"],"Absolute":0,"Percentage":-1.75},{"Slot":"NONE","MappingIds":["SHIP_TURNING_SPEED"],"Absolute":0,"Percentage":1.75},{"Slot":"NONE","MappingIds":["SHIP_PHYSICS_ACC_COEF"],"Absolute":0,"Percentage":3},{"Slot":"ARMOR_ALL_SIDES","MappingIds":["MODULE_BASE_HP"],"Absolute":0,"Percentage":-5}],"scoreValue":9,"UsageType":"All","MaxItems":1,"Name":"Fir Planking","Id":1324,"PreventTeleport":true,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0,"BasePrice":1000,"SellPrice":{"x":0.100000001490116,"y":1},"BuyPrice":{"x":0.150000005960464,"y":1.5},"PriceReductionAmount":-1,"ConsumedScale":1.5,"NonConsumedScale":1,"PriceTierQuantity":2,"MaxQuantity":20,"SortingGroup":"module:speed_turn","SellableInShop":false,"CanBeSoldToShop":false,"ResetStockOnServerStart":false,"SellPriceCoefficient":0.5,"ItemType":"Module","MongoID":"1324","bIsBowFigure":false,"bCanBeSetWithSameType":false,"MinResourcesAmount":0,"MaxResourcesAmount":0,"BreakUpItemsAmount":0,"CanBeBreakedUp":"Anywhere","bCanBeBreakedUp":false,"MaxModulesCountOnShip":0,"ModuleType":"Hidden","ModuleLevel":"Universal","Limitation1_Value":0,"Limitation2_Value":0,"Limitation3_Value":0,"ShowInContractsSelector":false,"DeliveryOrderOptions":{"Valid":false,"StockSizeCraftExperience":0,"StockSize":0},"PortPrices":{"Valid":false,"Produced":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Consumed":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Regular":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"FullStackAmount":0,"FullStack":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"RandomPct":0,"RangePct":0}},
{"__type":"MegaChaka.Services.Items.ModuleTemplate, MegaChaka","Modifiers":[{"Slot":"ARMOR_ALL_SIDES","MappingIds":["ARMOR_THICKNESS"],"Absolute":0,"Percentage":-4},{"Slot":"STRUCTURE","MappingIds":["SHIP_STRUCTURE_LEAKS_PER_SECOND"],"Absolute":0,"Percentage":10},{"Slot":"NONE","MappingIds":["CREW_DAMAGE_RECEIVED_DECREASE_PERCENT"],"Absolute":-0.2,"Percentage":0},{"Slot":"STRUCTURE","MappingIds":["FIRE_INCREASE_RATE"],"Absolute":0,"Percentage":2},{"Slot":"NONE","MappingIds":["SHIP_MAX_SPEED"],"Absolute":0,"Percentage":5},{"Slot":"NONE","MappingIds":["RUDDER_HALFTURN_TIME"],"Absolute":0,"Percentage":-1.75},{"Slot":"NONE","MappingIds":["SHIP_TURNING_SPEED"],"Absolute":0,"Percentage":1.75},{"Slot":"NONE","MappingIds":["SHIP_PHYSICS_ACC_COEF"],"Absolute":0,"Percentage":3},{"Slot":"ARMOR_ALL_SIDES","MappingIds":["MODULE_BASE_HP"],"Absolute":0,"Percentage":-5}],"scoreValue":9,"UsageType":"All","MaxItems":1,"Name":"Fir Planking","Id":1325,"PreventTeleport":true,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0,"BasePrice":1000,"SellPrice":{"x":0.100000001490116,"y":1},"BuyPrice":{"x":0.150000005960464,"y":1.5},"PriceReductionAmount":-1,"ConsumedScale":1.5,"NonConsumedScale":1,"PriceTierQuantity":2,"MaxQuantity":20,"SortingGroup":"module:speed_turn","SellableInShop":false,"CanBeSoldToShop":false,"ResetStockOnServerStart":false,"SellPriceCoefficient":0.5,"ItemType":"Module","MongoID":"1325","bIsBowFigure":false,"bCanBeSetWithSameType":false,"MinResourcesAmount":0,"MaxResourcesAmount":0,"BreakUpItemsAmount":0,"CanBeBreakedUp":"Anywhere","bCanBeBreakedUp":false,"MaxModulesCountOnShip":0,"ModuleType":"Hidden","ModuleLevel":"Universal","Limitation1_Value":0,"Limitation2_Value":0,"Limitation3_Value":0,"ShowInContractsSelector":false,"DeliveryOrderOptions":{"Valid":false,"StockSizeCraftExperience":0,"StockSize":0},"PortPrices":{"Valid":false,"Produced":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Consumed":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Regular":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"FullStackAmount":0,"FullStack":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"RandomPct":0,"RangePct":0}},
{"__type":"MegaChaka.Services.Items.ModuleTemplate, MegaChaka","Modifiers":[{"Slot":"ARMOR_ALL_SIDES","MappingIds":["ARMOR_THICKNESS"],"Absolute":0,"Percentage":-4},{"Slot":"STRUCTURE","MappingIds":["SHIP_STRUCTURE_LEAKS_PER_SECOND"],"Absolute":0,"Percentage":10},{"Slot":"NONE","MappingIds":["CREW_DAMAGE_RECEIVED_DECREASE_PERCENT"],"Absolute":-0.2,"Percentage":0},{"Slot":"STRUCTURE","MappingIds":["FIRE_INCREASE_RATE"],"Absolute":0,"Percentage":2},{"Slot":"NONE","MappingIds":["SHIP_MAX_SPEED"],"Absolute":0,"Percentage":5},{"Slot":"NONE","MappingIds":["RUDDER_HALFTURN_TIME"],"Absolute":0,"Percentage":-1.75},{"Slot":"NONE","MappingIds":["SHIP_TURNING_SPEED"],"Absolute":0,"Percentage":1.75},{"Slot":"NONE","MappingIds":["SHIP_PHYSICS_ACC_COEF"],"Absolute":0,"Percentage":3},{"Slot":"ARMOR_ALL_SIDES","MappingIds":["MODULE_BASE_HP"],"Absolute":0,"Percentage":-5}],"scoreValue":9,"UsageType":"All","MaxItems":1,"Name":"Fir Planking","Id":1326,"PreventTeleport":true,"DropChanceReductionPerItem":0,"MaxStack":1,"ItemWeight":0,"BasePrice":1000,"SellPrice":{"x":0.100000001490116,"y":1},"BuyPrice":{"x":0.150000005960464,"y":1.5},"PriceReductionAmount":-1,"ConsumedScale":1.5,"NonConsumedScale":1,"PriceTierQuantity":2,"MaxQuantity":20,"SortingGroup":"module:speed_turn","SellableInShop":false,"CanBeSoldToShop":false,"ResetStockOnServerStart":false,"SellPriceCoefficient":0.5,"ItemType":"Module","MongoID":"1326","bIsBowFigure":false,"bCanBeSetWithSameType":false,"MinResourcesAmount":0,"MaxResourcesAmount":0,"BreakUpItemsAmount":0,"CanBeBreakedUp":"Anywhere","bCanBeBreakedUp":false,"MaxModulesCountOnShip":0,"ModuleType":"Hidden","ModuleLevel":"Universal","Limitation1_Value":0,"Limitation2_Value":0,"Limitation3_Value":0,"ShowInContractsSelector":false,"DeliveryOrderOptions":{"Valid":false,"StockSizeCraftExperience":0,"StockSize":0},"PortPrices":{"Valid":false,"Produced":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Consumed":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"Regular":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"FullStackAmount":0,"FullStack":{"SellPrice":{"Min":0,"Max":0},"BuyPrice":{"Min":0,"Max":0}},"RandomPct":0,"RangePct":0}},

same goes for crew space.

When it comes to coding and extracting i'd rather not hardcode but i guess there is no other way for now. :(

You should see all the WHERE clauses I need to to get crafting costs and LH to make sense. Manual manipulation to force food to use fish meat and salt rather than the farm building I don't mind - it's one of the hazards of two BPs making the same thing, and I'd happily see more of that sort of stuff (a charcoal recipe with fir, for instance, as well as the one with oak) - but I have to manually strip out the compass wood BP and (iirc) the teak, bermuda, mahogany and live oak BPs as well.

Link to comment
Share on other sites

The "ResourcesAdded" array for the La Habana Shops entry has Item ID 790 (Iberian Dried Port) listed twice, once at the beginning of the array with a value of (67, 0.28) and again at the end of the array with a value of (62, 0.28).

What does it mean when the same item appears in the ResourcesAdded array twice?  Should the final effective value be taken as (62, 0.28), (67, 0.28) or (62+67, 0.28).

This was the us2 server data if it matters.

  • Like 1
Link to comment
Share on other sites

9 hours ago, Taralin Snow said:

Also, I noticed that while the API indicates which ports are in which counties, it does not actually provide the *name* of the county (only the list of all the ports in the county).  I found this a curious omission. 

Yes it's true.

I use substitution table where key is regional capital (CountyCapitalName).

Morgan's Bluff |    Andros
Nassau         |    New Providence
George's Town  |    Exuma
Pitt's Town    |    Crooked
Mortimer Town  |    Inagua

 

Link to comment
Share on other sites

  • 2 weeks later...

I'm trying to expand the wood comparator to show final ship stats for chosen trims. As such i'm hoping some one can point me to a resource for the extracted base ships stats in an easily importable format, such as CSV, tab-delimited or even simple excel file.

Would be extra cool if there's a similar resource for ship knowledge and modules.

I would be very grateful :)

Link to comment
Share on other sites

  • 2 weeks later...

So i've been taking a look at the ItemTemplates file myself. (still a massive pain none of the json tools i found can actually read this file...)

There are a few things about ship stats i still don't understand.

Most important one is speed. For example, Victory MaxSpeed is listed as 140.98xxxxxx.

How do you get from there to the actually in game speed stat?

I also cannot find thickness anywhere.

 

Link to comment
Share on other sites

On 19.7.2017 at 9:16 AM, Knobby said:

So i've been taking a look at the ItemTemplates file myself. (still a massive pain none of the json tools i found can actually read this file...)

There are a few things about ship stats i still don't understand.

Most important one is speed. For example, Victory MaxSpeed is listed as 140.98xxxxxx.

How do you get from there to the actually in game speed stat?

I also cannot find thickness anywhere.

 

Congraz, you found the two stats not in the API. There is no way of fetching it from there.

For Shipspeed you could look at this tho:

 

Link to comment
Share on other sites

Not true, it is possible.

MaxSpeed * SpeedToWind / 13.03

Tested on Lynx and Victory, works.

I assume this is how @balticsailor does it here:  https://plot.ly/~jodgi/7.embed

speeds at pos.  mods and wood not included, though, I haven't looked into adding wood and mods to the formula I gave above.  I assume it is possible if you look at the api long enough.

 

Example:

Lynx
"MaxSpeed":184.694412231445
"SpeedToWind":[0.532278835773468,0.646284937858582,0.734185039997101,0.760524809360504,0.812957763671875,0.93157172203064,1.00052952766418,0.927837312221527,0.925526201725006,0.996561944484711,0.838097333908081,0.53007984161377,-0.0525373816490173]

184.694412231445 * 1.00052952766418 / 13.03 = speed 90 degrees to the wind.  14.18 knots
184.694412231445 * 0.996561944484711 / 13.03 = speed 45 degrees to the wind.  14.12 knots
184.694412231445 * 0.53007984161377 = speed 15 degrees to the wind. 7.51 knots

p.s. answer to  @Knobby's question

 

You know what this means right?  speed * wood modifier * upgrade modifier * skill modifier x 2 = open world speed (or just go onto open world and get your max speed).  Enter starting x,y, end x,y, enter starting wind in degrees, enter max ow speed, select ship type, get a pretty accurate way to calculate straight line time to arrival.

edit2:  playing around https://namap.neocities.org/interactiveMap.html

Edited by Prater
  • Like 2
Link to comment
Share on other sites

8 hours ago, Prater said:

Not true, it is possible.


MaxSpeed * SpeedToWind / 13.03

Tested on Lynx and Victory, works.

I assume this is how @balticsailor does it here:  https://plot.ly/~jodgi/7.embed

speeds at pos.  mods and wood not included, though, I haven't looked into adding wood and mods to the formula I gave above.  I assume it is possible if you look at the api long enough.

 

Example:


Lynx
"MaxSpeed":184.694412231445
"SpeedToWind":[0.532278835773468,0.646284937858582,0.734185039997101,0.760524809360504,0.812957763671875,0.93157172203064,1.00052952766418,0.927837312221527,0.925526201725006,0.996561944484711,0.838097333908081,0.53007984161377,-0.0525373816490173]

184.694412231445 * 1.00052952766418 / 13.03 = speed 90 degrees to the wind.  14.18 knots
184.694412231445 * 0.996561944484711 / 13.03 = speed 45 degrees to the wind.  14.12 knots
184.694412231445 * 0.53007984161377 = speed 15 degrees to the wind. 7.51 knots

p.s. answer to  @Knobby's question

 

You know what this means right?  speed * wood modifier * upgrade modifier * skill modifier x 2 = open world speed (or just go onto open world and get your max speed).  Enter starting x,y, end x,y, enter starting wind in degrees, enter max ow speed, select ship type, get a pretty accurate way to calculate straight line time to arrival.

edit2:  playing around https://namap.neocities.org/interactiveMap.html

Why divide by 13.03? Where does that come from?

Link to comment
Share on other sites

9 hours ago, Prater said:

Not true, it is possible.


MaxSpeed * SpeedToWind / 13.03

Tested on Lynx and Victory, works.

I assume this is how @balticsailor does it here:  https://plot.ly/~jodgi/7.embed

speeds at pos.  mods and wood not included, though, I haven't looked into adding wood and mods to the formula I gave above.  I assume it is possible if you look at the api long enough.

 

Example:


Lynx
"MaxSpeed":184.694412231445
"SpeedToWind":[0.532278835773468,0.646284937858582,0.734185039997101,0.760524809360504,0.812957763671875,0.93157172203064,1.00052952766418,0.927837312221527,0.925526201725006,0.996561944484711,0.838097333908081,0.53007984161377,-0.0525373816490173]

184.694412231445 * 1.00052952766418 / 13.03 = speed 90 degrees to the wind.  14.18 knots
184.694412231445 * 0.996561944484711 / 13.03 = speed 45 degrees to the wind.  14.12 knots
184.694412231445 * 0.53007984161377 = speed 15 degrees to the wind. 7.51 knots

p.s. answer to  @Knobby's question

 

You know what this means right?  speed * wood modifier * upgrade modifier * skill modifier x 2 = open world speed (or just go onto open world and get your max speed).  Enter starting x,y, end x,y, enter starting wind in degrees, enter max ow speed, select ship type, get a pretty accurate way to calculate straight line time to arrival.

edit2:  playing around https://namap.neocities.org/interactiveMap.html

But thats not really "fetched" from the API. Thats a variable found by trial and error like the portspeed found by baltic. Thats why i refered to Ship Speeds - Testing and Discussion...

 

Link to comment
Share on other sites

3 hours ago, Black Spawn said:

But thats not really "fetched" from the API. Thats a variable found by trial and error like the portspeed found by baltic. Thats why i refered to Ship Speeds - Testing and Discussion...

 

What are you talking about?  This comes from the api.  The question was how do you get ship speed from the api.  Parse game labs javascript variable to get the ships, get MaxSpeed, get SpeedToWind, plug in the number I gave above (13.03), and you get each ship's speed values from the api for each point of sail.  Then if you want to get fancy have the player choose their wood, modules and skills, all from the values in the api, and you get their modified speed.  Trial and error?  Took like 10 minutes to figure out by looking at the ship entries and finding the proper formula.

Link to comment
Share on other sites

1 minute ago, Prater said:

What are you talking about?  This comes from the api.  The question was how do you get ship speed from the api.  Parse game labs javascript variable to get the ships, get MaxSpeed, get SpeedToWind, plug in the number I gave above (13.03), and you get each ship's speed values from the api for each point of sail.  Then if you want to get fancy have the player choose their wood, modules and skills, all from the values in the api, and you get their modified speed.  Trial and error?  Took like 10 minutes to figure out by looking at the ship entries and finding the proper formula.

Yea true. Not saying your wrong. I am just pointing out that this would be a hard-coded variable which is not fetched dynamically and thus might change in the future.

Link to comment
Share on other sites

Just now, Black Spawn said:

Yea true. Not saying your wrong. I am just pointing out that this would be a hard-coded variable which is not fetched dynamically and thus might change in the future.

Ya, you are right.   I wonder if this variable is found in the game files or api someplace else.

Link to comment
Share on other sites

4 minutes ago, Prater said:

Ya, you are right.   I wonder if this variable is found in the game files or api someplace else.

Which brings me back to my initial answer. Thickness and shipspeed are afaik the only two stats not fetchable (dynamically) from the API (without hardcoding). ^_^

edit: but if anyone finds the factor 13.03 in some way in the API that would be awesome

Edited by Black Spawn
Link to comment
Share on other sites

×
×
  • Create New...