Koja Scripts
JOBS

Skills

Defines the entire skill tree displayed in the Upgrades panel.

Skills

File: shared/config.luaConfig.Skills

Defines the entire skill tree displayed in the Upgrades panel. Skills are organized into categories (table keys), each containing an ordered list of skill nodes.

Skill node fields

Every skill node shares the same structure:

KeyTypeDescription
idstringUnique identifier (referenced by other skills in requirements).
labelstringDisplay name shown in the UI.
descriptionstringShort tooltip text.
iconstringIcon name (Lucide icon set used in the React UI).
position{x, y}Position on the skill tree canvas (pixels).
requirements{skills={}}List of skill ids that must be unlocked first.
upgradestableReserved for future multi-tier upgrades (usually {}).
pricenumberSkill point cost to purchase.
requiredLevelnumberMinimum player level required.
typestringEffect type applied when unlocked (see table below).
valuenumber|boolMagnitude of the effect (percentage as decimal, or true for toggles).

Effect types

TypeValue exampleDescription
none0No gameplay effect (e.g. welcome node).
mowing_speed0.15Increases mowing speed by 15%.
money_multiplier0.10Increases mission earnings by 10%.
exp_multiplier0.10Increases XP gain by 10%.
tool_speed0.20Increases manual task speed (hedges, flowers) by 20%.
van_speed0.20Improves company van acceleration/speed by 20%.
stamina_modetrueRemoves speed penalty when carrying bags.
mowing_range1.5Increases the mowing area radius.
mower_tool_upgradetrueReplaces the manual mower with a ride-on tractor.

Categories

welcome_tree

The root node — every player starts here.

{ id = 'welcome', label = 'Welcome!', type = 'none', value = 0, price = 0, requiredLevel = 1 }

mower

Mowing speed upgrades in three tiers: +15% → +30% → +50%.

money

Earnings multiplier: +10% → +25%.

exp

Experience multiplier: +10% → +25%.

tools

Manual task speed (hedge trimming, flower planting): +20% → +50%.

van

Company van performance: +20% → +50%.

strong_back

Single-tier toggle — removes the movement penalty while carrying garbage bags.

range

Mowing blade width: 1.5× → 3.0× radius.

tractor_upgrade

End-game upgrade — replaces the push mower with a ride-on garden tractor. Requires both range_2 and mower_3.

Example (single category)

Config.Skills = {
    mower = {
        {
            id = 'mower_1',
            label = 'Turbo Lawnmower I',
            description = 'Increases mowing speed by 15%.',
            icon = 'Waves',
            position = { x = 240, y = 120 },
            requirements = { skills = {'welcome'} },
            upgrades = {},
            price = 1,
            requiredLevel = 2,
            type = 'mowing_speed',
            value = 0.15
        },
        -- mower_2, mower_3 …
    },
    -- other categories …
}
  • Company — Defines the gardener company — its name, NPC, map blip, job requirement, parking spots, vehicles, and equipment offsets.
  • Database — File: shared/config.lua → Config.Database
  • Locale & Debug — Key Type Default Description ------- --------- ------- ------------------------------------------------------------------- Debug boolean true Enables debug mode.
  • Levels — Controls the leveling progression for the gardener job.
  • Missions — File: shared/config.lua → Config.Missions
  • Uniforms — File: shared/config.lua → Config.Uniforms
  • Configuration — back to the section overview