MOBA lanes
Runs a lane match with minion waves, towers, inhibitors, a nexus, jungle camps, bots, gold, farming, levels, respawns and a fountain, on a full five-versus-five map or shorter arenas.
MOBA lanes (moba.lanes) #
What it is for #
Runs a lane match with minion waves, towers, inhibitors, a nexus, jungle camps, bots, gold, farming, levels, respawns and a fountain, on a full five-versus-five map or shorter arenas.
It needs combat.attacks, combat.health, combat.damage, minion.waves, game.engine; installing it brings them in.
Turn it on #
Install the kit in a project, then change a setting (the values shown are its defaults):
gripforge_gamekit_install { project_id: "gkp_…", id: "moba.lanes" }
gripforge_gamekit_configure { project_id: "gkp_…", id: "moba.lanes",
config: { "map": "lane_arena", "teamSize": 3 } }
First example #
The kit has no dedicated test yet; this installs it and sets two of its settings to their defaults.
gripforge_gamekit_install { project_id: "gkp_…", id: "moba.lanes" }
gripforge_gamekit_configure { project_id: "gkp_…", id: "moba.lanes",
config: { "map": "lane_arena", "teamSize": 3 } }
Settings and defaults #
Descriptions come from the kit manifest and stay in English.
| Setting | Type | Default | Range or values | Meaning |
|---|---|---|---|---|
map | string | "lane_arena" | moba_maps id: rift_valley (full 5v5), lane_arena (1 lane, 3v3), three_lanes (5v5) or a project map. | |
teamSize | integer | 3 | 1–5 | Heroes per team (the player takes one). |
botRetreatHealth | number | 0.3 | 0.05–0.8 | |
botReturnHealth | number | 0.9 | 0.3–1 | |
monsterLeash | number | 10 | 3–40 | |
unitSeparation | number | 1.35 | 0–4 | Local separation in metres; respects navigation walls. |
bots | boolean | true | Fill both teams with bot heroes. | |
playerTeam | string | "blue" | blue, red | |
heroHealth | number | 620 | 50–10000 | |
heroDamage | number | 32 | 1–1000 | |
heroRange | number | 2.2 | 1–12 | Basic attack reach of bot heroes (m). |
heroSpeed | number | 5 | 1–12 | |
respawnBase | number | 6 | 0–60 | Respawn seconds at level 1 (+2 per level). |
heroScale | number | 1.7 | 0.3–5 | Hero size, a factor over the 1.8 m standard character (top-down MOBAs read best around 1.5-2). |
monsterScale | number | 1.5 | 0.3–6 | Jungle monster size (epic x1.6). |
firstWave | number | — | 0–600 | Deprecated: set firstWave on minion.waves. |
waveInterval | number | — | 1–600 | Deprecated: set interval on minion.waves. |
siegeEvery | number | — | 0–50 | Deprecated: set composition on minion.waves. |
waveGrowth | number | — | 0–2 | Deprecated: set scaling on minion.waves. |
minionScale | number | — | 0.2–6 | Deprecated: set scale on minion.waves. |
minionSpacing | number | — | 0.5–6 | Deprecated: set spacing on minion.waves. |
teamRings | boolean | false | A team-coloured ring on the ground under every unit (off: health bar colours tell the teams apart). | |
goldPerSecond | number | 2 | 0–100 | Passive gold of every hero per second, from the first wave. |
startingGold | integer | 500 | 0–10000 | Gold available for a starter item at the fountain. |
pathfinding | string | "grid" | grid, navigation | world.navigation path and next: grid, the walk grid A* (as 1.8.0); navigation asks the ai.navigation service (when mounted) for a… |
Services, events, variables #
- Service
lanes.routes: The lanes as routes and the two teams, for the minion kit. - Service
world.navigation: walkable, project and clear on the map's walk grid; path and next (the next corner to head for) by the walk grid A*, or routed by ai.navigation when it is mounted and config pathfinding is navigation. - Service
world.waterways: The divider as a water body (a river, or lava) for the Water kit. - Service
world.thickets: The stealth bushes as thickets, for the Grass kit (tall grass grows there). - Service
world.occluders: The jungle walls as sight blockers, for the Vision kit. - Service
world.clearings: Bases, buildings and camps a scenery kit keeps clear. - Service
combat.targeting: canTarget (protected structures, neutral camps), radius, category. - Service
moba.match: map, teams, heroes (level, gold, dead), structures (alive, vulnerable), wave, winner, spendGold, marks() → { rings, bars } (the health bar over every living unit the player sees, a team ring under it with teamRings: what every renderer marks). - Service
world.ground: The shared arena height, its bounds and the player spawn at their fountain. - Events emitted:
moba.wave(wave,lanes) — A minion wave left (minion.wave repeated with the number of lanes of the map).moba.attack(source,target,ranged,synchronized,kind) — Every basic attack of a minion, tower, monster or bot (animation, projectile, sound).moba.structure.destroyed(structure,kind,team,lane)moba.hero.killed(hero,by,team)moba.levelup(hero,level)moba.item.bought(hero,item,cost)moba.last_hit(hero,gold,player) — The player took the last hit on a minion that paid gold.moba.victory(team,player)
- Events listened to:
combat.killed,combat.damaged,minion.wave,minion.killed - Variables:
moba.gold(number) — Goldmoba.cs(number) — Minion last hitsmoba.items(string) — Items (ids, comma separated)moba.level(number) — Levelmoba.xp(number) — Experiencemoba.xp.next(number) — Experience to next levelmoba.respawn(number) — Respawn inmoba.time(number) — Match timemoba.wave(number) — Wavemoba.score.blue(number) — Blue killsmoba.score.red(number) — Red killsmoba.towers.blue(number) — Blue towersmoba.towers.red(number) — Red towersmoba.winner(string) — Winner
Hooks and modding #
- Hooks (a game or a mod can intercept them):
moba.match.end(fields a tap may change:team; cancellable) — A nexus fell (structure is its map id, by the killer entity or an empty string) and the match is about to end with team as the winner.moba.reinforce(fields a tap may change:count; cancellable) — An inhibitor fell (structure) and the attackers (team) are about to get count super minions at the head of every wave of that lane (minion.waves.setReinforcements).moba.reward(fields a tap may change:gold,xp; cancellable) — A hero killed a unit of the match (kind: tower, inhibitor, nexus, small, epic or hero; minions are paid by minion.waves) and is about to receive gold, and xp shared with the allied heroes nearby.moba.hero.respawn(fields a tap may change:delay) — A hero died (by is the killer entity or an empty string) and is about to wait delay seconds before coming back at the fountain (respawnBase + 2 per level).moba.item.buy(fields a tap may change:cost; cancellable) — A hero (bot or player) is about to buy item for cost, with gold in hand: asked once the hero, the item, the fountain and the free slot are checked, before the gold check (a lowered cost may become…
- Moddable settings:
map,teamSize,bots,playerTeam,botRetreatHealth,botReturnHealth,monsterLeash,unitSeparation,heroHealth,heroDamage,heroRange,heroSpeed,respawnBase,heroScale,monsterScale,teamRings,goldPerSecond,startingGold,pathfinding - Moddable collections:
moba_maps,moba_items
Engines #
Declared targets: web, rust. gripforge kit api moba.lanes lists the exact settings and services of your version.
Versions #
Kit version 1.10.0.