Aller au contenu
Afficher dans l'application

Une meilleure façon de naviguer. En savoir plus.

Asterobot

Une application plein écran sur votre écran d'accueil avec notifications push, badges et plus encore.

Pour installer cette application sur iOS et iPadOS
  1. Appuyez sur Icône de partage dans Safari
  2. Faites défiler le menu et appuyez sur Ajouter à l'écran d'accueil.
  3. Appuyez sur Ajouter dans le coin supérieur droit.
Pour installer cette application sur Android
  1. Appuyez sur le menu à trois points (⋮) dans le coin supérieur droit du navigateur.
  2. Appuyez sur Ajouter à l'écran d'accueil ou Installer l'application.
  3. Confirmez en appuyant sur Installer.

Fight profiles

Make, copy, import, export, edit and delete the fight profiles your bots play, on the Fight Profiles page, with the default profile, Idle, the profiles packages ship and profiles that extend another.

Lire cette page en français

A fight profile tells the fight module how a bot plays: the role the character takes, the distance it fights at, which spells it prefers, which monsters it hits first, what it does when its life runs low. Each bot plays one profile, chosen on its Fight tab (The fight module), and one profile can serve as many bots as you like.

You don't need a profile to start. The default profile adapts to any character on its own, and a profile only needs the settings you want to change. A few lines, such as a role, a range and elements, already make a profile that adapts to any character of that kind; everything else is for making it yours.

Where profiles come from

Profile What it is Can you change it?
The default profile Every setting at its default. It isn't in the list: a bot plays it when its Profile is empty. No: it's what every setting falls back to.
Idle, Built-in Takes part in the fight and passes every turn after 5 seconds. Every part off, one rule. No. Copy it to change the delay or switch parts back on.
Yours Profiles you made, copied or imported. Each is a file in Asterobot's data folder. Yes.
A package's, Package Shipped by a package you installed, named after it, such as @some-author:fighters/fire-cra. No. Copy it to change it.

@asterobot:base, Asterobot's official package, ships 24 profiles ready to play: see Ready-made profiles in base.

The Fight Profiles page

Open Fight Profiles in Asteroboard's menu. The page lists every profile: Idle first, then yours by name, then those of your packages.

Column What it shows
Name The profile's name, the one a bot's Profile list shows.
Source Yours, Built-in or Package.
Status Ready, Can't be played when it has an error, or how many warnings it has. Hover over it to read them.

The filter above the table finds a profile by name. Each row has a menu:

Item What it does
Edit Opens your profile in the editor. View for Idle and a package's, which open read-only.
Copy Saves a copy under a name of your own, then opens it in the editor.
Export Downloads the profile as a .json file.
Delete Deletes one of your profiles, after asking. Idle and a package's can't be deleted.

The page stays current on its own when a profile is saved, imported or deleted, and when a package is installed or removed.

Make a profile

  1. Click New profile.
  2. Type a Name, then click Create.

The editor opens on the new profile. Every setting starts at its default, so it plays like a bot with no profile until you change something.

A name is also the profile's file name: it can't be empty, start with @, or contain a / or a character a file name can't hold. The dialog then shows fightprofiles: a profile's name can't be empty, start with @, or hold / or a character a file name can't. A name another profile has gives fightprofiles: a profile already has this name.

Copy a profile

Copy in a row's menu, or in the editor, opens a dialog with the name filled in as the original's followed by copy. Change it if you like, then click Copy. The copy is yours, with every setting the original had.

Copying is how you change Idle or a package's profile: the copy is a profile of yours that you can edit. To keep following a package's profile as it's updated while changing a few settings, extend it instead (see Extend another profile).

Share profiles

Export downloads the profile exactly as it's stored, as a file named after the profile, such as fire-cra.json. Characters other than letters, digits, ., - and _ become - in the file name.

To use a profile someone shared:

  1. Click Import.
  2. Pick the file under Profile file, or paste the JSON under Profile JSON. Picking a file fills in the text, so what you see is what's imported.
  3. Click Import.

The profile joins yours under the name it carries. When you already have a profile with that name, the dialog asks "You already have a profile named ... Replace it with this one?", and Replace it overwrites yours. Text that isn't JSON gives "This isn't valid JSON:" with the reason, and JSON that isn't an object gives "A profile is a JSON object." A profile Asterobot can't accept is refused with the reason, as when you save it.

A profile names spells, monsters and states by their game ids, which are the same for everyone playing the same game version, so a shared profile plays the same on another Asterobot.

Delete a profile

Delete asks first: "... will be deleted for good. Bots set to it will play the default profile." Bots set to it keep its name and play the default profile until you give them another one.

The editor

The editor shows the profile twice: the form on the left, section by section, and its JSON on the right. Both are live. A change in the form shows in the JSON at once, and JSON you type fills the form as soon as it reads as a profile.

The sections are General, Archetype, Play, Spells, Opening, Monsters, Rules and Weights. Profile settings describes every field, and Rules and conditions the rules.

  • Empty means default. A field you leave empty shows Default, or Inherited: with the value the extended profile gives it. The reset button next to a field you set empties it again.
  • Picking spells. Spells are chosen in Choose a spell: pick a class to list its spells, each beside its variant, with their AP cost, range and icon, followed by the spells of the summons those spells bring and the spells every class can learn. Type to filter them, or to search every other spell of the game by name.
  • Picking monsters, races and states. Type a few letters of the name, in the game's language, and pick it in the list. Monsters and states show their icon.
  • Saving. Save is greyed out until something changes. Leaving the page with unsaved changes asks "Leave without saving your changes?" first.
  • Renaming. Changing the Name in General and saving renames the profile: every bot playing it, and every profile of yours extending it, follows the new name.
  • What the form doesn't show. Some settings are written in the JSON only, such as an opening spell aimed at a target or a fighter targeted by its id in a rule. The form shows them as they're written and keeps them. Settings it doesn't know, written for a newer Asterobot, are kept too.

Names and icons come from the game data of the game version your Asterobot is made for, or of the newest version you extracted when that one isn't, in the language you use Asteroboard in. Icons appear once that version's game data has been extracted with them: after updating Asterobot, extract it again on the Game Manager page (Extract game data).

Errors and warnings

When you save, Asterobot checks the profile. A value it can't use stops the save, and the editor shows the reason with the field it's about, such as:

fight: malformed profile: spells[0].use: "sometimes" is not one of prefer, normal, avoid, never

The field is written the way the JSON is: spells[0] is the first entry of Spells. Fix it in the form or the JSON, and save again.

Other things don't stop it from playing, and show as warnings above the form, under Worth knowing:

Warning What it means
spell 12345: not in the game data, ignored An id the newest game version you installed doesn't have. The same for monster, monster race and state.
rules[0].when.self.something: no such subject: never holds A condition that this Asterobot doesn't know. It never holds.
weights.something: no such scoring term: ignored A weight with an unknown name.
version: 2 is newer than this module's 1: what it adds is ignored A profile written for a newer Asterobot.
extends: no profile has this name: its own fields play over the default profile The profile it extends is gone.
name: "...", but its file is "....json": it plays as "..." A file renamed by hand: the file's name wins.

A profile that can't be played at all, such as a file that isn't JSON or one whose extends itself extends another profile, shows Can't be played as it is with the reason. A bot set to it plays the default profile.

Extend another profile

Extends, in General, makes a profile start from another one: it takes every setting of that profile, and changes only the ones it sets itself. It's the way to follow a package's profile, or one of your own, and keep a few changes on top:

What the profile sets What it plays
A setting such as Role or Risk Its own value, instead of the extended profile's.
An object, such as Parts Field by field: the fields it sets replace the extended profile's, the others stay.
Spells and Monsters The extended profile's entries, then its own. An entry for a spell or a monster the extended profile already has replaces that entry.
Rules The extended profile's rules, then its own.
Weights The extended profile's weights, with its own replacing them by name.

The editor shows the inherited values greyed out in each field, and the inherited entries of a list folded above it ("... inherited entries").

When the extended profile changes, for example because its package was updated, every profile extending it follows. When it's gone, the profile plays its own settings over the default profile and says so in a warning. You can extend Idle, one of your profiles or a package's, but only one level deep: extending a profile that extends another one is refused with extends: "..." extends another profile, and one level is all.

Profiles from packages

A package can ship fight profiles alongside its script. Once the package is installed, its profiles show on the page with the Package source, named <package>/<name>, and any bot can play them, whether or not it plays that package.

Question Answer
Which version plays? The newest version of the package installed, for every bot. To keep a profile as it is whatever the package's updates do, copy it into your own profiles with Copy.
What happens when the package is updated? Its profiles are updated with it, and the profiles extending them follow.
And when it's removed? Bots set to one of its profiles play the default profile, and their console says why.

Package authors will find how to ship profiles in Ship fight profiles.

Ready-made profiles in base

@asterobot:base, Asterobot's official package, ships 24 profiles ready to play. Install it and they're on the page and in every bot's Profile list. None of them names a spell, so each plays any class at any level, with the character's own spells and weapon. What a profile doesn't set stays the default profile's: one whose purpose isn't a role leaves the role to the class, so a Feca still supports and an Eniripsa still heals. View shows what each one sets.

Profile How it fights
@asterobot:base/careful Never ends a turn where the enemies can hurt it badly, and hides once its life is low
@asterobot:base/all-in Deals as much damage as it can and ignores the danger, death included
@asterobot:base/melee-charge Starts close, closes in on the nearest enemy and hits in contact
@asterobot:base/ranged-kite Starts far, hits from afar, then steps out of the enemies' reach
@asterobot:base/ranged-hide Starts far, hits from afar, then ends its turn out of the enemies' sight
@asterobot:base/hold-position Moves only to reach a cast, so the enemies beside it stay locked
@asterobot:base/finish-the-weakest Kills the enemy with the least life left first
@asterobot:base/kill-the-most-dangerous Kills first the enemy that can hurt it the most where it stands
@asterobot:base/healer Heals the weakest ally first, then itself, and hits when nobody needs healing
@asterobot:base/bodyguard Keeps its allies safe: shields and boosts the weakest, and stands where it shelters them
@asterobot:base/support Weakens the enemies and boosts its allies before hitting
@asterobot:base/tank Goes in front, takes the hits for the team and locks the enemies in contact
@asterobot:base/crowd-control Pushes the enemies, takes their AP and MP and puts them in states before hitting them
@asterobot:base/summoner Summons whenever it can and stays behind its summons, out of the enemies' sight
@asterobot:base/trapper Lays traps and glyphs where the enemies will walk, then keeps out of their reach
@asterobot:base/earth-strength Prefers its earth spells, for a strength build
@asterobot:base/fire-intelligence Prefers its fire spells, for an intelligence build
@asterobot:base/water-chance Prefers its water spells, for a chance build
@asterobot:base/air-agility Prefers its air spells, for an agility build
@asterobot:base/weapon-fighter Hits with its weapon whenever it can, in contact
@asterobot:base/spells-only Never hits with the weapon or bare hands: its AP go to its spells
@asterobot:base/team-player Never hurts an ally with its areas, and heals and boosts its allies whenever it helps
@asterobot:base/carried A low level in a strong group: starts far, stays out of danger and sight, and hits only when it's safe
@asterobot:base/boss-fight For bosses and dungeons: careful, kills the most dangerous enemy first and keeps the group safe

To change one, copy it into your own profiles, or make a profile that extends it and sets only what differs, so it keeps following base's updates (Extend another profile). Their names don't change from one version of base to the next, so a bot set to one keeps it.

Profile files

Your profiles are files in the fightprofiles folder of Asterobot's data folder (Files and folders), one <name>.json file each, in the same JSON the editor shows.

Asterobot reads a profile's file each time it's used, so you can also edit them by hand: a change plays from the next fight, and shows on the page the next time it loads. A file that isn't a readable profile is listed with its error. Copying a .json file into the folder is the same as importing it.

Next, Profile settings describes every setting of a profile.

Compte

Navigation

Recherche

Recherche

Configurer les notifications push du navigateur

Chrome (Android)
  1. Appuyez sur l'icône de cadenas à côté de la barre d'adresse.
  2. Tap Autorisations → Notifications.
  3. Ajustez vos préférences.
Chrome (Desktop)
  1. Cliquez sur l'icône représentant un cadenas dans la barre d'adresse..
  2. Select Paramètres du site.
  3. Find Notifications et ajustez vos préférences.