An RFC 864 compliant character generator.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CharGen/character.h

98 lines
2.2 KiB

// Define skill proficiencies for prof array
#define ATHLETICS 1
#define ACROBATICS 2
#define SLEIGHTOFHAND 4
#define STEALTH 8
#define ARCANA 16
#define HISTORY 32
#define INVESTIGATION 64
#define NATURE 128
#define RELIGION 256
#define ANIMALHANDLING 512
#define INSIGHT 1024
#define MEDICINE 2048
#define PERCEPTION 4096
#define SURVIVAL 8192
#define DECEPTION 16384
#define INTIMIDATION 32768
#define PERFORMANCE 65536
#define PERSUASION 131072
// Define language proficiences for prof array
#define ABYSSAL 1
#define CELESTIAL 2
#define DRACONIC 4
#define DEEPSPEECH 8
#define INFERNAL 16
#define PRIMORDIAL 32
#define SYLVAN 64
#define UNDERCOMMON 128
#define DWARVISH 256
#define ELVISH 512
#define GIANT 1024
#define GNOMISH 2048
#define GOBLIN 4096
#define HALFLISH 8192
#define ORC 16384
//Define values so we can make array references easier to read
#define BARBARIAN 0
#define BARD 1
#define CLERIC 2
#define DRUID 3
#define FIGHTER 4
#define MONK 5
#define PALADIN 6
#define RANGER 7
#define ROGUE 8
#define SORCERER 9
#define WARLOCK 10
#define WIZARD 11
#define DRAGONBORN 0
#define DWARF 1
#define ELF 2
#define GNOME 3
#define HALFELF 4
#define HALFLING 5
#define HALFORC 6
#define HUMAN 7
#define TIEFLING 8
#define ACOLYTE 0
#define CHARLATAN 1
#define CRIMINAL 2
#define ENTERTAINER 3
#define FOLKHERO 4
#define GUILDARTISAN 5
#define HERMIT 6
#define NOBLE 7
#define OUTLANDER 8
#define SAGE 9
#define SAILOR 10
#define SOLDIER 11
#define URCHIN 12
#define STR 0
#define DEX 1
#define CON 2
#define INT 3
#define WIS 4
#define CHA 5
unsigned long profs;
unsigned long languages;
char otherprofs[100];
char* background;
char* race;
char* class;
char* classes[] = {"Barbarian", "Bard", "Cleric", "Druid", "Fighter", "Monk", "Paladin", "Ranger", "Rogue", "Sorcerer", "Warlock", "Wizard" };
char* races[] = { "Dragonborn", "Dwarf", "Elf", "Gnome", "Half-Elf", "Halfling", "Half-Orc", "Human", "Tiefling" };
char* backgrounds[] = { "Acolyte", "Charlatan", "Criminal", "Entertainer", "Folk Hero", "Guild Artisan", "Hermit", "Noble", "Outlander", "Sage", "Sailor", "Soldier", "Urchin" };
int stats[6];
int mods[6];
int hp;
char* genChar();