MCPcopy Create free account
hub / github.com/demoth/jake2 / G_SetStats

Method G_SetStats

game/src/main/java/jake2/game/PlayerHud.java:265–399  ·  view source on GitHub ↗
(SubgameEntity ent, GameExportsImpl gameExports)

Source from the content-addressed store, hash-verified

263 * ===============
264 */
265 public static void G_SetStats(SubgameEntity ent, GameExportsImpl gameExports) {
266 int cells = 0;
267 int power_armor_type;
268
269 //
270 // health
271 //
272 gclient_t client = ent.getClient();
273 client.getPlayerState().stats[Defines.STAT_HEALTH_ICON] = (short) gameExports.level.pic_health;
274 client.getPlayerState().stats[Defines.STAT_HEALTH] = (short) ent.health;
275
276 //
277 // ammo
278 //
279 if (0 == client.ammo_index /*
280 * ||
281 * !ent.client.pers.inventory[ent.client.ammo_index]
282 */
283 ) {
284 client.getPlayerState().stats[Defines.STAT_AMMO_ICON] = 0;
285 client.getPlayerState().stats[Defines.STAT_AMMO] = 0;
286 } else {
287 GameItem ammo = gameExports.items.get(client.ammo_index);
288 client.getPlayerState().stats[Defines.STAT_AMMO_ICON] = (short) gameExports.gameImports.imageindex(ammo.icon);
289 client.getPlayerState().stats[Defines.STAT_AMMO] = (short) client.pers.inventory[client.ammo_index];
290 }
291
292 //
293 // armor
294 //
295 power_armor_type = GameItems.PowerArmorType(ent, gameExports);
296 if (power_armor_type != 0) {
297 cells = client.pers.inventory[GameItems
298 .FindItem("cells", gameExports).index];
299 if (cells == 0) { // ran out of cells for power armor
300 ent.flags &= ~GameDefines.FL_POWER_ARMOR;
301 gameExports.gameImports
302 .sound(ent, Defines.CHAN_ITEM, gameExports.gameImports
303 .soundindex("misc/power2.wav"), 1,
304 Defines.ATTN_NORM, 0);
305 power_armor_type = 0;
306 ;
307 }
308 }
309
310 int index = GameItems.ArmorIndex(ent, gameExports);
311 // flash between power armor and other armor icon
312 if (power_armor_type != 0 && (-1 == index || 0 != (gameExports.level.framenum & 8))) {
313 client.getPlayerState().stats[Defines.STAT_ARMOR_ICON] = (short) gameExports.gameImports.imageindex("i_powershield");
314 client.getPlayerState().stats[Defines.STAT_ARMOR] = (short) cells;
315 } else if (index != -1) {
316 GameItem armor = GameItems.GetItemByIndex(index, gameExports);
317 client.getPlayerState().stats[Defines.STAT_ARMOR_ICON] = (short) gameExports.gameImports.imageindex(armor.icon);
318 client.getPlayerState().stats[Defines.STAT_ARMOR] = (short) client.pers.inventory[index];
319 } else {
320 client.getPlayerState().stats[Defines.STAT_ARMOR_ICON] = 0;
321 client.getPlayerState().stats[Defines.STAT_ARMOR] = 0;
322 }

Callers 2

G_SetSpectatorStatsMethod · 0.95
ClientEndServerFrameMethod · 0.95

Calls 10

getPlayerStateMethod · 0.95
PowerArmorTypeMethod · 0.95
FindItemMethod · 0.95
ArmorIndexMethod · 0.95
GetItemByIndexMethod · 0.95
imageindexMethod · 0.65
soundMethod · 0.65
soundindexMethod · 0.65
getClientMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected