share/hedgewars/Data/Scripts/Utils.lua
author Wuzzy <almikes@aol.com>
Wed, 16 Nov 2016 18:02:22 +0100
changeset 11893 25a6faa5ac46
parent 4873 98dbb9b985e5
child 13215 bc95df84395f
permissions -rw-r--r--
Fix low gravity utility not working in Gravity script (fixes #13) Using low gravity halves the gravity. For using a range, both the minimum and maximum gravities are halved. Negative gravities are doubled. Bonus: game modifier “low gravity” will be force-disabled.

-- Library for miscellaneous utilitiy functions

-- Check if a gear is inside a box
function gearIsInBox(gear, x, y, w, h)
    gx, gy = GetGearPosition(gear)
    if gx >= x and gy >= y and gx <= x + w and gy <= y + h then
        return true
    end
    return false
end

-- Check if a gear is inside a circle
function gearIsInCircle(gear, x, y, r, useRadius)
    gx, gy = GetGearPosition(gear)
    if useRadius then
        r = r + GetGearRadius(gear)
    end
    if r ^ 2 >= (x - gx) ^ 2 + (y - gy) ^ 2 then
        return true
    end
    return false
end