Introduce option to spawn with weapon
This commit is contained in:
parent
902ffe50b7
commit
3681c7d75f
|
|
@ -2521,7 +2521,7 @@
|
|||
},
|
||||
{
|
||||
"id": "L_MPMENU_252",
|
||||
"en": "Touch That Box",
|
||||
"en": "Spawn With Weapon",
|
||||
"gb": "Touch That Box",
|
||||
"jp": "Touch That Box",
|
||||
"it": "Touch That Box",
|
||||
|
|
|
|||
|
|
@ -252,6 +252,15 @@ void botSpawn(struct chrdata *chr, u8 respawning)
|
|||
chr->aibot->unk0b4 = 0;
|
||||
chr->aibot->unk0b8 = 0;
|
||||
func0f02e9a0(chr, 0);
|
||||
|
||||
if ((g_MpSetup.options & MPOPTION_SPAWNWITHWEAPON)
|
||||
&& g_MpSetup.weapons[0] != MPWEAPON_NONE
|
||||
&& g_MpSetup.weapons[0] != MPWEAPON_DISABLED) {
|
||||
struct mpweapon *mpweapon = &g_MpWeapons[g_MpSetup.weapons[0]];
|
||||
botinvGiveSingleWeapon(chr, mpweapon->weaponnum);
|
||||
botactGiveAmmoByType(aibot, mpweapon->weapon1ammotypeminusone, mpweapon->weapon1ammoqty);
|
||||
botinvSwitchToWeapon(chr, mpweapon->weaponnum, FUNC_PRIMARY);
|
||||
}
|
||||
}
|
||||
|
||||
chr->maxdamage = 8;
|
||||
|
|
|
|||
|
|
@ -60,6 +60,14 @@ struct menuitem g_CtcOptionsMenuItems[] = {
|
|||
MPOPTION_NOAUTOAIM,
|
||||
menuhandlerMpCheckboxOption,
|
||||
},
|
||||
{
|
||||
MENUITEMTYPE_CHECKBOX,
|
||||
0,
|
||||
MENUITEMFLAG_LOCKABLEMINOR,
|
||||
L_MPMENU_252, // "Spawn With Weapon"
|
||||
MPOPTION_SPAWNWITHWEAPON,
|
||||
menuhandlerMpCheckboxOption,
|
||||
},
|
||||
{
|
||||
MENUITEMTYPE_CHECKBOX,
|
||||
0,
|
||||
|
|
|
|||
|
|
@ -55,6 +55,14 @@ struct menuitem g_MpCombatOptionsMenuItems[] = {
|
|||
MPOPTION_NOAUTOAIM,
|
||||
menuhandlerMpCheckboxOption,
|
||||
},
|
||||
{
|
||||
MENUITEMTYPE_CHECKBOX,
|
||||
0,
|
||||
MENUITEMFLAG_LOCKABLEMINOR,
|
||||
L_MPMENU_252, // "Spawn With Weapon"
|
||||
MPOPTION_SPAWNWITHWEAPON,
|
||||
menuhandlerMpCheckboxOption,
|
||||
},
|
||||
{
|
||||
MENUITEMTYPE_SEPARATOR,
|
||||
0,
|
||||
|
|
|
|||
|
|
@ -58,6 +58,14 @@ struct menuitem g_HtmOptionsMenuItems[] = {
|
|||
MPOPTION_NOAUTOAIM,
|
||||
menuhandlerMpCheckboxOption,
|
||||
},
|
||||
{
|
||||
MENUITEMTYPE_CHECKBOX,
|
||||
0,
|
||||
MENUITEMFLAG_LOCKABLEMINOR,
|
||||
L_MPMENU_252, // "Spawn With Weapon"
|
||||
MPOPTION_SPAWNWITHWEAPON,
|
||||
menuhandlerMpCheckboxOption,
|
||||
},
|
||||
{
|
||||
MENUITEMTYPE_CHECKBOX,
|
||||
0,
|
||||
|
|
|
|||
|
|
@ -58,6 +58,14 @@ struct menuitem g_HtbOptionsMenuItems[] = {
|
|||
MPOPTION_NOAUTOAIM,
|
||||
menuhandlerMpCheckboxOption,
|
||||
},
|
||||
{
|
||||
MENUITEMTYPE_CHECKBOX,
|
||||
0,
|
||||
MENUITEMFLAG_LOCKABLEMINOR,
|
||||
L_MPMENU_252, // "Spawn With Weapon"
|
||||
MPOPTION_SPAWNWITHWEAPON,
|
||||
menuhandlerMpCheckboxOption,
|
||||
},
|
||||
{
|
||||
MENUITEMTYPE_CHECKBOX,
|
||||
0,
|
||||
|
|
|
|||
|
|
@ -79,6 +79,14 @@ struct menuitem g_KohOptionsMenuItems[] = {
|
|||
MPOPTION_NOAUTOAIM,
|
||||
menuhandlerMpCheckboxOption,
|
||||
},
|
||||
{
|
||||
MENUITEMTYPE_CHECKBOX,
|
||||
0,
|
||||
MENUITEMFLAG_LOCKABLEMINOR,
|
||||
L_MPMENU_252, // "Spawn With Weapon"
|
||||
MPOPTION_SPAWNWITHWEAPON,
|
||||
menuhandlerMpCheckboxOption,
|
||||
},
|
||||
{
|
||||
MENUITEMTYPE_CHECKBOX,
|
||||
0,
|
||||
|
|
|
|||
|
|
@ -56,6 +56,14 @@ struct menuitem g_PacOptionsMenuItems[] = {
|
|||
MPOPTION_NOAUTOAIM,
|
||||
menuhandlerMpCheckboxOption,
|
||||
},
|
||||
{
|
||||
MENUITEMTYPE_CHECKBOX,
|
||||
0,
|
||||
MENUITEMFLAG_LOCKABLEMINOR,
|
||||
L_MPMENU_252, // "Spawn With Weapon"
|
||||
MPOPTION_SPAWNWITHWEAPON,
|
||||
menuhandlerMpCheckboxOption,
|
||||
},
|
||||
{
|
||||
MENUITEMTYPE_CHECKBOX,
|
||||
0,
|
||||
|
|
|
|||
|
|
@ -794,8 +794,18 @@ void playerSpawn(void)
|
|||
invGiveSingleWeapon(WEAPON_UNARMED);
|
||||
playerSetShieldFrac(0);
|
||||
|
||||
bgunEquipWeapon2(HAND_LEFT, g_DefaultWeapons[HAND_LEFT]);
|
||||
bgunEquipWeapon2(HAND_RIGHT, g_DefaultWeapons[HAND_RIGHT]);
|
||||
if ((g_MpSetup.options & MPOPTION_SPAWNWITHWEAPON)
|
||||
&& g_MpSetup.weapons[0] != MPWEAPON_NONE
|
||||
&& g_MpSetup.weapons[0] != MPWEAPON_DISABLED) {
|
||||
struct mpweapon *mpweapon = &g_MpWeapons[g_MpSetup.weapons[0]];
|
||||
invGiveSingleWeapon(mpweapon->weaponnum);
|
||||
bgunEquipWeapon2(HAND_LEFT, WEAPON_NONE);
|
||||
bgunEquipWeapon2(HAND_RIGHT, mpweapon->weaponnum);
|
||||
bgunSetAmmoQuantity(mpweapon->weapon1ammotypeminusone, mpweapon->weapon1ammoqty);
|
||||
} else {
|
||||
bgunEquipWeapon2(HAND_LEFT, g_DefaultWeapons[HAND_LEFT]);
|
||||
bgunEquipWeapon2(HAND_RIGHT, g_DefaultWeapons[HAND_RIGHT]);
|
||||
}
|
||||
|
||||
if (g_Vars.currentplayer->model00d4 == NULL) {
|
||||
playerTickChrBody();
|
||||
|
|
|
|||
|
|
@ -2900,6 +2900,7 @@
|
|||
#define MPOPTION_HTM_SHOWONRADAR 0x00040000
|
||||
#define MPOPTION_PAC_HIGHLIGHTTARGET 0x00080000
|
||||
#define MPOPTION_PAC_SHOWONRADAR 0x00100000
|
||||
#define MPOPTION_SPAWNWITHWEAPON 0x00200000
|
||||
|
||||
#define MPPAUSEMODE_UNPAUSED 0
|
||||
#define MPPAUSEMODE_PAUSED 1
|
||||
|
|
|
|||
Loading…
Reference in New Issue