From b34bf6590cb0e3a84c56fb6036b426d14c37d4ee Mon Sep 17 00:00:00 2001 From: Casper Warden <216465704+casperwardensl@users.noreply.github.com> Date: Thu, 16 Nov 2023 23:40:33 +0000 Subject: [PATCH] Squish errors in GetCosts --- lib/classes/ObjectResolver.ts | 65 +++++++++++++++++++---------------- package.json | 2 +- 2 files changed, 37 insertions(+), 30 deletions(-) diff --git a/lib/classes/ObjectResolver.ts b/lib/classes/ObjectResolver.ts index f9a2857..4a311f0 100644 --- a/lib/classes/ObjectResolver.ts +++ b/lib/classes/ObjectResolver.ts @@ -391,44 +391,51 @@ export class ObjectResolver const that = this; const getCosts = async function(objIDs: UUID[]): Promise { - if (!that.region) + try { - return; - } - const result = await that.region.caps.capsPostXML('GetObjectCost', { - 'object_ids': objIDs - }); - const uuids = Object.keys(result); - for (const key of uuids) - { - const costs = result[key]; - try + if (!that.region) { - if (!that.region) + return; + } + const result = await that.region.caps.capsPostXML('GetObjectCost', { + 'object_ids': objIDs + }); + const uuids = Object.keys(result); + for (const key of uuids) + { + const costs = result[key]; + try { - return; - } - const obj: GameObject = that.region.objects.getObjectByUUID(new UUID(key)); - obj.linkPhysicsImpact = parseFloat(costs['linked_set_physics_cost']); - obj.linkResourceImpact = parseFloat(costs['linked_set_resource_cost']); - obj.physicaImpact = parseFloat(costs['physics_cost']); - obj.resourceImpact = parseFloat(costs['resource_cost']); - obj.limitingType = costs['resource_limiting_type']; + if (!that.region) + { + return; + } + const obj: GameObject = that.region.objects.getObjectByUUID(new UUID(key)); + obj.linkPhysicsImpact = parseFloat(costs['linked_set_physics_cost']); + obj.linkResourceImpact = parseFloat(costs['linked_set_resource_cost']); + obj.physicaImpact = parseFloat(costs['physics_cost']); + obj.resourceImpact = parseFloat(costs['resource_cost']); + obj.limitingType = costs['resource_limiting_type']; - obj.landImpact = Math.round(obj.linkPhysicsImpact); - if (obj.linkResourceImpact > obj.linkPhysicsImpact) - { - obj.landImpact = Math.round(obj.linkResourceImpact); + obj.landImpact = Math.round(obj.linkPhysicsImpact); + if (obj.linkResourceImpact > obj.linkPhysicsImpact) + { + obj.landImpact = Math.round(obj.linkResourceImpact); + } + obj.calculatedLandImpact = obj.landImpact; + if (obj.Flags !== undefined && obj.Flags & PrimFlags.TemporaryOnRez && obj.limitingType === 'legacy') + { + obj.calculatedLandImpact = 0; + } } - obj.calculatedLandImpact = obj.landImpact; - if (obj.Flags !== undefined && obj.Flags & PrimFlags.TemporaryOnRez && obj.limitingType === 'legacy') + catch (error) { - obj.calculatedLandImpact = 0; } } - catch (error) - {} + } + catch (error) + { } }; diff --git a/package.json b/package.json index 111c00c..f8f77fa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@caspertech/node-metaverse", - "version": "0.6.12", + "version": "0.6.14", "description": "A node.js interface for Second Life.", "main": "dist/lib/index.js", "types": "dist/lib/index.d.ts",