Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
kristus

Hexen ACS question.

Recommended Posts

Just a quick question. When scripting with ACS. You use Defs.acs to see what id is related to what mobj declaration. But not all objects are featured in this list.

A few examples are, Zedek, Menelkir and Traductus. As well as the pickups for the 3rd weapon of the Mage and Cleric.

Now, what I am wondering is. Is defs.acs editable. If I have the mobj declaration, can I add these myself and have the scripts work in vanilla Hexen?

Considering that you can use these numbers in exclusive cases like with a pot, not inside a script. I feel a bit like that is something you can't do. But what is the facts of the matter?

Share this post


Link to post

You mean the spawn ID? Unfortunately, it's a hardcoded table in the Hexen executable. See the TranslateThingType[] array in p_things.c.

mobjtype_t TranslateThingType[] =
{
	MT_MAPSPOT,				// T_NONE
	MT_CENTAUR,				// T_CENTAUR
	MT_CENTAURLEADER,		// T_CENTAURLEADER
	MT_DEMON,				// T_DEMON
	MT_ETTIN,				// T_ETTIN
	MT_FIREDEMON,			// T_FIREGARGOYLE
	MT_SERPENT,				// T_WATERLURKER
	MT_SERPENTLEADER,		// T_WATERLURKERLEADER
	MT_WRAITH,				// T_WRAITH
	MT_WRAITHB,				// T_WRAITHBURIED
	MT_FIREBALL1,			// T_FIREBALL1
	MT_MANA1,				// T_MANA1
	MT_MANA2,				// T_MANA2
	MT_SPEEDBOOTS,			// T_ITEMBOOTS
	MT_ARTIEGG,				// T_ITEMEGG
	MT_ARTIFLY,				// T_ITEMFLIGHT
	MT_SUMMONMAULATOR,		// T_ITEMSUMMON
	MT_TELEPORTOTHER,		// T_ITEMTPORTOTHER
	MT_ARTITELEPORT,		// T_ITEMTELEPORT
	MT_BISHOP,				// T_BISHOP
	MT_ICEGUY,				// T_ICEGOLEM
	MT_BRIDGE,				// T_BRIDGE
	MT_BOOSTARMOR,			// T_DRAGONSKINBRACERS
	MT_HEALINGBOTTLE,		// T_ITEMHEALTHPOTION
	MT_HEALTHFLASK,			// T_ITEMHEALTHFLASK
	MT_ARTISUPERHEAL,		// T_ITEMHEALTHFULL
	MT_BOOSTMANA,			// T_ITEMBOOSTMANA
	MT_FW_AXE,				// T_FIGHTERAXE
	MT_FW_HAMMER,			// T_FIGHTERHAMMER
	MT_FW_SWORD1,			// T_FIGHTERSWORD1
	MT_FW_SWORD2,			// T_FIGHTERSWORD2
	MT_FW_SWORD3,			// T_FIGHTERSWORD3
	MT_CW_SERPSTAFF,		// T_CLERICSTAFF
	MT_CW_HOLY1,			// T_CLERICHOLY1
	MT_CW_HOLY2,			// T_CLERICHOLY2
	MT_CW_HOLY3,			// T_CLERICHOLY3
	MT_MW_CONE,				// T_MAGESHARDS
	MT_MW_STAFF1,			// T_MAGESTAFF1
	MT_MW_STAFF2,			// T_MAGESTAFF2
	MT_MW_STAFF3,			// T_MAGESTAFF3
	MT_EGGFX,				// T_MORPHBLAST
	MT_ROCK1,				// T_ROCK1
	MT_ROCK2,				// T_ROCK2
	MT_ROCK3,				// T_ROCK3
	MT_DIRT1,				// T_DIRT1
	MT_DIRT2,				// T_DIRT2
	MT_DIRT3,				// T_DIRT3
	MT_DIRT4,				// T_DIRT4
	MT_DIRT5,				// T_DIRT5
	MT_DIRT6,				// T_DIRT6
	MT_ARROW,				// T_ARROW
	MT_DART,				// T_DART
	MT_POISONDART,			// T_POISONDART
	MT_RIPPERBALL,			// T_RIPPERBALL
	MT_SGSHARD1,			// T_STAINEDGLASS1
	MT_SGSHARD2,			// T_STAINEDGLASS2
	MT_SGSHARD3,			// T_STAINEDGLASS3
	MT_SGSHARD4,			// T_STAINEDGLASS4
	MT_SGSHARD5,			// T_STAINEDGLASS5
	MT_SGSHARD6,			// T_STAINEDGLASS6
	MT_SGSHARD7,			// T_STAINEDGLASS7
	MT_SGSHARD8,			// T_STAINEDGLASS8
	MT_SGSHARD9,			// T_STAINEDGLASS9
	MT_SGSHARD0,			// T_STAINEDGLASS0
	MT_PROJECTILE_BLADE,	// T_BLADE
	MT_ICESHARD,			// T_ICESHARD
	MT_FLAME_SMALL,			// T_FLAME_SMALL
	MT_FLAME_LARGE,			// T_FLAME_LARGE
	MT_ARMOR_1,				// T_MESHARMOR
	MT_ARMOR_2,				// T_FALCONSHIELD
	MT_ARMOR_3,				// T_PLATINUMHELM
	MT_ARMOR_4,				// T_AMULETOFWARDING
	MT_ARTIPOISONBAG,		// T_ITEMFLECHETTE
	MT_ARTITORCH,			// T_ITEMTORCH
	MT_BLASTRADIUS,			// T_ITEMREPULSION
	MT_MANA3,				// T_MANA3
	MT_ARTIPUZZSKULL,		// T_PUZZSKULL
	MT_ARTIPUZZGEMBIG,		// T_PUZZGEMBIG
	MT_ARTIPUZZGEMRED,		// T_PUZZGEMRED
	MT_ARTIPUZZGEMGREEN1,	// T_PUZZGEMGREEN1
	MT_ARTIPUZZGEMGREEN2,	// T_PUZZGEMGREEN2
	MT_ARTIPUZZGEMBLUE1,	// T_PUZZGEMBLUE1
	MT_ARTIPUZZGEMBLUE2,	// T_PUZZGEMBLUE2
	MT_ARTIPUZZBOOK1,		// T_PUZZBOOK1
	MT_ARTIPUZZBOOK2,		// T_PUZZBOOK2
	MT_KEY1,				// T_METALKEY
	MT_KEY2,				// T_SMALLMETALKEY
	MT_KEY3,				// T_AXEKEY
	MT_KEY4,				// T_FIREKEY
	MT_KEY5,				// T_GREENKEY
	MT_KEY6,				// T_MACEKEY
	MT_KEY7,				// T_SILVERKEY
	MT_KEY8,				// T_RUSTYKEY
	MT_KEY9,				// T_HORNKEY
	MT_KEYA,				// T_SERPENTKEY
	MT_WATER_DRIP,			// T_WATERDRIP
	MT_FLAME_SMALL_TEMP,	// T_TEMPSMALLFLAME
	MT_FLAME_SMALL,			// T_PERMSMALLFLAME
	MT_FLAME_LARGE_TEMP,	// T_TEMPLARGEFLAME
	MT_FLAME_LARGE,			// T_PERMLARGEFLAME
	MT_DEMON_MASH,			// T_DEMON_MASH
	MT_DEMON2_MASH,			// T_DEMON2_MASH
	MT_ETTIN_MASH,			// T_ETTIN_MASH
	MT_CENTAUR_MASH,		// T_CENTAUR_MASH
	MT_THRUSTFLOOR_UP,		// T_THRUSTSPIKEUP
	MT_THRUSTFLOOR_DOWN,	// T_THRUSTSPIKEDOWN
	MT_WRAITHFX4,			// T_FLESH_DRIP1
	MT_WRAITHFX5,			// T_FLESH_DRIP2
	MT_WRAITHFX2			// T_SPARK_DRIP
};
Anything not in this list cannot be added (at least not in a vanilla-compatible way).

Share this post


Link to post

Well, that's the same list as in Defs, nothing more to be seen there. :/ So, I guess I am shit out of luck there.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×