Module:Character infobox/config

From Absit Omen Lexicon

Documentation for this module may be created at Module:Character infobox/config/doc

-- This provides the order for the different sections of the infobox

local cfg = {}

cfg.sectionOrder = {
	'biographical',
	'physical',
	'family',
	'magical',
	'education',
	'occupation',
	'character'
}

-- Colspan makes the label be on its own row with the value below
-- adding an html tag allows the section to return html that will be included the tag listed
cfg.specialRows = {
	occupation = 'dl',
	relationships = 'ul',
	wands = 'ul',
	links = 'colspan',
	extFamilyProcessed = 'ul',
	homeschool = 'colspan',
	familyTree = 'colspan'
}

--[[
Category Parameters
status, npc, adopt

in footer: member, memberboard,
in links: biography, network, threads

Processed parameters:
givenname, surname, suffix, maidenname = fullName
birthYear, birthMonth, birthDay = birthDate
deathYear, deathMonth, deathDay = deathDate

in header:
image, title (fullName)

Control parameters:
hideYear, hideCategories, and house = None

]]

cfg.biographical = {
	'birthDate',
	'deathDate',
	'birthCity',
	'city',
	'residence',
	'blood',
	'alias'
}

cfg.physical = {
	'species',
	'gender',
	'height',
	'hair',
	'eyes',
	'skin',
	'marks'
}

cfg.family = {
	'fatherProcessed',
	'stepmotherProcessed',
	'stepfatherProcessed',
	'motherProcessed',
	'adoptiveFatherProcessed',
	'adoptiveMotherProcessed',
	'siblingsProcessed',
	'extFamilyProcessed',
	'relationships',
	'childrenProcessed',
	'familyTree',
	'pet'
}

cfg.magical = {
	'wands',
	'animagus',
	'boggart',
	'patronus',
	'specialAbilities'
}

cfg.education = {
	'school',
	'house',
	'homeschool',
	'schoolHouse',
	'schoolYear',
	'gradYear',
	'classes'
}

cfg.occupation = {
	'occupation'
}

cfg.occupation_sub = {

}

cfg.character = {
	'playby',
	'links'
}

cfg.biographical_label = {
	header = 'Biographical Information',
	birthDate = 'Born',
	deathDate = 'Died',
	birthCity = 'City of Birth',
	city = 'Current City',
	residence = 'Residence',
	blood = 'Blood status',
	alias = 'Also known as'
}

cfg.physical_label = {
	header = 'Physical Information',
	species = 'Species',
	gender = 'Gender',
	height = 'Height',
	hair = 'Hair Colour',
	eyes = 'Eye Colour',
	skin = 'Skin Colour',
	marks = 'Marks/Tattoos'
}

cfg.family_label = {
	header = 'Relationships',
	fatherProcessed = 'Father',
	stepmotherProcessed = 'Stepmother',
	stepfatherProcessed = 'Stepfather',
	motherProcessed = 'Mother',
	adoptiveFatherProcessed = ' Adoptive Father',
	adoptiveMotherProcessed = 'Adoptive Mother',
	siblingsProcessed = 'Siblings',
	extFamilyProcessed = 'Extended Family',
	relationships = '',
	childrenProcessed = 'Children',
	pet = 'Pet(s)'

}

cfg.magical_label = {
	header = 'Magical Characteristics',
	wands = 'Wand(s)',
	animagus = 'Animagus Form',
	boggart = 'Boggart',
	patronus = 'Patronus',
	specialAbilities = 'Special Abilities'
}

cfg.education_label = {
	header = 'Education',
	school = 'School',
	house = 'House',
	schoolYear = 'Year',
	gradYear = 'Class of',
	schoolHouse = 'School/House'
}

cfg.occupation_label = {
	header = 'Occupation'
}

cfg.character_label = {
	header = 'Character Information',
	playby = 'Playby',
	biography = 'Biography',
	network = 'Network',
	threads = 'Threads'
}

cfg.schools = {
	Hogwarts = {
		'Gryffindor',
		'Ravenclaw',
		'Slytherin',
		'Hufflepuff'
	},
	Schools = {
		'Durmstrang Institute',
		'Beauxbatons Academy',
		'Salem Witches Institute',
		'Northwest Witches Academy',
		'Red Rocks Academy',
		'Pinebrook Academy',
		'Beit Gaddol',
		'Gondishapur',
		'Mahoutokoro'
	}
}

cfg.cargo = {
	Characters = {
		{field = 'member', type = 'String', arg = 'member'},
		{field = 'sort_by', type= 'String', arg = 'sort_by'},
		{field = 'npc_permission', type = 'String (allowed values=open, ref, pm, closed)', arg = 'npc'},
		{field = 'status', type = 'String (allowed values=active, inactive, retired, secondary, npc)', arg = 'status', default = 'npc'},
		{field = 'adoptable', type = 'Boolean', arg = 'adopt'},
		{field = 'canon', type = 'Boolean', arg = 'canon'},
		{field = 'biography', type = 'URL', arg = 'biography'},
		{field = 'network', type = 'URL', arg = 'network'},
		{field = 'threads', type = 'URL', arg = 'threads'},
		{field = 'memberboard', type = 'URL', arg = 'memberBoard'},
		{field = 'given_name', type = 'String', arg = 'givenname'},
		{field = 'middle_name', type = 'String', arg = 'middlename'},
		{field = 'surname', type = 'String', arg = 'surname'},
		{field = 'maiden_name', type = 'String', arg = 'maidenname'},
		{field = 'suffix', type = 'String', arg = 'suffix'},
		{field = 'full_name', type = 'String', arg = 'fullName'},
		{field = 'birth_date', type = 'Date', arg = 'birthDateCargo'},
		{field = 'death_date', type = 'Date', arg = 'deathDateCargo'},
		{field = 'age', type = 'Integer', arg = 'ageCargo'},
		{field = 'house', type = 'String', arg = 'house', default = 'school'},
		{field = 'school_year', type = 'String', arg = 'schoolYear'},
		{field = 'graduation_year', type = 'Integer', arg = 'gradYear'},
		{field = 'avatar', type = 'File', arg = 'image'},
		{field = 'playby', type = 'String', arg = 'playby'},
		{field = 'birth_city', type = 'String', arg = 'birthCity'},
		{field = 'current_city', type = 'String', arg = 'city'},
		{field = 'current_residence', type = 'Wikitext', arg = 'residence'},
		{field = 'blood_type', type = 'String (allowed values=Half-blood, Pure-blood, Muggle-born, Muggle, Squib, Half-breed, Creature)', arg = 'blood'},
		{field = 'aliases', type = 'List (,) of Text', arg = 'alias'},
		{field = 'species', type = 'String', arg = 'species', default = 'Human'},
		{field = 'gender', type = 'String', arg = 'gender'},
		{field = 'height', type = 'String', arg = 'height'},
		{field = 'hair_color', type = 'String', arg = 'hair'},
		{field = 'eye_color', type = 'String', arg = 'eyes'},
		{field = 'skin_tone', type = 'String', arg = 'skin'},
		{field = 'marks', type = 'Text', arg = 'marks'},
		{field = 'father', type = 'Page', arg = 'father'},
		{field = 'stepmother', type = 'Page', arg = 'stepmother'},
		{field = 'stepfather', type = 'Page', arg = 'stepfather'},
		{field = 'mother', type = 'Page', arg = 'mother'},
		{field = 'adoptive_father', type = 'Page', arg = 'adoptiveFather'},
		{field = 'adoptive_mother', type = 'Page', arg = 'adoptiveMother'},
		{field = 'siblings', type = 'List (;) of Page', arg = 'siblingsCargo'},
		{field = 'children', type = 'List (;) of Page', arg = 'childrenCargo'},
		{field = 'pets', type = 'Text', arg = 'pet'},
		{field = 'boggart', type = 'String', arg = 'boggart'},
		{field = 'patronus', type = 'String', arg = 'patronus'},
		{field = 'special_abilities', type = 'List (,) of Page', arg = 'specialAbilities'},
		{field = 'animagus_form', type = 'String', arg = 'animagus'}
	},
	Occupations = {
		{field = 'type', type = 'String', arg = 'type'},
		{field = 'title', type = 'String', arg = 'title'},
		{field = 'organization', type = 'Page', arg = 'organization'},
		{field = 'department', type = 'Page', arg = 'department'},
		{field = 'division', type = 'Page', arg = 'division'},
		{field = 'office', type = 'Page', arg = 'office'},
		{field = 'current_occupation', type = 'Boolean', arg = 'current'},
		{field = 'date_started', type = 'Date', arg = 'startDate'},
		{field = 'date_ended', type = 'Date', arg = 'endDate'}
	},
	Classes = {
		{field = 'elective', type = 'List (,) of String', arg = 'elective'},
		{field = 'newt', type = 'List (,) of String', arg = 'newt'},
	},
	Relationships = {
		{field = 'type', type = 'String (allowed values=Dating, Married, Engaged, Civil Union, Domestic Partnership, In a Relationship, Complicated)', arg = 'relationshipType'},
		{field = 'endType', type = 'String (allowed values=Separation, Divorce, Death', arg = 'endType'},
		{field = 'person', type = 'Page', arg = 'relationshipWith'},
		{field = 'date_started', type = 'Date', arg = 'startDate'},
		{field = 'date_ended', type = 'Date', arg = 'endDate'}

	},
	Wands = {
		{field = 'wand', type = 'Text', arg = 'wand'},
		{field = 'wandmaker', type = 'Page', arg = 'wandmaker'}
	}
}

return cfg