Skip to content

Developer Handbook

Justin edited this page Aug 29, 2022 · 20 revisions

Developer Guide

This is just a brief guide over several parts of the game to give you an idea of how everything works.

Monsters

Monsters are the creatures that the adventurers will meet along the way and be forced to fight. An example of a creature is below along with what each thing does.

Example Monster

{
	id: 1, (a unique id)
	difficulty: ['easy'], (the difficulty of this creature)
	name: 'Wolf', (the name of this creature)
	equipment: {
		armor: false, (should it have armor?)
		title: false, (should it have a title?)
		characterClass: false, (should it have a class?)
		potion: false, (should it have a potion?)
	},
	bonuses: {
		str: 0, (This is a percent bonus to str)
		dex: 20, (This is a percent bonus to dex)
		int: 0, (This is a percent bonus to int)
		hp: 0, (This is a percent bonus to hp)
	},
	amount: {
		couple: 'pack of Wolves', (If the monster power level is a little higher than the user, we'll use this name.)
		many: 'den of Wolves', (If the monster power level is a lot higher than the user, we'll use this name.)
	},
},

Jobs

Jobs are short adventurers that characters go on to get equipment, money, and fights. The basic structure of a job and what each piece does can be found below. Many of the jobs come from this generator or others.

Template Placeholders

These words are replaced in the template with their appropriate text. This allows us to use the users flavor text in the job text.

  • #name - Will use the character name if set, else it'll use the username.
  • #worldName - Will use the name of the world from the game settings.
  • #worldType - Will use the type of the world from game settings.
  • #citizenName - Will use the citizen name from the game settings.
  • #currencyName - The name of the selected currency.

Example Job

{
   id: 1, (A unique ID)
   challenge: 'easy', (The challenge rating of this mission.)
   template: `A friendly monk wanders by and asks for #name's advice. He's thankful and gives #name a weapon from his cart.`, (The text that is output to chat)
   encounter: null, (Can be null, a monster id, or a monster difficulty. This is what the player will fight.)
   loot: {
      item: {
          itemType: 'weapon', (The type of item they're going to get as a reward.)
          rarity: ['basic', 'rare'], (The rarity of the item.)
       },
       money: 20, (The amount of money they'll get.)
    },
   world_tendency: {
      happiness: 1, (How many points are added to the happiness pool for this cycle.)
      resources: 0, (How many points are added to the resources pool for this cycle.)
      research: 0, (How many points are added to the research pool for this cycle.)
  },
}

General Job Guidelines

These are just general guidelines for jobs. You don't want an easy job giving away legendary loot, for example.

  • Easy - Gives around 20 currency, a basic or rare item. Encounters are usually easy difficulty. World tendency is usually one point.
  • Medium - Gives around 30 currency, a basic, rare, or epic item. Encounters are usually medium difficulty. World tendency is usually 2 points.
  • Hard - Gives around 40 currency, a rare or epic item. Encounters are usually hard difficulty. World tendency is usually 3 points.
  • Legendary - Gives around 50 currency, an epic or legendary item. Encounters are legendary difficulty. World tendency is usually 4 points.

Classes

Classes have a direct impact on player stats, raising them by a percentage. Below you'll see how much of a boost each level of class can give. Basic classes will give up to a 20% bonus, while legendary will increase stats by up to 40%. When adding new classes, try to follow this for balance purposes. Classes are mostly pulled from D&D Classes and sub-classes

  • Basic = 25 bonus points
  • Rare = 30 bonus points
  • Epic = 35 bonus points
  • Legendary = 40 bonus points

Titles

Titles work similar to classes and provide a state boost, raising them by a percentage. These raise stats to a lesser degree than the chosen class. Titles are mostly pulled from GM Binder

  • Basic = 5 bonus points
  • Rare = 10 bonus points
  • Epic = 15 bonus points
  • Legendary = 20 bonus points

Clone this wiki locally