import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("bq") @Implements("HealthBarUpdate") public class HealthBarUpdate extends Node { @ObfuscatedName("f") public static String field993; @ObfuscatedName("z") @ObfuscatedGetter( intValue = 2051178983 ) @Export("cycle") int cycle; @ObfuscatedName("n") @ObfuscatedGetter( intValue = -670451385 ) @Export("health") int health; @ObfuscatedName("v") @ObfuscatedGetter( intValue = -326291957 ) @Export("health2") int health2; @ObfuscatedName("u") @ObfuscatedGetter( intValue = -809927427 ) @Export("cycleOffset") int cycleOffset; HealthBarUpdate(int var1, int var2, int var3, int var4) { this.cycle = var1; this.health = var2; this.health2 = var3; this.cycleOffset = var4; } @ObfuscatedName("z") @ObfuscatedSignature( signature = "(IIIII)V", garbageValue = "1094969728" ) @Export("set") void set(int var1, int var2, int var3, int var4) { this.cycle = var1; this.health = var2; this.health2 = var3; this.cycleOffset = var4; } @ObfuscatedName("v") @ObfuscatedSignature( signature = "(III)Lbe;", garbageValue = "776889337" ) @Export("Messages_getByChannelAndID") static Message Messages_getByChannelAndID(int var0, int var1) { ChatChannel var2 = (ChatChannel)Messages.Messages_channels.get(var0); return var2.getMessage(var1); } @ObfuscatedName("ff") @ObfuscatedSignature( signature = "(I)V", garbageValue = "146894465" ) static final void method1769() { for (int var0 = 0; var0 < Client.soundEffectCount; ++var0) { int var10002 = Client.queuedSoundEffectDelays[var0]--; if (Client.queuedSoundEffectDelays[var0] >= -10) { SoundEffect var9 = Client.soundEffects[var0]; if (var9 == null) { Object var10000 = null; var9 = SoundEffect.readSoundEffect(GrandExchangeOfferAgeComparator.archive4, Client.soundEffectIds[var0], 0); if (var9 == null) { continue; } int[] var13 = Client.queuedSoundEffectDelays; var13[var0] += var9.calculateDelay(); Client.soundEffects[var0] = var9; } if (Client.queuedSoundEffectDelays[var0] < 0) { int var2; if (Client.soundLocations[var0] != 0) { int var3 = (Client.soundLocations[var0] & 255) * 128; int var4 = Client.soundLocations[var0] >> 16 & 255; int var5 = var4 * 128 + 64 - class223.localPlayer.x; if (var5 < 0) { var5 = -var5; } int var6 = Client.soundLocations[var0] >> 8 & 255; int var7 = var6 * 128 + 64 - class223.localPlayer.y; if (var7 < 0) { var7 = -var7; } int var8 = var5 + var7 - 128; if (var8 > var3) { Client.queuedSoundEffectDelays[var0] = -100; continue; } if (var8 < 0) { var8 = 0; } var2 = (var3 - var8) * Client.areaSoundEffectVolume / var3; } else { var2 = Client.soundEffectVolume; } if (var2 > 0) { RawSound var10 = var9.toRawSound().resample(Interpreter.decimator); RawPcmStream var11 = RawPcmStream.createRawPcmStream(var10, 100, var2); var11.setNumLoops(Client.queuedSoundEffectLoops[var0] - 1); WorldMapLabelSize.pcmStreamMixer.addSubStream(var11); } Client.queuedSoundEffectDelays[var0] = -100; } } else { --Client.soundEffectCount; for (int var1 = var0; var1 < Client.soundEffectCount; ++var1) { Client.soundEffectIds[var1] = Client.soundEffectIds[var1 + 1]; Client.soundEffects[var1] = Client.soundEffects[var1 + 1]; Client.queuedSoundEffectLoops[var1] = Client.queuedSoundEffectLoops[var1 + 1]; Client.queuedSoundEffectDelays[var1] = Client.queuedSoundEffectDelays[var1 + 1]; Client.soundLocations[var1] = Client.soundLocations[var1 + 1]; } --var0; } } if (Client.field759) { boolean var12; if (class197.field2386 != 0) { var12 = true; } else { var12 = class49.midiPcmStream.isReady(); } if (!var12) { if (Client.musicVolume != 0 && Client.currentTrackGroupId != -1) { class83.playMusicTrack(class225.archive6, Client.currentTrackGroupId, 0, Client.musicVolume, false); } Client.field759 = false; } } } }