| 2981 | return handled; |
| 2982 | } |
| 2983 | bool HandleInventoryPowerups(char *pname, msafe_struct *mstruct, uint8_t *pickup) { |
| 2984 | bool handled = false; |
| 2985 | int pnum = IOBJ->id; |
| 2986 | // Afterburner cooler |
| 2987 | if (!stricmp("Afterburner", pname)) { |
| 2988 | handled = true; |
| 2989 | int ab_id = FindObjectIDName("Afterburner"); |
| 2990 | if (ab_id != -1) { |
| 2991 | |
| 2992 | int inv_count = Players[pnum].inventory.GetTypeIDCount(OBJ_POWERUP, ab_id); |
| 2993 | if (inv_count == 0) { |
| 2994 | // pickit up |
| 2995 | *pickup = 1; |
| 2996 | Players[pnum].inventory.Add(OBJ_POWERUP, ab_id, NULL, -1, -1, INVAF_TIMEOUTONSPEW, TXT_ABCOOLER); |
| 2997 | if (pnum == Player_num) |
| 2998 | AddFilteredHUDMessage(TXT_AFTERBURNERCOOLER); |
| 2999 | } else if (pnum == Player_num) { |
| 3000 | AddFilteredHUDMessage(TXT_ABCOOLERHAVE); |
| 3001 | } |
| 3002 | } |
| 3003 | } |
| 3004 | // Energy->Shield Converter |
| 3005 | else if (!stricmp("Converter", pname)) { |
| 3006 | handled = true; |
| 3007 | int es_id = FindObjectIDName("Converter"); |
| 3008 | if (es_id != -1) { |
| 3009 | int inv_count = Players[pnum].inventory.GetTypeIDCount(OBJ_POWERUP, es_id); |
| 3010 | if (inv_count == 0) { |
| 3011 | // pick it up |
| 3012 | *pickup = 1; |
| 3013 | Players[pnum].inventory.Add(OBJ_POWERUP, es_id, NULL, -1, -1, INVAF_TIMEOUTONSPEW); |
| 3014 | if (pnum == Player_num) |
| 3015 | AddFilteredHUDMessage(TXT_ETOSCONVERTER); |
| 3016 | } else if (pnum == Player_num) { |
| 3017 | AddFilteredHUDMessage(TXT_ETOSCONVHAVE); |
| 3018 | } |
| 3019 | } |
| 3020 | } |
| 3021 | return handled; |
| 3022 | } |
no test coverage detected