Defines the playstyle available to the character through associated skills, perk, and attributes. Your choices generally describe the kind of person you are and your approach to social interaction, puzzle-solving, combat, and life.

There are six standard jobs available to the player, but more can be discovered during gameplay.

The basic jobs are...

The rest of the jobs, whether they were ever used or not, are...

Another common job is Idle, an empty placeholder job. For those with the Idle gig, only the character's job will be shown. When a character has the Idle job, no gig can be taken and no job or gig information will be shown. This is the only job a character can double up on. New players are Idle/Idle until they choose a job.

A character can switch their gig to Idle to emphasize their dedication to solo-classing. Blessfrey takes after Guild Wars in a lot of ways, and solo-classing was something people always kinda wanted. Without it, we resorted to picking joke or confusion-inducing secondary professions, or we tried to spell out words like "E/Mo," "Mo/P," etc.

multiclassing

A character can have a job and a side gig. All associated skills and attributes will be available to the character from both jobs. This mix of playstyles defines a custom multiclass and lets players be creative. An Armsman/Disciple can be played like a paladin or cleric, a Hacker/Brawler can be played like a spy or assassin, and a Chemist/Tamer can poison his arrows using field medicine.

Perks are a special attribute. Only jobs come with perks. It bestows a constant boon on the character, which increases in power as the perk is increased. Although a character cannot increase a gig's perk's value or gain its boon, he will have access to all the perk's associated skills, albeit at their lowest effectiveness.

structure

A character has a $Jobs node that contains all jobs as children. Information about its job, gig, and perk and attribute values are stored in this scene.

The $Jobs node has exported String variables first_job and first_gig for startup. Later, the jobs should be loaded from a save file, etc.