From 6896dc155a610feaf77c3f720bfc2187442a8899 Mon Sep 17 00:00:00 2001 From: Applevangelist Date: Tue, 25 Apr 2023 09:12:25 +0200 Subject: [PATCH] #SCENERY * Added update of Life0 value if `GetLife()`is called #SET_SCENERY * Added Documentation --- Moose Development/Moose/Wrapper/Scenery.lua | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Moose Development/Moose/Wrapper/Scenery.lua b/Moose Development/Moose/Wrapper/Scenery.lua index 8fe17ecfe..6a6f70bd9 100644 --- a/Moose Development/Moose/Wrapper/Scenery.lua +++ b/Moose Development/Moose/Wrapper/Scenery.lua @@ -63,12 +63,18 @@ function SCENERY:GetDCSObject() end --- Get current life points from the SCENERY Object. +-- **CAVEAT**: Some objects change their life value or "hitpoints" **after** the first hit. Hence we will adjust the life0 value to 120% +-- of the last life value if life exceeds life0 (initial life) at any point. Thus will will get a smooth percentage decrease, if you use this e.g. as success +-- criteria for a bombing task. --@param #SCENERY self --@return #number life function SCENERY:GetLife() local life = 0 if self.SceneryObject then life = self.SceneryObject:getLife() + if life > self.Life0 then + self.Life0 = math.floor(life * 1.2) + end end return life end @@ -110,11 +116,13 @@ end --@param #number Radius (optional) Search radius around coordinate, defaults to 100 --@return #SCENERY Scenery Object or `nil` if it cannot be found function SCENERY:FindByName(Name, Coordinate, Radius) - + local radius = Radius or 100 local name = Name or "unknown" local scenery = nil + BASE:T({name, radius, Coordinate:GetVec2()}) + --- -- @param Core.Point#COORDINATE coordinate -- @param #number radius @@ -170,6 +178,7 @@ function SCENERY:FindByZoneName( ZoneName ) zone = ZONE:FindByName(ZoneName) end local _id = zone:GetProperty('OBJECT ID') + BASE:T("Object ID ".._id) if not _id then -- this zone has no object ID BASE:E("**** Zone without object ID: "..ZoneName.." | Type: "..tostring(zone.ClassName)) @@ -235,4 +244,4 @@ end --@return #SCENERY self function SCENERY:Destroy() return self -end \ No newline at end of file +end