-- This file is provided under the Open Game License version 1.0a
-- For more information on OGL and related issues, see 
--   http://www.wizards.com/d20
--
-- For information on the Fantasy Grounds d20 Ruleset licensing and
-- the OGL license text, see the d20 ruleset license in the program
-- options.
--
-- All producers of work derived from this definition are adviced to
-- familiarize themselves with the above licenses, and to take special
-- care in providing the definition of Product Identity (as specified
-- by the OGL) in their products.
--
-- Copyright 2007 SmiteWorks Ltd.

function update()
    setValue(ranknode.getValue());
end

-- Helper function to get class skill status from state control
function isClassSkill()
	return true;
end

function checkAndSet(value)
    local newranks = value; -- halfranknode.getValue() * 0.5;
    -- Adjust ranks, fall through to previous values if negative or fractional
    if newranks >= 0 and newranks == math.floor(newranks) then
        ranknode.setValue(newranks);
    end
end

function onValueChanged()
	checkAndSet(getValue());
end

function onWheel(notches)
	checkAndSet(getValue() + notches);
	return true;
end

function onInit()
	ranknode = window.getDatabaseNode().createChild("ranks", "number");
	ranknode.onUpdate = update;
end
