Adding new weapons?
Well, information about adding a new weapon is next to null in the wiki so I started hunting in the ded files that comes in doomsday and found some "requirements" for it, being a "Thing" block to spawn the pickup sprite
And the weapon states themselves:
However, there is a warning in the very start of objects.ded saying that "order of definitions is important". My question is, what does define the order of every state? is it the order they are placed in the text? And what does link them to be interpreted as a "weapon", since there are no "brackets" saying "hey look, this is the chaingun and it's separated from others with our 'end' command at the very end of all states!"?
Thing {
ID = "CHAINGUN";
DoomEd number = 2002;
Spawn state = "MGUN";
See state = "NULL";
Pain state = "NULL";
Melee state = "NULL";
Missile state = "NULL";
Death state = "NULL";
Xdeath state = "NULL";
Raise state = "NULL";
See sound = "None";
Attack sound = "None";
Pain sound = "None";
Death sound = "None";
Active sound = "None";
Reaction time = 8;
Spawn health = 1000;
Radius = 20;
Height = 16;
Mass = 100;
Flags = special;
}
And the weapon states themselves:
State {
ID = "CHAIN";
Sprite = "CHGG";
Frame = 0;
Tics = 1;
Action = "A_WeaponReady";
Next state = "CHAIN";
}
State {
ID = "CHAINDOWN";
Sprite = "CHGG";
Frame = 0;
Tics = 1;
Action = "A_Lower";
Next state = "CHAINDOWN";
}
State {
ID = "CHAINUP";
Sprite = "CHGG";
Frame = 0;
Tics = 1;
Action = "A_Raise";
Next state = "CHAINUP";
}
State {
ID = "CHAIN1";
Sprite = "CHGG";
Frame = 0;
Tics = 4;
Action = "A_FireCGun";
Next state = "CHAIN2";
}
State {
ID = "CHAIN2";
Sprite = "CHGG";
Frame = 1;
Tics = 4;
Action = "A_FireCGun";
Next state = "CHAIN3";
}
State {
ID = "CHAIN3";
Sprite = "CHGG";
Frame = 1;
Tics = 0;
Action = "A_ReFire";
Next state = "CHAIN";
}
State {
ID = "CHAINFLASH1";
Sprite = "CHGF";
Frame = 0;
Flags = fullbright;
Tics = 5;
Action = "A_Light1";
Next state = "LIGHTDONE";
}
State {
ID = "CHAINFLASH2";
Sprite = "CHGF";
Frame = 1;
Flags = fullbright;
Tics = 5;
Action = "A_Light2";
Next state = "LIGHTDONE";
}
However, there is a warning in the very start of objects.ded saying that "order of definitions is important". My question is, what does define the order of every state? is it the order they are placed in the text? And what does link them to be interpreted as a "weapon", since there are no "brackets" saying "hey look, this is the chaingun and it's separated from others with our 'end' command at the very end of all states!"?
Comments
If you are not replacing the original objects.ded file and instead loading a new ded over the top of the original, you can ignore that message. This way is of course far far better.
Doomsday currently has no support for adding new weapons; only replacing existing ones. Have a look in values.ded for the defs that define the various staes for each weapon.