GAME.CON:
//ALTERNATE FIRE MODE FOR PISTOL (Laser Pistol)
gamevar ALT_WEAP1 0 //var to store the pistol's current fire mode
onevent EVENT_WEAPKEY2 //when pistol select button pressed
ife WEAPON 1 //if pistol already selected
{
soundonce SELECT_WEAPON //sounds
soundonce PISTOL_BODYHIT
ife ALT_WEAP1 0 //if alt fire off
{
quote 128
setvar ALT_WEAP1 1 //turn alt fire on
setvar WEAPON1_SHOOTS FIRELASER
setvar WEAPON1_FIRESOUND PRED_ATTACK
}
else //if alt fire on
{
quote 128
setvar ALT_WEAP1 0 //turn alt fire off
setvar WEAPON1_SHOOTS SHOTSPARK1
setvar WEAPON1_FIRESOUND PISTOL_FIRE
}
}
endevent
//ALTERNATE FIRE MODE FOR RPG (Morter Launcher)
//The default morter seems to explode when near the player (I.E as soon as the player fires it), so a new projectile is created
defineprojectile PLAYERMORTER PROJ_WORKSLIKE 6150
defineprojectile PLAYERMORTER PROJ_SPAWNS EXPLOSION2
defineprojectile PLAYERMORTER PROJ_VEL 1000
defineprojectile PLAYERMORTER PROJ_DROP -256
defineprojectile PLAYERMORTER PROJ_ISOUND PIPEBOMB_EXPLODE
defineprojectile PLAYERMORTER PROJ_HITRADIUS 2560
defineprojectile PLAYERMORTER PROJ_BOUNCES 3
defineprojectile PLAYERMORTER PROJ_OFFSET 224
defineprojectile PLAYERMORTER PROJ_CLIPDIST 24
defineprojectile PLAYERMORTER PROJ_TRAIL SMALLSMOKE
gamevar ALT_WEAP4 0 //var to store the RPG's current fire mode
onevent EVENT_WEAPKEY5 //when RPG select button pressed
ife WEAPON 4 //if RPG already selected
{
soundonce SELECT_WEAPON //sounds
soundonce PISTOL_BODYHIT
ife ALT_WEAP4 0 //if alt fire off
{
quote 128
setvar ALT_WEAP4 1 //turn alt fire on
setvar WEAPON4_SHOOTS PLAYERMORTER
}
else //if alt fire on
{
quote 128
setvar ALT_WEAP4 0 //turn alt fire off
setvar WEAPON4_SHOOTS RPG
}
}
endevent
//Alternate fire modes using alt fire button
onevent EVENT_ALTWEAPON //When alt-fire button pressed
ife WEAPON 1 //if pistol selected
{
soundonce SELECT_WEAPON //sounds
soundonce PISTOL_BODYHIT
ife ALT_WEAP1 0 //if alt fire off
{
quote 128
setvar ALT_WEAP1 1 //turn alt fire on
setvar WEAPON1_SHOOTS FIRELASER
setvar WEAPON1_FIRESOUND PRED_ATTACK
}
else //if alt fire on
{
quote 128
setvar ALT_WEAP1 0 //turn alt fire off
setvar WEAPON1_SHOOTS SHOTSPARK1
setvar WEAPON1_FIRESOUND PISTOL_FIRE
}
}
ife WEAPON 4 //if RPG selected
{
soundonce SELECT_WEAPON //sounds
soundonce PISTOL_BODYHIT
ife ALT_WEAP4 0 //if alt fire off
{
quote 128
setvar ALT_WEAP4 1 //turn alt fire on
setvar WEAPON4_SHOOTS PLAYERMORTER
}
else //if alt fire on
{
quote 128
setvar ALT_WEAP4 0 //turn alt fire off
setvar WEAPON4_SHOOTS RPG
}
}
endevent
USER.CON:
definequote 128 SWITCHED FIRE MODE
This code seems to function correctly, however there is no way to see which fire-mode is currently selected without firing the weapon. Ideally, I would like to change the weapon texture depending on current selection, or change the ammo symbol. If that isn't possible, I could have a simple HUD addition in a corner somewhere showing which is selected.
I'm already confident in adding new textures to the ART files, but I can't find a way to swap out textures on screen (weapon texture & ammo symbol).
I'd love to hear any general suggestions for improvements or additions I can make too.

Help
Duke4.net
DNF #1
Duke 3D #1



