Designing a Bestia
A step-by-step method that turns a level into the attributes, HP, attacks, EXP and loot of a new bestia. Every number is measured against a master of the same level.
bestia/species-data-model branch of bestia-behemoth, see Server support.A new bestia needs about twenty numbers: six attributes, HP, mana, EXP, an attack list and drop chances. Picked by hand, they drift apart. A bestia ends up too strong for its level, or worth too little EXP for the trouble.
This page gives one method for all of them. The idea is simple: a Lv 10 bestia is measured against a Lv 10 master. The method fits the bestia to a target fight, then pays for the fight it produces with EXP and loot. Each step is a formula, so it can be run by hand or by the Bestia Blueprint Calculator at the end of this page.
The tables on this page are read from data/bestia_blueprint.yaml. Change a number there and this page follows.
flowchart LR A[Level and tier] --> B[Reference master] B --> C[Attributes from a role] C --> D[Attacks] D --> E[Fit damage and HP] E --> F[Threat] F --> G[EXP and loot] G --> H[Compendium entry] H --> I[Equipment]
1. Level and tier
Pick the level from where the bestia should live. The world generator places dens in four level bands, and a species only fills dens close to its own level. A den spans its centre ±4 levels.
| Den level | Where | Creatures per km² | Pack size |
|---|---|---|---|
| 1-8 | Starter ring around home towns | 200 | 25 |
| 9-40 | Between the starter ring and the wilds | 120 | 20 |
| 41-79 | The wilderness proper | 60 | 12 |
| 80-100 | Corrupted land and boss dens | 25 | 6 |
Then pick a tier. A tier says how many players the bestia is built for. It scales the targets of step 3, so a higher tier is a longer and harder fight, not a different formula.
| Tier | Built for | Player swings | Damage per second | Attribute budget | Active attacks | EXP per swing |
|---|---|---|---|---|---|---|
| Critter | 1 player | × 0.5 | × 0.3 | × 0.5 | 0 | × 1 |
| Normal | 1 player | × 1 | × 1 | × 0.8 | 1 | × 1 |
| Elite | 2-3 players | × 5 | × 1.3 | × 1 | 2 | × 1.75 |
| Boss | 5+ players | × 85 | × 2 | × 1.3 | 4 | × 2.5 |
- Critter: wildlife that fights back weakly. It is a lesson for new players, not a threat.
- Normal: the bestia a player fights alone. Everything else is defined relative to it.
- Elite: a pack leader or a rare spawn. About 30 swings, 10 to 15 for each player. A player alone loses to it.
- Boss: built for a group. About 500 swings, 100 for each of five players: a fight of about two minutes, like an
MVP in Ragnarok Online. It sets
boss: truein the mob YAML.
2. The reference master
Every check on this page is a fight against a reference master of the same level. It is built from the real server rules, so it changes when they do:
- Attribute points: 84 at creation, plus
5 + floor(level / 2)for every level reached. - Spending: each point goes into the attribute that lags furthest behind. The cost of a point rises with the
value,
max(1, next / 3), the same as for a player. At Lv 1 this gives the even 9/9/9/9/9/9 spread of a new master. - Gear: the novice knife (weapon ATK 10) and the starter kit (hard DEF 5), the same pair
BlobBalanceTestuses. Weapons and armour have no item level yet. So the method assumes +1 weapon ATK and +0.375 hard DEF per level until they do. Hard DEF is a percentage cut, so a Lv 90 master takes 38 % less damage. That is between a caster (about 27 %) and a melee in full armour (about 50 %). - HP and attack speed: the master’s own formulas, see Status Values.
| Level | Attributes (STR/VIT/INT/AGI/DEX/WIL) | HP | ATK | Soft DEF | FLEE | Weapon ATK | Hard DEF | Seconds per swing |
|---|---|---|---|---|---|---|---|---|
| 1 | 9/9/9/9/9/9 | 18 | 13 | 11 | 111 | 10 | 5 | 1.34 |
| 10 | 13/13/12/12/12/12 | 37 | 21 | 19 | 124 | 19 | 8 | 1.32 |
| 50 | 32/31/31/31/31/31 | 137 | 60 | 55 | 187 | 59 | 23 | 1.18 |
| 100 | 56/56/56/56/56/55 | 304 | 110 | 103 | 267 | 109 | 42 | 1.01 |
An even spread is a choice. A real player specialises and hits harder. But an even master is the fair middle: a specialised player finds a normal bestia easy, and a crafter finds it hard.
3. The target fight
The method needs one definition of a fair fight. It uses the pace of Ragnarok Online’s classic era: a same-level monster takes a few swings to kill and hurts enough that two at once are a real risk.
| Measure | Minimum | Target | Maximum |
|---|---|---|---|
| Swings the master needs to kill it, misses included | 5 | 6 | 8 |
| Share of the master’s HP it takes in that fight | 30 % | 45 % | 60 % |
At the target, a player can take two fights before resting. The two numbers become two targets for the bestia:
- Defence: HP so the master needs
6 × tier defenceswings. - Offence: damage per second so that a normal fight costs 45 % of the master’s HP. That is
0.45 × masterHP / (6 × masterSwingSeconds) × tier offence.
Damage per second counts everything the bestia does: default attacks, spells, damage over time, buffs and the time it spends casting. A bestia that casts a strong spell does not get a free default attack on top of it.
4. Attributes from a role
The budget. A bestia gets a share of the master’s attribute total:
The role splits the budget by weight, and decides which attacks the species learns.
| Role | STR | VIT | INT | AGI | DEX | WIL | Default attack | Default share | Plays like |
|---|---|---|---|---|---|---|---|---|---|
| Balanced | 1 | 1 | 1 | 1 | 1 | 1 | melee | 50 % | No weak spot and no strong one. The reference for every other role. |
| Brute | 3 | 1.5 | 0.3 | 1 | 1.2 | 0.5 | melee | 65 % | Hits hard and often, goes down fast once you get through. |
| Tank | 1.5 | 3 | 0.5 | 0.4 | 0.8 | 1.2 | melee | 60 % | Soaks damage, heals itself, wins by outlasting. |
| Skirmisher | 1.2 | 0.6 | 0.3 | 3 | 2 | 0.8 | ranged | 60 % | Fast and hard to hit, fights from range. |
| Caster | 0.3 | 0.8 | 3 | 0.8 | 1 | 2 | melee | 25 % | Weak in melee, dangerous with spells while the mana lasts. |
| Support | 0.3 | 1.2 | 2 | 0.6 | 0.8 | 2.5 | melee | 40 % | Heals and weakens. Alone it is slow to kill, in a pack it is the one to kill first. |
The default attack is then fitted. STR and DEX are raised or lowered together until the default attack deals its default share of the offence target. The other four attributes keep the role’s split, so a caster keeps its INT.
Fitting is needed because defence is subtracted, not divided. Near the target’s soft DEF a single point of STR can add 25 % to the damage of a swing. A budget split alone would land anywhere between harmless and deadly.
At low levels the fit often ends at STR 1. The master’s soft DEF absorbs every swing, and each hit does the minimum of 1. That is fine: the attacks carry the damage instead.
5. Attacks
The learnset
A species learns 20 attacks from Lv 1 to 100, 15 of them by Lv 70, as Bestias asks. Each of the 20 slots has a fixed learn level, and the role fills each slot with an archetype. The slot then takes an attack of that archetype from the Attack List:
| Slot | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| Learn level | 1 | 6 | 11 | 16 | 21 | 26 | 31 | 36 | 41 | 46 |
| Slot | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| Learn level | 51 | 56 | 61 | 66 | 70 | 76 | 82 | 88 | 94 | 100 |
| Archetype | Kind | Coefficient | Cast (s) | Cooldown (s) | Mana |
|---|---|---|---|---|---|
| Strike | physical | 1.3 | 0 | 4 | 2 + 1 × skill Lv |
| Power Strike | physical | 2 | 0.5 | 8 | 5 + 1.5 × skill Lv |
| Shot | physical, ranged | 1.4 | 0.5 | 5 | 3 + 1 × skill Lv |
| Bolt | magic | 1 | 1.5 | 4 | 8 + 2 × skill Lv |
| Damage over time | dot, area | 1 | 1 | 12 | 6 + 1 × skill Lv |
| Area | magic, area | 0.7 | 2 | 12 | 12 + 2 × skill Lv |
| Finisher | magic | 2.5 | 3 | 30 | 30 + 4 × skill Lv |
| Heal | heal | 1 | 1.5 | 20 | 10 + 2 × skill Lv |
| Buff | buff | 25 % for 15 s | 0.5 | 30 | 8 + 1 × skill Lv |
| Debuff | debuff | 20 % for 10 s | 1 | 20 | 8 + 1 × skill Lv |
- Skill level: an attack is locked at the level it was learned with,
1 + floor(learnLevel / 10), up to 10. This is the bestia side of the rule that a master levels a spell but a bestia does not. - Which attack: the strongest one the slot’s level can already learn. An attack that deals damage must have the species element or NORMAL, and one of the species element comes first. A species has exactly one element. Each attack is used once.
- Only listed attacks: a slot the Attack List has no attack for stays empty. To fill it, add an attack to the Attack List; the calculator reads it live.
The active attacks
A wild bestia does not use all it knows. Its AI profile lists a few active attacks: the newest ones it knows, one per archetype. The tier sets how many. Between them it uses its default attack, melee or ranged as the role says. These are the attacks the fit and the fight below use.
The default attack is never in the AI profile. The mob YAML sets it with default-attack: MELEE, RANGED (six
tiles) or BOTH. It needs no skill. A bestia also falls back to it when it cannot use an attack skill.
How often it attacks is the species’ ASPD, aspd in the mob YAML, 80 if it is not set. AGI and DEX shorten the
time between attacks, as they do for a master. At 80 a slow critter like the blob attacks every 2.3 s, close to
Ragnarok Online’s Poring. An unarmed master has 130 and swings every 1.3 s; a quick hunter can be set closer to that.
The AI profile
Behaviour lives in AI profiles, zone-server/src/main/resources/ai/*.yml. Most species share one of a handful:
passive_wanderer: fights back when hit.passiv_day_active: passive by day, holds a grudge.aggressive_melee: attacks on sight.
The calculator offers this list from data/bestia_blueprint.yaml. It changes rarely, so it is kept by hand: a new
profile in bestia-behemoth gets a line there in the same change. A species that needs its own behaviour, such as a
pack hunter or a boss with phases, picks custom and describes the behaviour in words. The blueprint then asks
for a new profile named after the species, written while the mob is implemented, starting from the closest existing
one. Once a custom profile proves useful for more than one species, it joins the list.
Attack power
Skill scripts scale with the attacker’s level and skill level. Firebolt deals (lv/4 + INT) · skillLv, and the
skill level itself grows with the learn level. So spell damage grows with roughly the square of the level, while the
master’s HP grows about linearly. No attribute can hold that back.
So the attacks get one shared attack power coefficient. It is solved so that the whole rotation meets the offence target. The blueprint gives it per attack, and the script of a new attack uses it like this:
| Kind | Damage of one use | Defence |
|---|---|---|
| physical | 2 · ATK · coef, then like the default attack (ranged uses RATK) | hard and soft DEF |
| magic | ((lv/4 + INT) · skillLv + MATK) · coef − SoftMDEF, never misses | soft MDEF |
| dot | (lv/8 + INT/2 + MATK/4) · skillLv · coef per tick, 8 ticks of 1.2 s | none |
| heal | (lv + INT)/8 · (4 + 8 · skillLv) · coef on itself | — |
The magic row is Firebolt with the coefficient over the whole attack side. On Firebolt’s MATK term alone, a high-INT caster could not be tuned down.
6. HP, mana and the balance check
HP is solved last. It is set so the master needs the target number of swings. The fight includes the bestia’s heals and debuffs, so a bestia that heals itself gets less raw HP for the same fight length.
Mana uses the documented formula from Status Values, with the role’s base value and a wild IV of 50. Mana regenerates every 8 s. A caster that runs dry falls back to its default attack, and the fight shows that.
The fight is simulated in steps of 50 ms, with expected values instead of dice: every swing deals its average damage times its hit chance. The bestia heals below 50 % HP, keeps its buff and debuff up, and otherwise casts the hardest-hitting attack that is ready. Hit chance, crits, attack speed and defence are the server’s formulas, see Battle System.
Threat compares the result with a normal bestia of the same level, the way the D&D 5e monster rules average a defensive and an offensive rating:
A normal bestia that hits its targets has a threat of 1. An elite is near 2.5, a boss near 13. A bestia that was given more HP or a stronger spell than the fit asked for shows it here, and is paid for in EXP.
7. Element, size and defences
Element level follows the level: 1 up to Lv 25, 2 up to Lv 50, 3 up to Lv 75 and 4 above. A boss gets one more,
up to 4. The element decides what the bestia takes from every attack element. The table is the server’s
ElementModifier, which follows Ragnarok Online. An EARTH 1 bestia takes 150 % from fire and 50 % from wind.
The element changes the fight. A GHOST bestia takes 25 % from the master’s NORMAL swings, and soft DEF is subtracted after that. Only a few points get through, so the fit gives it about a tenth of the HP of a NORMAL one. A player without an elemental weapon still needs the same six swings, but a player with one wins much faster.
Size is SMALL, MEDIUM or BIG. The server stores it but does not apply the Ragnarok Online size table yet: that table weighs a weapon type against a size, and weapons have no type yet.
Defences beyond attributes are design intent for now:
- Hard DEF and MDEF come only from equipment, so every mob has 0. A shelled or armoured species should note a hard DEF in its blueprint for the day mobs get one.
- Status immunities: a boss should resist Stun, Freeze and Petrify, or a group can lock it down for the whole fight.
8. Rewards: EXP and loot
EXP
The base comes from Bestias and is scaled by the threat:
This is the experience value of the mob YAML. The kill-time bonuses from Bestias
(+200 % for a boss, +10 % per element level) come on top when the kill happens. They are not part of the YAML value.
The group factor pays for a long fight, and rewards it. Threat grows with the square root of the swings. On its own, a boss that takes 85 times the swings would give only 13 times the EXP. So for an elite or a boss, the group factor makes a kill at the tier’s targets pay more EXP per swing than a normal bestia of the same element, kill-time bonuses included. How much more is the tier’s EXP per swing from step 1: 1.75 for an elite and 2.5 for a boss, so hunting them is worth the trouble.
Defence and offence are the tier’s too. The bonuses add up rather than multiply, which is why the element bonus appears at all. The factor is about 3.4 for an elite and 5.4 to 6.7 for a boss. It is 1 for a critter and a normal bestia.
Worth in normal kills compares one kill, bonuses included, with a normal bestia of the same level and element. At its targets an elite is worth about 9 kills for 5 times the swings, and a boss about 210 kills for 85 times the swings.
Loot
Loot is a second reward, so it is paid for like the first one. A kill has a loot budget in coins, worth about its EXP:
A Lv 1 kill is worth about one loaf of bread (9 coins).
A drop is an item from the Items List and a chance in percent. The item brings its
reference value, so nobody prices a drop by hand. The mob YAML stores the chance in basis points (60 % is 6000). The
expected value of a drop table is Σ chance × value, and the loot score is that value divided by the budget: 1
means the bestia drops what it should.
The chance also says what kind of item fits:
| Drop tier | Chance | Typical drop |
|---|---|---|
| Common | 30 - 80 % | Body part or resource the bestia is made of |
| Uncommon | 5 - 15 % | Better part, simple consumable |
| Rare | 0.5 - 2 % | Equipment, spell scroll, crafting catalyst |
| Very rare | 0.01 - 0.1 % | Signature equipment, collectibles |
Surplus loot is paid for. A designer decides how, with one slider:
- Less EXP:
exp × 1 / (1 + 0.5 · surplus), never below half. - Tougher: HP up by
15 % · surplus, at most 30 %.
A score of 2 (twice the budget) costs a third of the EXP, or adds 15 % HP. A bestia that drops almost nothing gives up to 10 % more EXP.
Three rules come before the numbers:
- Loot must make sense. A wolf drops fur and fangs, not iron ore, see Resources.
- Rare drops are rare. A very rare drop with a huge value hides inside an average. Check the single item too: one drop worth more than 100 times the loot budget is a jackpot, and players will farm that bestia and nothing else.
- Loot is money. Players sell loot to NPCs, and NPC purses are finite, see Money Supply. Monster loot is still an unbounded faucet of items, so the budget stays modest.
9. The compendium entry
Every bestia gets an entry for a future Bestia Compendium, the in-game book of known species. The Sense skill already reveals status values, element, HP and mana. The compendium is where a player keeps what they have learned.
| Field | Content |
|---|---|
| Name | Burrow Boar |
| Kind | What the species is, from the list below. Two bestias only breed within a kind |
| Description | 1 to 3 sentences, at most 300 characters |
| Habitat | Biomes and a temperature range |
| Activity | Day, night or any |
| Temperament | What its AI profile does: passive, fights back, attacks on sight |
| Kind | For |
|---|---|
BEAST | Four-legged animals: boars, wolves, bears |
BIRD | Feathered and winged animals |
REPTILE | Lizards, snakes, toads and other cold-blooded animals |
AQUATIC | Fish, crabs and anything that lives in water |
INSECT | Insects, spiders, worms |
PLANT | Living plants and fungi |
FORMLESS | Blobs, slimes and other creatures without a fixed shape |
ELEMENTAL | Living stone, fire, water or wind |
HUMANOID | Two-legged, tool-using people: goblins, bandits, townsfolk |
UNDEAD | The dead that walk: skeletons, ghosts, wraiths |
DEMON | Creatures of the void and corrupted land |
DRAGON | Dragons and their lesser kin |
The description is flavour that helps. It says what the bestia looks like and how it behaves, and gives one hint a player can use: a weakness, where it lives or what it drops. It contains no numbers, because numbers change and flavour text does not get updated.
Burrow Boars root up whole fields overnight and sleep through the day in their burrows. Tanners prize their thick hides. They hate the wind, and a gust will send one bolting.
Where the text lives
Players read the text in their own language, so it is translated in the client, not on the server. It is still written next to the stats it describes, so it cannot drift away from them:
- The mob YAML holds the English
nameanddescription. ./gradlew :zone-server:syncBestiaDbcopies them intobestia-client/src/Localization/bestias.csv, underBESTIA_<ID>andBESTIA_<ID>_DESC. It also writes the keys and the kind into the species’BestiaResource. A kind’s display name is the rowBESTIA_KIND_<KIND>.- Translators fill the other language columns of
bestias.csv. The sync only ever writes theencolumn. checkBestiaDbruns in./gradlew checkand fails when the CSV or aBestiaResourceno longer matches the YAML.
This is the same workflow skills.yml descriptions use. The server reads none of the text.
10. Equipment
A tamed bestia wears equipment like its master, but only what its body allows. Two lists in the mob YAML say what that is:
equip-slots: which of the master’s ten slots the species has. A blob has no head, so it has no head slots.armor-types: which armor types it can wear. A blob keeps a cloth cape on, but plate slides off it.
The server refuses anything else. Weapons and accessories have no armor type, so for them only the slot counts. None of this changes the numbers above. A wild bestia wears nothing, so the method measures it without gear.
The kind is the starting point. The calculator fills both lists from this table, and a species can differ from it: a ghost is UNDEAD, but wears nothing.
| Kind | Slots | Armor types | Why |
|---|---|---|---|
BEAST | Upper head, Armor, Garment, Accessory 1, Accessory 2 | Cloth, Light, Medium, Heavy | Barding, a saddle cloth and a collar. No hands and no shoes. |
BIRD | Upper head, Garment, Accessory 1, Accessory 2 | Cloth, Light | Body armor would keep it from flying. |
REPTILE | Upper head, Armor, Accessory 1, Accessory 2 | Light, Medium | A low body that slides out of anything loose. |
AQUATIC | Upper head, Armor, Accessory 1, Accessory 2 | Light, Medium | Cloth soaks through, plate sinks. |
INSECT | Upper head, Armor, Accessory 1, Accessory 2 | Light, Medium | Too many legs for shoes. |
PLANT | Upper head, Garment, Accessory 1, Accessory 2 | Cloth | Something draped over its leaves. |
FORMLESS | Garment | Cloth, Light | No body to strap armor to. A light cape is all that stays on. |
ELEMENTAL | Accessory 1, Accessory 2 | None | Fire burns cloth, wind blows it away. Only charms. |
HUMANOID | All | Cloth, Light, Medium, Heavy | Built like a master, so it wears what a master wears. |
UNDEAD | All | Cloth, Light, Medium, Heavy | A skeleton still wears its old armor. |
DEMON | All | Cloth, Light, Medium, Heavy | Most walk upright and wear anything. |
DRAGON | Upper head, Armor, Accessory 1, Accessory 2 | Medium, Heavy | Scale barding. Too big for anything light. |
Worked example: a Lv 2 Burrow Boar
A starter-ring bestia that a new player should be able to fight alone. Lv 2, normal tier, brute, EARTH 1.
| Step | Result |
|---|---|
| Master | Lv 2: STR 10, VIT 10, rest 9; 20 HP; 1.34 s per swing |
| Targets | 6 swings; 1.12 damage per second, so a fight of about 8 s costs 9 of the master’s 20 HP |
| Attributes | STR 8, VIT 9, INT 2, AGI 6, DEX 2, WIL 3 |
| Attacks | default melee attack every 2.34 s (ASPD 80), plus Tackle (learned at Lv 1), attack power 0.83 |
| HP, mana | 135 HP, 29 mana |
| Fight | 6.0 swings, 35 % of the master’s HP; 0.44 damage per second from melee, 0.64 from Tackle; threat 0.98 |
| Loot | Raw Hide 60 % (6 coins), Raw Meat 30 % (4 coins), Medicinal Herb 2 % (5 coins): 4.9 coins against 13 |
| EXP | (4 · 2 + 5) · 0.98 · 1.06 = 14, and 15 at kill time with the element bonus |
| Equipment | BEAST preset: upper head, armor, garment and both accessories; any armor type |
If the boar also dropped a Rough Gemstone (400 coins) 5 % of the time, the loot score would rise to 1.95. With the slider on less EXP the boar gives 9 EXP. With the slider on tougher it keeps 13 EXP and gets 154 HP.
The blob, measured. mob/blob.yml (Lv 3, 10 HP, STR 6) dies to less than half a swing from a Lv 3
master. Its threat sits at the floor of 0.25, and the method gives it 5 EXP, the value its YAML already has. By
this method the blob is a critter, which is what it is meant to be.
Server support
The bestia/species-data-model branch of bestia-behemoth gives the mob YAML what this method fills in:
kind, from the list in the compendium entry. Required.elementwith its level (EARTH,EARTH_2) andsize. Every hit on a mob is weighed against its element.learnset, a list of{ skill, level }byskills.ymlidentifier. A bestia, wild or owned, knows each attack once it reaches the level.default-attack:MELEE,RANGEDorBOTH, andaspd, how fast it is. The AI profile lists attack skills only.nameanddescription, the English source of the text, see Where the text lives.armor-typesnext to the olderequip-slots, see step 10. Armor initems.ymlhas anarmor-type.
The same branch makes a wild mob fight at its own level instead of Lv 1, gives it its authored mana, so casting can run it dry, and switches the server’s EXP curve to the one in Bestias.
Still open:
- Size is stored but not applied, see step 7.
- Hard DEF, hard MDEF and status immunities for mobs have no field. Note them in the blueprint’s defence notes.
- Mob HP stays a number in the YAML rather than the HP formula. That is on purpose: this method solves HP to the fight it wants.
- There is no compendium window in the client yet. The text and the kind are in its bestia DB, ready for one.
- The client does not grey out armor a bestia cannot wear yet. Both lists are in its bestia and item DBs, ready for a bestia equip window. Until then the server refuses it with a message.
Prior art
- D&D 5e, Dungeon Master’s Guide, “Creating a Monster”: a monster gets a defensive and an offensive challenge rating from tables by level, and the two are averaged. The threat above is the same move. See also Designing Monsters.
- Pokémon base stats: a species has a fixed stat total split by its battle role, and the split stays while the total grows. Bestia’s base values already copy this, see Base stats.
- Time to kill as the one number that sets a game’s pace, from the Warhammer Online design diaries and Sara Jensen Schubert’s GDC 2011 talk on RPG math.
- Ragnarok Online: fixed EXP per monster, drop chances in basis points, and the element and size tables the server already uses, see iRO Wiki: EXP.
Bestia Blueprint Calculator
This calculator runs the method above. Pick a level, a tier and a role. It fits the attributes, attack power and HP so that a master of the same level gets the target fight, then prices the fight in EXP and loot.
Work through the steps from top to bottom. Each step has the fields you fill in, then a grey Result panel that shows what they do. The bar at the top keeps HP, EXP and threat in view while you scroll. A badge says when a result leaves its target band, and a warning in the Balance step says why. There you can also set the stats by hand and see what they do to the balance and the EXP.
Attacks and loot come from the Attack List and the Items List. A drop only needs an item and a chance; its value comes from the list.
When the bestia is done, Copy LLM prompt gives a prompt with the blueprint as JSON. Paste it into a coding
assistant in bestia-behemoth to create the mob file, AI profile, attacks and translations. Load JSON takes an
exported blueprint back into the form.
1Level and tier method
Where it lives sets the level. The tier says how many players it is built for.
2Role method
The role splits the attribute budget and decides which attacks it learns.
3Element, size and defences method
The element decides what it takes from every attack element, and which attacks it can learn.
4Attacks and behaviour method
Pick how it behaves and which of its attacks the AI uses. The attack power is fitted to them.
Tick the attacks its AI uses. Only attacks learned by its level can be active.
5Balance method
Nothing to fill in: HP and mana are solved so the fight hits its targets. Check it here.
6Loot and EXP method
Add its drops. Loot above its budget is paid for with less EXP or more HP.
| Item | Chance (%) | Value, tier |
|---|
8Equipment method
What it can wear once tamed. The kind fills in a preset. None of this changes the numbers.
9Export
Take the blueprint to bestia-behemoth, or load one to keep working on it.
Last updated 05 Oct 2026, 23:42 +0200 .