mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
Integrated geiger counters now generate audio based on dosage AFTER protection
This commit is contained in:
parent
0146e82866
commit
180234e245
@ -12,6 +12,7 @@ import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.extprop.HbmLivingProps;
|
||||
import com.hbm.handler.radiation.ChunkRadiationManager;
|
||||
import com.hbm.util.ContaminationUtil;
|
||||
import com.hbm.util.I18nUtil;
|
||||
|
||||
import cpw.mods.fml.common.gameevent.TickEvent;
|
||||
@ -48,8 +49,8 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
|
||||
|
||||
private String texture = "";
|
||||
private ResourceLocation overlay = null;
|
||||
public List<PotionEffect> effects = new ArrayList();
|
||||
public HashMap<String, Float> resistance = new HashMap();
|
||||
public List<PotionEffect> effects = new ArrayList<PotionEffect>();
|
||||
public HashMap<String, Float> resistance = new HashMap<String, Float>();
|
||||
public float blastProtection = -1;
|
||||
public float projectileProtection = -1;
|
||||
public float damageCap = -1;
|
||||
@ -572,34 +573,31 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
|
||||
if(this.armorType != 1)
|
||||
return;
|
||||
|
||||
if(!this.hasFSBArmor(entity) || !this.geigerSound)
|
||||
if(!hasFSBArmor(entity) || !this.geigerSound)
|
||||
return;
|
||||
|
||||
if(world.getTotalWorldTime() % 5 == 0) {
|
||||
|
||||
float x = HbmLivingProps.getRadBuf((EntityLivingBase)entity);
|
||||
|
||||
// Armor piece dosimeters indicate radiation dosage inside the armor, so reduce the counts by the effective protection
|
||||
float mod = ContaminationUtil.calculateRadiationMod(entity);
|
||||
float x = HbmLivingProps.getRadBuf(entity) * mod;
|
||||
|
||||
if(x > 1E-5) {
|
||||
|
||||
if(x > 0) {
|
||||
List<Integer> list = new ArrayList<Integer>();
|
||||
|
||||
if(x < 1) list.add(0);
|
||||
if(x < 5) list.add(0);
|
||||
if(x < 10) list.add(1);
|
||||
if(x > 5 && x < 15) list.add(2);
|
||||
if(x > 10 && x < 20) list.add(3);
|
||||
if(x > 15 && x < 25) list.add(4);
|
||||
if(x > 20 && x < 30) list.add(5);
|
||||
if(x > 25) list.add(6);
|
||||
|
||||
int r = list.get(world.rand.nextInt(list.size()));
|
||||
|
||||
if(r > 0)
|
||||
world.playSoundAtEntity(entity, "hbm:item.geiger" + r, 1.0F, 1.0F);
|
||||
} else if(world.rand.nextInt(50) == 0) {
|
||||
world.playSoundAtEntity(entity, "hbm:item.geiger" + (1 + world.rand.nextInt(1)), 1.0F, 1.0F);
|
||||
}
|
||||
List<Integer> list = new ArrayList<Integer>();
|
||||
|
||||
if(x < 1) list.add(0);
|
||||
if(x < 5) list.add(0);
|
||||
if(x < 10) list.add(1);
|
||||
if(x > 5 && x < 15) list.add(2);
|
||||
if(x > 10 && x < 20) list.add(3);
|
||||
if(x > 15 && x < 25) list.add(4);
|
||||
if(x > 20 && x < 30) list.add(5);
|
||||
if(x > 25) list.add(6);
|
||||
|
||||
int r = list.get(world.rand.nextInt(list.size()));
|
||||
|
||||
if(r > 0)
|
||||
world.playSoundAtEntity(entity, "hbm:item.geiger" + r, 1.0F, 1.0F);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -645,7 +643,7 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
private HashSet<EnumPlayerPart> hidden = new HashSet();
|
||||
private HashSet<EnumPlayerPart> hidden = new HashSet<EnumPlayerPart>();
|
||||
private boolean needsFullSet = false;
|
||||
|
||||
public ArmorFSB hides(EnumPlayerPart... parts) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user