Fixed content weightless carried containers weight

This commit is contained in:
Stefan Zermatten
2023-08-24 11:10:19 +02:00
parent b8387c5ab1
commit 7c2b7419d9
2 changed files with 26 additions and 26 deletions

View File

@@ -1,25 +1,25 @@
export default function aggregateInventory({node, linkedNode, link}){
export default function aggregateInventory({ node, linkedNode, link }) {
let linkedProp = linkedNode.data || {};
const prop = node.data;
switch (link.data){
switch (link.data) {
case 'attunedItem':
prop.baseValue = (prop.baseValue || 0) + 1;
return;
case 'equippedItem':
if (node.id === 'weightEquipment'){
if (node.id === 'weightEquipment') {
prop.baseValue = (prop.baseValue || 0) + weight(linkedProp);
} else if (node.id === 'valueEquipment'){
} else if (node.id === 'valueEquipment') {
prop.baseValue = (prop.baseValue || 0) + value(linkedProp);
}
return;
case 'containerContents':
// Add this property's weights and values to the container
if (!prop.weightless){
if (!prop.weightless) {
prop.contentsWeight = (prop.contentsWeight || 0) + weight(linkedProp);
if (prop.carried){
if (prop.carried && !prop.contentsWeightless) {
prop.carriedWeight = (prop.carriedWeight || 0) + carriedWeight(linkedProp);
}
}
@@ -30,39 +30,39 @@ export default function aggregateInventory({node, linkedNode, link}){
return;
case 'inventoryStats':
if (node.id === 'weightTotal'){
if (node.id === 'weightTotal') {
prop.baseValue = (prop.baseValue || 0) + weight(linkedProp);
} else if (node.id === 'valueTotal'){
} else if (node.id === 'valueTotal') {
prop.baseValue = (prop.baseValue || 0) + value(linkedProp);
} else if (node.id === 'weightCarried'){
} else if (node.id === 'weightCarried') {
prop.baseValue = (prop.baseValue || 0) + carriedWeight(linkedProp);
} else if (node.id === 'valueCarried'){
} else if (node.id === 'valueCarried') {
prop.baseValue = (prop.baseValue || 0) + carriedValue(linkedProp);
}
return;
}
}
function quantity(prop){
if (typeof prop.quantity === 'number'){
function quantity(prop) {
if (typeof prop.quantity === 'number') {
return prop.quantity;
} else {
return 1;
}
}
function weight(prop){
function weight(prop) {
return (prop.weight || 0) * quantity(prop) + (prop.contentsWeight || 0);
}
function carriedWeight(prop){
function carriedWeight(prop) {
return (prop.weight || 0) * quantity(prop) + (prop.carriedWeight || 0);
}
function value (prop){
function value(prop) {
return (prop.value || 0) * quantity(prop) + (prop.contentsValue || 0);
}
function carriedValue (prop){
function carriedValue(prop) {
return (prop.value || 0) * quantity(prop) + (prop.carriedValue || 0);
}