diff --git a/src/game/chraicommands.c b/src/game/chraicommands.c index 805fd739c..7fd81d305 100644 --- a/src/game/chraicommands.c +++ b/src/game/chraicommands.c @@ -2330,7 +2330,7 @@ bool aiGiveObjectToChr(void) } #endif - something = propPickupByPlayer(obj->prop, 0); + something = propPickupByPlayer(obj->prop, 1); propExecuteTickOperation(obj->prop, something); playernum = playermgrGetPlayerNumByProp(chr->prop); obj2->hidden = (playernum << 28) | (obj2->hidden & 0x0fffffff); diff --git a/src/game/propobj.c b/src/game/propobj.c index 9c6c8d864..0d1b3f253 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -17201,6 +17201,12 @@ void currentPlayerQueuePickupWeaponHudmsg(u32 weaponnum, bool dual) { char buffer[100] = ""; + // Suppress pickup HUD during cutscenes + if (g_Vars.in_cutscene) + { + return; + } + weaponGetPickupText(buffer, weaponnum, dual); hudmsgCreateWithFlags(buffer, HUDMSGTYPE_DEFAULT, HUDMSGFLAG_ONLYIFALIVE | HUDMSGFLAG_ALLOWDUPES); } @@ -17217,6 +17223,13 @@ s32 propPickupByPlayer(struct prop *prop, bool showhudmsg) return TICKOP_NONE; } + // Suppress HUD pickup messages during cutscenes (e.g. items given at + // mission start via aiGiveObjectToChr) + if (g_Vars.in_cutscene) + { + showhudmsg = false; + } + switch (obj->type) { case OBJTYPE_KEY: if (g_Vars.in_cutscene == false) {