
// Basic Hexen stuff.


skills
{
	1 = "Squire / Altar boy / Apprentice";
	2 = "Knight / Acolyte / Enchanter";
	3 = "Warrior / Priest / Sorceror";
	4 = "Berserker / Cardinal / Warlock";
	5 = "Titan / Pope / Archimage";
}


linedefflags
{
	512 = "Repeatable Action";
	8192 = "Monster Activates";
	32768 = "Block Everything";
}


thingflags
{
	16 = "Dormant";
	32 = "Fighter class";
	64 = "Cleric class";
	128 = "Mage class";
	256 = "Singleplayer";
	512 = "Cooperative";
	1024 = "Deathmatch";
}


// Default flags for first new thing
defaultthingflags
{
	32;
	64;
	128;
	256;
	512;
	1024;
}


// Mask for the thing flags which indicates the options
// that make the same thing appear in the same modes
thingflagsmasks
{
	thingflagsmask1 = 7;	// 1 + 2 + 4
	thingflagsmask2 = 1792;	// 256 + 512 + 1024
}


// Linedef flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly
// When the UDMF field name is prefixed with ! it is inverted
linedefflagstranslation
{
	512 = "repeatspecial";
	1024 = "playeruse";
	2048 = "monstercross";
	3072 = "impact";
	4096 = "playerpush";
	5120 = "missilecross";
	8192 = "monsteractivate";
	32768 = "blockeverything";
}


// Thing flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly
// When the UDMF field name is prefixed with ! it is inverted
thingflagstranslation
{
	16 = "dormant";
	32 = "class1";
	64 = "class2";
	128 = "class3";
	256 = "single";
	512 = "coop";
	1024 = "dm";
}


// Activations filter for Hexen type activations
// This filters the activation bits from the flags
// This is in its own structure for inclusion only,
// the actual value will end up in the document scope
linedefactivationsfilter
{
	linedefactivationsfilter = 7168;
}


// LINEDEF ACTIVATIONS
// Make sure these are in order from lowest value to highest value
linedefactivations
{
	0 = "Player walks over";
	1024 = "Player presses Use";
	2048 = "Monster walks over";
	3072 = "Projectile hits";
	4096 = "Player bumps";
	5120 = "Projectile flies over";
}


// Default thing filters
// (these are not required, just usefull for new users)
thingsfilters
{
	
	filter0
	{
		name = "Easy skill";
		category = "";
		type = -1;
		
		fields
		{
			1 = true;
		}
		
	}
	
	
	filter1
	{
		name = "Hard skill";
		category = "";
		type = -1;
		
		fields
		{
			4 = true;
		}
		
	}
	
	
	filter2
	{
		name = "Keys only";
		category = "keys";
		type = -1;
	}
	
	
	filter3
	{
		name = "Medium skill";
		category = "";
		type = -1;
		
		fields
		{
			2 = true;
		}
		
	}
	
}


/*
MAP LUMP NAMES
Map lumps are loaded with the map as long as they are right after each other. When the editor
meets a lump which is not defined in this list it will ignore the map if not satisfied.
The order of items defines the order in which lumps will be written to WAD file on save.
To indicate the map header lump, use ~MAP

Legenda:
required = Lump is required to exist.
blindcopy = Lump will be copied along with the map blindly. (usefull for lumps Doom Builder doesn't use)
nodebuild = The nodebuilder generates this lump.
allowempty = The nodebuilder is allowed to leave this lump empty.
script = This lump is a text-based script. Specify the filename of the script configuration to use.
*/

hexenmaplumpnames
{
	~MAP
	{
		required = true;
		blindcopy = true;
		nodebuild = false;
	}
	
	THINGS
	{
		required = true;
		nodebuild = true;
		allowempty = true;
	}
	
	LINEDEFS
	{
		required = true;
		nodebuild = true;
		allowempty = false;
	}
	
	SIDEDEFS
	{
		required = true;
		nodebuild = true;
		allowempty = false;
	}
	
	VERTEXES
	{
		required = true;
		nodebuild = true;
		allowempty = false;
	}
	
	SEGS
	{
		required = false;
		nodebuild = true;
		allowempty = false;
	}
	
	SSECTORS
	{
		required = false;
		nodebuild = true;
		allowempty = false;
	}
	
	NODES
	{
		required = false;
		nodebuild = true;
		allowempty = false;
	}
	
	SECTORS
	{
		required = true;
		nodebuild = true;
		allowempty = false;
	}
	
	REJECT
	{
		required = false;
		nodebuild = true;
		allowempty = true;
	}
	
	BLOCKMAP
	{
		required = false;
		nodebuild = true;
		allowempty = false;
	}
	
	BEHAVIOR
	{
		required = true;
		nodebuild = false;
		blindcopy = true;
	}
	
	SCRIPTS
	{
		required = false;
		nodebuild = false;
		script = "Hexen_ACS.cfg";
	}
}


// ENUMERATIONS
// These are enumerated lists for linedef types and UDMF fields.
enums
{
	keys
	{
		0 = "None";
		1 = "Steel key";
		2 = "Cave key";
		3 = "Axe key";
		4 = "Fire key";
		5 = "Emerald key";
		6 = "Dungeon key";
		7 = "Silver key";
		8 = "Rusted key";
		9 = "Horn key";
		10 = "Swamp key";
		11 = "Castle key";
		100 = "Any key";
		101 = "All keys";
		102 = "Impossible";
	}
	
	spawnthing
	{
		0 = "None";
		
		/*
		T_NONE                    0
		T_CENTAUR                 1
		T_CENTAURLEADER           2
		T_DEMON                   3
		T_ETTIN                   4
		T_FIREGARGOYLE            5
		T_WATERLURKER             6
		T_WATERLURKERLEADER       7
		T_WRAITH                  8
		T_WRAITHBURIED            9
		T_FIREBALL1               10
		T_MANA1                   11
		T_MANA2                   12
		T_ITEMBOOTS               13
		T_ITEMEGG                 14
		T_ITEMFLIGHT              15
		T_ITEMSUMMON              16
		T_ITEMTPORTOTHER          17
		T_ITEMTELEPORT            18
		T_BISHOP                  19
		T_ICEGOLEM                20
		T_BRIDGE                  21
		T_DRAGONSKINBRACERS       22
		T_ITEMHEALTHPOTION        23
		T_ITEMHEALTHFLASK         24
		T_ITEMHEALTHFULL          25
		T_ITEMBOOSTMANA           26
		T_FIGHTERAXE              27
		T_FIGHTERHAMMER           28
		T_FIGHTERSWORD1           29
		T_FIGHTERSWORD2           30
		T_FIGHTERSWORD3           31
		T_CLERICSTAFF             32
		T_CLERICHOLY1             33
		T_CLERICHOLY2             34
		T_CLERICHOLY3             35
		T_MAGESHARDS              36
		T_MAGESTAFF1              37
		T_MAGESTAFF2              38
		T_MAGESTAFF3              39
		T_MORPHBLAST              40
		T_ROCK1                   41
		T_ROCK2                   42
		T_ROCK3                   43
		T_DIRT1                   44
		T_DIRT2                   45
		T_DIRT3                   46
		T_DIRT4                   47
		T_DIRT5                   48
		T_DIRT6                   49
		T_ARROW                   50
		T_DART                    51
		T_POISONDART              52
		T_RIPPERBALL              53
		T_STAINEDGLASS1           54
		T_STAINEDGLASS2           55
		T_STAINEDGLASS3           56
		T_STAINEDGLASS4           57
		T_STAINEDGLASS5           58
		T_STAINEDGLASS6           59
		T_STAINEDGLASS7           60
		T_STAINEDGLASS8           61
		T_STAINEDGLASS9           62
		T_STAINEDGLASS0           63
		T_BLADE                   64
		T_ICESHARD                65
		T_FLAME_SMALL             66
		T_FLAME_LARGE             67
		T_MESHARMOR               68
		T_FALCONSHIELD            69
		T_PLATINUMHELM            70
		T_AMULETOFWARDING         71
		T_ITEMFLECHETTE           72
		T_ITEMTORCH               73
		T_ITEMREPULSION           74
		T_MANA3                   75
		T_PUZZSKULL               76
		T_PUZZGEMBIG              77
		T_PUZZGEMRED              78
		T_PUZZGEMGREEN1           79
		T_PUZZGEMGREEN2           80
		T_PUZZGEMBLUE1            81
		T_PUZZGEMBLUE2            82
		T_PUZZBOOK1               83
		T_PUZZBOOK2               84
		T_METALKEY                85
		T_SMALLMETALKEY           86
		T_AXEKEY                  87
		T_FIREKEY                 88
		T_GREENKEY                89
		T_MACEKEY                 90
		T_SILVERKEY               91
		T_RUSTYKEY                92
		T_HORNKEY                 93
		T_SERPENTKEY              94
		T_WATERDRIP               95
		T_TEMPSMALLFLAME          96
		T_PERMSMALLFLAME          97
		T_TEMPLARGEFLAME          98
		T_PERMLARGEFLAME          99
		T_DEMON_MASH              100
		T_DEMON2_MASH             101
		T_ETTIN_MASH              102
		T_CENTAUR_MASH            103
		T_THRUSTSPIKEUP           104
		T_THRUSTSPIKEDOWN         105
		T_FLESH_DRIP1             106
		T_FLESH_DRIP2             107
		T_SPARK_DRIP              108
		*/
	}
}

