diff --git a/src/main/java/com/hbm/entity/mob/EntityQuackos.java b/src/main/java/com/hbm/entity/mob/EntityQuackos.java index e3b77722b..ce4e728cd 100644 --- a/src/main/java/com/hbm/entity/mob/EntityQuackos.java +++ b/src/main/java/com/hbm/entity/mob/EntityQuackos.java @@ -6,6 +6,7 @@ import com.hbm.items.ModItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.EntityAgeable; +import net.minecraft.entity.EntityLeashKnot; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.player.EntityPlayer; @@ -134,7 +135,10 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData { public float getShadowSize() { return 7.5F; } - + + /** + * BOW + */ @Override public void onLivingUpdate() { super.onLivingUpdate(); @@ -143,4 +147,13 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData { this.setPosition(this.posX + rand.nextGaussian() * 30, 256, this.posZ + rand.nextGaussian() * 30); } } + + @Override + protected void updateLeashedState() { + + if(this.getLeashedToEntity() instanceof EntityLeashKnot) + this.getLeashedToEntity().setDead(); + + super.updateLeashedState(); + } } diff --git a/src/main/java/com/hbm/handler/BobmazonOfferFactory.java b/src/main/java/com/hbm/handler/BobmazonOfferFactory.java index 539594390..3d20d2482 100644 --- a/src/main/java/com/hbm/handler/BobmazonOfferFactory.java +++ b/src/main/java/com/hbm/handler/BobmazonOfferFactory.java @@ -274,6 +274,21 @@ public class BobmazonOfferFactory { new ItemStack(ModItems.pipe_lead).setStackDisplayName("Get Nutted, Dumbass"), new ItemStack(ModItems.gem_alexandrite) ).setStackDisplayName("The Nut Bucket"), Requirement.HIDDEN, 64)); + + special.add(new Offer(ItemKitNBT.create( + new ItemStack(ModItems.rpa_helmet), + new ItemStack(ModItems.rpa_plate), + new ItemStack(ModItems.rpa_legs), + new ItemStack(ModItems.rpa_boots), + new ItemStack(ModItems.gun_lacunae), + new ItemStack(ModItems.ammo_5mm_star, 64), + new ItemStack(ModItems.ammo_5mm_star, 64), + new ItemStack(ModItems.ammo_5mm_star, 64), + new ItemStack(ModItems.ammo_5mm_star, 64), + new ItemStack(ModItems.ammo_5mm_star, 64), + new ItemStack(ModItems.ammo_5mm_star, 64), + new ItemStack(ModItems.ammo_5mm_star, 64) + ).setStackDisplayName("Frenchman's Reward"), Requirement.HIDDEN, 32)); } public static List getOffers(ItemStack stack) { diff --git a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java index a4e6294a1..64d4a98eb 100644 --- a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java @@ -210,6 +210,7 @@ public class BulletConfigSyncingUtil { public static int NUKE_TOTS = i++; public static int NUKE_SAFE = i++; public static int NUKE_PUMPKIN = i++; + public static int NUKE_BARREL = i++; public static int NUKE_PROTO_NORMAL = i++; public static int NUKE_PROTO_LOW = i++; public static int NUKE_PROTO_HIGH = i++; @@ -451,6 +452,7 @@ public class BulletConfigSyncingUtil { configSet.put(NUKE_TOTS, GunFatmanFactory.getNukeTotsConfig()); configSet.put(NUKE_SAFE, GunFatmanFactory.getNukeSafeConfig()); configSet.put(NUKE_PUMPKIN, GunFatmanFactory.getNukePumpkinConfig()); + configSet.put(NUKE_BARREL, GunFatmanFactory.getNukeBarrelConfig()); configSet.put(NUKE_PROTO_NORMAL, GunFatmanFactory.getNukeConfig().accuracyMod(20F)); configSet.put(NUKE_PROTO_LOW, GunFatmanFactory.getNukeLowConfig().accuracyMod(20F)); configSet.put(NUKE_PROTO_HIGH, GunFatmanFactory.getNukeHighConfig().accuracyMod(20F)); diff --git a/src/main/java/com/hbm/handler/BulletConfiguration.java b/src/main/java/com/hbm/handler/BulletConfiguration.java index 656119fa4..4aa8c75ee 100644 --- a/src/main/java/com/hbm/handler/BulletConfiguration.java +++ b/src/main/java/com/hbm/handler/BulletConfiguration.java @@ -120,6 +120,7 @@ public class BulletConfiguration { public static final int STYLE_METEOR = 13; public static final int STYLE_APDS = 14; public static final int STYLE_BLADE = 15; + public static final int STYLE_BARREL = 16; public static final int PLINK_NONE = 0; public static final int PLINK_BULLET = 1; diff --git a/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java b/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java index 8348012fc..c9091dc50 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java @@ -2,6 +2,7 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; +import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNT; @@ -9,6 +10,7 @@ import com.hbm.explosion.ExplosionNT.ExAttrib; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; +import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.items.ModItems; @@ -17,7 +19,9 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.render.util.RenderScreenOverlay.Crosshair; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; public class GunFatmanFactory { @@ -213,7 +217,7 @@ public class GunFatmanFactory { @Override public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - if(bullet.worldObj.isRemote) { + if(!bullet.worldObj.isRemote) { double posX = bullet.posX; double posY = bullet.posY + 0.5; @@ -233,6 +237,63 @@ public class GunFatmanFactory { return bullet; } + public static BulletConfiguration getNukeBarrelConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); + bullet.ammo = ModItems.ammo_nuke_pumpkin; + bullet.explosive = 3F; + bullet.style = bullet.STYLE_BARREL; + + bullet.bImpact = new IBulletImpactBehavior() { + + @Override + public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + + if(!bullet.worldObj.isRemote) { + + double posX = bullet.posX; + double posY = bullet.posY + 0.5; + double posZ = bullet.posZ; + + if(y >= 0) { + posX = x + 0.5; + posY = y + 1.5; + posZ = z + 0.5; + } + + x = (int)Math.floor(posX); + y = (int)Math.floor(posY); + z = (int)Math.floor(posZ); + + World worldObj = bullet.worldObj; + + for(int ix = x - 3; ix <= x + 3; ix++) { + for(int iy = y - 3; iy <= y + 3; iy++) { + for(int iz = z - 3; iz <= z + 3; iz++) { + + if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock(ix, iy, iz).isReplaceable(worldObj, ix, iy, iz) && ModBlocks.fallout.canPlaceBlockAt(worldObj, ix, iy, iz)) { + worldObj.setBlock(ix, iy, iz, ModBlocks.fallout); + } else if(worldObj.getBlock(ix, iy, iz) == Blocks.air) { + + if(worldObj.rand.nextBoolean()) + worldObj.setBlock(ix, iy, iz, ModBlocks.gas_radon); + else + worldObj.setBlock(ix, iy, iz, ModBlocks.gas_radon_dense); + } + } + } + } + + ChunkRadiationManager.proxy.incrementRad(worldObj, x, y, z, 100F); + + ExplosionLarge.spawnParticles(bullet.worldObj, posX, posY, posZ, 45); + } + } + }; + + return bullet; + } + public static BulletConfiguration getMirvConfig() { BulletConfiguration bullet = getNukeConfig(); diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index b05d6ce3f..654135df1 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -950,15 +950,13 @@ public class AssemblerRecipes { }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_radiolysis), new AStack[] { - new OreDictStack(STEEL.ingot(), 8), + new OreDictStack(STEEL.ingot(), 12), new OreDictStack(TCALLOY.ingot(), 4), - new ComparableStack(ModBlocks.steel_beam, 16), new OreDictStack(DURA.ingot(), 10), - new OreDictStack(DESH.ingot(), 4), + new OreDictStack(RUBBER.ingot(), 4), new OreDictStack(PB.plate(), 12), new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.thermo_element, 10), - new ComparableStack(ModItems.circuit_copper, 3), new ComparableStack(ModItems.wire_red_copper, 8), new ComparableStack(ModItems.tank_steel, 3) }, 200); diff --git a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java index 17e3ea6bb..8cb7824e3 100644 --- a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java @@ -162,7 +162,8 @@ public class RefineryRecipes { }; ItemStack[] out = new ItemStack[] { ItemFluidIcon.make(recipe.getValue().getKey()), - ItemFluidIcon.make(recipe.getValue().getValue()) + ItemFluidIcon.make(recipe.getValue().getValue()), + ItemFluidIcon.make(Fluids.SPENTSTEAM, 2) }; recipes.put(in, recipe.getValue().getValue().type == Fluids.NONE ? ItemFluidIcon.make(recipe.getValue().getKey()) : out); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 4e7fe4e28..1ebf0c8ff 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1551,6 +1551,7 @@ public class ModItems { public static Item ammo_nuke_tots; public static Item ammo_nuke_safe; public static Item ammo_nuke_pumpkin; + public static Item ammo_nuke_barrel; public static Item ammo_mirv; public static Item ammo_mirv_low; public static Item ammo_mirv_high; @@ -4216,6 +4217,7 @@ public class ModItems { ammo_nuke_tots = new ItemAmmo().setUnlocalizedName("ammo_nuke_tots"); ammo_nuke_safe = new ItemAmmo().setUnlocalizedName("ammo_nuke_safe"); ammo_nuke_pumpkin = new ItemAmmo().setUnlocalizedName("ammo_nuke_pumpkin"); + ammo_nuke_barrel = new ItemAmmo().setUnlocalizedName("ammo_nuke_barrel"); ammo_mirv = new ItemAmmo().setUnlocalizedName("ammo_mirv"); ammo_mirv_low = new ItemAmmo().setUnlocalizedName("ammo_mirv_low"); ammo_mirv_high = new ItemAmmo().setUnlocalizedName("ammo_mirv_high"); @@ -7251,6 +7253,7 @@ public class ModItems { GameRegistry.registerItem(ammo_nuke_tots, ammo_nuke_tots.getUnlocalizedName()); GameRegistry.registerItem(ammo_nuke_safe, ammo_nuke_safe.getUnlocalizedName()); GameRegistry.registerItem(ammo_nuke_pumpkin, ammo_nuke_pumpkin.getUnlocalizedName()); + GameRegistry.registerItem(ammo_nuke_barrel, ammo_nuke_barrel.getUnlocalizedName()); GameRegistry.registerItem(ammo_mirv, ammo_mirv.getUnlocalizedName()); GameRegistry.registerItem(ammo_mirv_low, ammo_mirv_low.getUnlocalizedName()); GameRegistry.registerItem(ammo_mirv_high, ammo_mirv_high.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/tool/ItemLaserDetonator.java b/src/main/java/com/hbm/items/tool/ItemLaserDetonator.java index 7f8f244eb..6a8fe97e1 100644 --- a/src/main/java/com/hbm/items/tool/ItemLaserDetonator.java +++ b/src/main/java/com/hbm/items/tool/ItemLaserDetonator.java @@ -7,8 +7,10 @@ import org.apache.logging.log4j.Level; import com.hbm.config.GeneralConfig; import com.hbm.interfaces.IBomb; import com.hbm.interfaces.IBomb.BombReturnCode; +import com.hbm.interfaces.IHoldableWeapon; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; +import com.hbm.render.util.RenderScreenOverlay.Crosshair; import com.hbm.util.ChatBuilder; import net.minecraft.entity.player.EntityPlayer; @@ -19,7 +21,7 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class ItemLaserDetonator extends Item { +public class ItemLaserDetonator extends Item implements IHoldableWeapon { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { @@ -70,4 +72,9 @@ public class ItemLaserDetonator extends Item { return stack; } + + @Override + public Crosshair getCrosshair() { + return Crosshair.L_ARROWS; + } } diff --git a/src/main/java/com/hbm/lib/Library.java b/src/main/java/com/hbm/lib/Library.java index a6733bb29..a1791721e 100644 --- a/src/main/java/com/hbm/lib/Library.java +++ b/src/main/java/com/hbm/lib/Library.java @@ -60,7 +60,6 @@ public class Library { public static String Hoboy03new = "d7f29d9c-5103-4f6f-88e1-2632ff95973f"; public static String Dragon59MC = "dc23a304-0f84-4e2d-b47d-84c8d3bfbcdb"; public static String Steelcourage = "ac49720b-4a9a-4459-a26f-bee92160287a"; - public static String GOD___TM = "57146e3f-16b5-4e9f-b0b8-139bec2ca2cb"; public static String ZippySqrl = "03c20435-a229-489a-a1a1-671b803f7017"; public static String Schrabby = "3a4a1944-5154-4e67-b80a-b6561e8630b7"; public static String SweatySwiggs = "5544aa30-b305-4362-b2c1-67349bb499d5"; @@ -74,6 +73,7 @@ public class Library { public static String Tankish = "609268ad-5b34-49c2-abba-a9d83229af03"; public static String SolsticeUnlimitd = "f5574fd2-ec28-4927-9d11-3c0c731771f4"; public static String FrizzleFrazzle = "fc4cc2ee-12e8-4097-b26a-1c6cb1b96531"; + public static String the_NCR = "28ae585f-4431-4491-9ce8-3def6126e3c6"; public static Set contributors = Sets.newHashSet(new String[] { "06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf diff --git a/src/main/java/com/hbm/lib/ModDamageSource.java b/src/main/java/com/hbm/lib/ModDamageSource.java index 3101718c0..0c5e3ba5a 100644 --- a/src/main/java/com/hbm/lib/ModDamageSource.java +++ b/src/main/java/com/hbm/lib/ModDamageSource.java @@ -52,6 +52,7 @@ public class ModDamageSource extends DamageSource { public static DamageSource mku = (new DamageSource("mku")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource vacuum = (new DamageSource("vacuum")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource overdose = (new DamageSource("overdose")).setDamageIsAbsolute().setDamageBypassesArmor(); + public static DamageSource microwave = (new DamageSource("microwave")).setDamageIsAbsolute().setDamageBypassesArmor(); public static final String s_bullet = "revolverBullet"; public static final String s_emplacer = "chopperBullet"; diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 45aae560c..d7dd5518f 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -415,6 +415,7 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolter_digamma, new ItemRenderWeaponBolter()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_fireext, new ItemRenderFireExt()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_ar15, new ItemRenderWeaponAR15()); + MinecraftForgeClient.registerItemRenderer(ModItems.detonator_laser, new ItemRenderDetonatorLaser()); //multitool MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool()); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index cb0112dc3..10d4ea820 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -62,7 +62,6 @@ import com.hbm.util.EntityDamageUtil; import com.hbm.world.WorldProviderNTM; import com.hbm.world.generator.TimedGenerator; -import codechicken.lib.math.MathHelper; import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -114,6 +113,7 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.FoodStats; +import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.World; @@ -1004,9 +1004,10 @@ public class ModEventHandler { if(player.getCurrentArmor(2) == null && !player.onGround) { boolean isBob = player.getUniqueID().toString().equals(Library.HbMinecraft) || player.getDisplayName().equals("HbMinecraft"); - boolean isSol = player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd"); + boolean isOther = player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd") || + player.getUniqueID().toString().equals(Library.the_NCR) || player.getDisplayName().equals("the_NCR"); - if(isBob || isSol) { + if(isBob || isOther) { ArmorUtil.resetFlightTime(player); @@ -1029,7 +1030,7 @@ public class ModEventHandler { else player.motionY = cap + 0.15D; - if(isSol) { + if(isOther) { if(player.getFoodStats().getSaturationLevel() > 0F) player.addExhaustion(4F); //burn up saturation so that super-saturating foods have no effect else @@ -1045,7 +1046,7 @@ public class ModEventHandler { else if(player.motionY < 0) player.motionY = 0; - if(isSol && !player.onGround) { + if(isOther && !player.onGround) { if(player.getFoodStats().getSaturationLevel() > 0F) player.addExhaustion(4F); else diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 95068fd96..a61f82536 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -335,7 +335,9 @@ public class ModEventHandlerClient { if(player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd")) RenderAccessoryUtility.renderSol(event); if(player.getUniqueID().toString().equals(Library.HbMinecraft) || player.getDisplayName().equals("HbMinecraft")) - RenderAccessoryUtility.renderWings(event); + RenderAccessoryUtility.renderWings(event, 2); + if(player.getUniqueID().toString().equals(Library.the_NCR) || player.getDisplayName().equals("the_NCR")) + RenderAccessoryUtility.renderWings(event, 3); } } diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index cd3adf9cf..705fd69ce 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -624,6 +624,7 @@ public class ResourceManager { public static final IModelCustom mg42 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/mg42.obj")); public static final IModelCustom rem700 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700.obj")); public static final IModelCustom cursed_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cursed.obj")); + public static final IModelCustom detonator_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/detonator_laser.obj")); public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); @@ -692,6 +693,7 @@ public class ResourceManager { public static final ResourceLocation sky_stinger_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sky_stinger.png"); public static final ResourceLocation mg42_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/mg42.png"); public static final ResourceLocation rem700_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700.png"); + public static final ResourceLocation detonator_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/detonator_laser.png"); public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png"); @@ -756,6 +758,7 @@ public class ResourceManager { public static final ResourceLocation wings_murk = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_murk.png"); public static final ResourceLocation wings_bob = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_bob.png"); + public static final ResourceLocation wings_black = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_black.png"); public static final ResourceLocation wings_solstice = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_solstice.png"); public static final ResourceLocation hat = new ResourceLocation(RefStrings.MODID, "textures/armor/hat.png"); diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java b/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java index b19c898bb..deffd0ab3 100644 --- a/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java +++ b/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java @@ -68,6 +68,7 @@ public class RenderBullet extends Render { case BulletConfiguration.STYLE_METEOR: renderMeteor(trail); break; case BulletConfiguration.STYLE_APDS: renderAPDS(); break; case BulletConfiguration.STYLE_BLADE: renderBlade(); break; + case BulletConfiguration.STYLE_BARREL: renderNuke(3); break; default: renderBullet(trail); break; } @@ -217,6 +218,13 @@ public class RenderBullet extends Render { case 2: bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/BaleFlare.png")); bf.renderAll(0.0625F); break; + case 3: + GL11.glScaled(0.5, 0.5, 0.5); + GL11.glRotated(90, 0, 0, 1); + GL11.glRotated(90, 0, 1, 0); + bindTexture(ResourceManager.waste_drum_tex); + ResourceManager.waste_drum.renderAll(); + break; } } diff --git a/src/main/java/com/hbm/render/item/ItemRenderDetonatorLaser.java b/src/main/java/com/hbm/render/item/ItemRenderDetonatorLaser.java new file mode 100644 index 000000000..f7e2f7e35 --- /dev/null +++ b/src/main/java/com/hbm/render/item/ItemRenderDetonatorLaser.java @@ -0,0 +1,100 @@ +package com.hbm.render.item; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.client.IItemRenderer.ItemRenderType; +import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; + +public class ItemRenderDetonatorLaser implements IItemRenderer { + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + case INVENTORY: + return true; + default: return false; + } + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + + return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + + GL11.glPushMatrix(); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.detonator_laser_tex); + + switch(type) { + + case EQUIPPED_FIRST_PERSON: + + double s0 = 0.25D; + GL11.glScaled(s0, s0, s0); + + GL11.glRotatef(80F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-20F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(1.0F, 0.5F, 3.0F); + + break; + + case EQUIPPED: + + double scale = 0.125D; + GL11.glScaled(-scale, -scale, -scale); + GL11.glRotatef(85F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(145F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(-0.5F, -1.0F, 6.5F); + break; + + case ENTITY: + + double s1 = 0.25D; + GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); + GL11.glScaled(s1, s1, s1); + break; + + case INVENTORY: + + GL11.glEnable(GL11.GL_LIGHTING); + + double s = 3.5D; + GL11.glScaled(s, s, -s); + GL11.glTranslatef(1.5F, 2.75F, 0.0F); + GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F); + + break; + + default: break; + } + + ResourceManager.detonator_laser.renderPart("Main"); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glColor3f(1F, 0F, 0F); + ResourceManager.detonator_laser.renderPart("Lights"); + GL11.glColor3f(1F, 1F, 1F); + GL11.glEnable(GL11.GL_TEXTURE_2D); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/model/ModelArmorWings.java b/src/main/java/com/hbm/render/model/ModelArmorWings.java index f5524256c..280da5bdc 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorWings.java +++ b/src/main/java/com/hbm/render/model/ModelArmorWings.java @@ -160,9 +160,11 @@ public class ModelArmorWings extends ModelArmorBase { } protected ResourceLocation getTexture() { - + if(this.type == 2) return ResourceManager.wings_bob; + if(this.type == 3) + return ResourceManager.wings_black; return ResourceManager.wings_murk; } diff --git a/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java b/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java index a001801af..7103eebad 100644 --- a/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java +++ b/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java @@ -143,17 +143,17 @@ public class RenderAccessoryUtility { solModel.render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F); } - private static ModelBiped wingModel; - public static void renderWings(RenderPlayerEvent.SetArmorModel event) { + private static ModelBiped[] wingModels = new ModelBiped[10]; + public static void renderWings(RenderPlayerEvent.SetArmorModel event, int mode) { - if(wingModel == null) - wingModel = new ModelArmorWings(2); + if(wingModels[mode] == null) + wingModels[mode] = new ModelArmorWings(mode); RenderPlayer renderer = event.renderer; ModelBiped model = renderer.modelArmor; EntityPlayer player = event.entityPlayer; - wingModel.isSneak = model.isSneak; + wingModels[mode].isSneak = model.isSneak; float interp = event.partialRenderTick; float yawHead = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * interp; @@ -162,6 +162,6 @@ public class RenderAccessoryUtility { float yawWrapped = MathHelper.wrapAngleTo180_float(yawHead - yawOffset); float pitch = player.rotationPitch; - wingModel.render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F); + wingModels[mode].render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F); } } diff --git a/src/main/java/com/hbm/sound/nt/ISoundSourceTE.java b/src/main/java/com/hbm/sound/nt/ISoundSourceTE.java new file mode 100644 index 000000000..a3aa01260 --- /dev/null +++ b/src/main/java/com/hbm/sound/nt/ISoundSourceTE.java @@ -0,0 +1,17 @@ +package com.hbm.sound.nt; + +import net.minecraft.util.Vec3; + +public interface ISoundSourceTE { + + public Vec3 getSoundLocation(); + public boolean isPlaying(); + + public default float getVolume() { + return 1F; + } + + public default float getPitch() { + return 1F; + } +} diff --git a/src/main/java/com/hbm/sound/nt/SoundTE.java b/src/main/java/com/hbm/sound/nt/SoundTE.java new file mode 100644 index 000000000..d6cc4b345 --- /dev/null +++ b/src/main/java/com/hbm/sound/nt/SoundTE.java @@ -0,0 +1,90 @@ +package com.hbm.sound.nt; + +import net.minecraft.client.audio.ITickableSound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; + +public class SoundTE implements ITickableSound { + + ISoundSourceTE source; + + private ResourceLocation sound; + private boolean canRepeat = true; + private int repeatDelay = 0; + private boolean donePlaying = true; + private float soundX; + private float soundY; + private float soundZ; + private float volume; + private float pitch; + + public SoundTE(String sound) { + this.sound = new ResourceLocation(sound); + } + + @Override + public ResourceLocation getPositionedSoundLocation() { + return this.sound; + } + + @Override + public boolean canRepeat() { + return this.canRepeat; + } + + @Override + public int getRepeatDelay() { + return this.repeatDelay; + } + + @Override + public float getVolume() { + return this.volume; + } + + @Override + public float getPitch() { + return this.pitch; + } + + @Override + public float getXPosF() { + return this.soundX; + } + + @Override + public float getYPosF() { + return this.soundY; + } + + @Override + public float getZPosF() { + return this.soundZ; + } + + @Override + public AttenuationType getAttenuationType() { + return AttenuationType.LINEAR; + } + + @Override + public void update() { + + if(this.source == null) + return; + + this.volume = this.source.getVolume(); + this.pitch = this.source.getPitch(); + + Vec3 pos = this.source.getSoundLocation(); + this.soundX = (float) pos.xCoord; + this.soundY = (float) pos.yCoord; + this.soundZ = (float) pos.zCoord; + + } + + @Override + public boolean isDonePlaying() { + return this.donePlaying; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java index 0d32c35f9..348e78347 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java @@ -30,7 +30,7 @@ public class TileEntityHadronPower extends TileEntity implements IEnergyUser { @Override public void setPower(long i) { power = i; - this.markDirty(); + this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index 24a59581e..bac29cd64 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.List; import com.hbm.blocks.BlockDummyable; -import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidTank; @@ -17,17 +16,13 @@ import com.hbm.inventory.recipes.ChemplantRecipes.ChemRecipe; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.InventoryUtil; import api.hbm.energy.IEnergyUser; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; @@ -220,6 +215,9 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements this.power -= this.consumption; this.progress++; + if(slots[0] != null && slots[0].getItem() == ModItems.meteorite_sword_machined) + slots[0] = new ItemStack(ModItems.meteorite_sword_treated); //fisfndmoivndlmgindgifgjfdnblfm + ChemRecipe recipe = ChemplantRecipes.indexMapping.get(slots[4].getItemDamage()); this.maxProgress = recipe.getDuration() * this.speed / 100; @@ -411,10 +409,9 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements @Override public int getMaxFluidFill(FluidType type) { - for(FluidTank tank : tanks) { - if(tank.getTankType() == type) { - - return tank.getMaxFill(); + for(int i = 0; i < 2; i++) { + if(tanks[i].getTankType() == type) { + return tanks[i].getMaxFill(); } } @@ -476,9 +473,6 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements } } - @Deprecated - public void handleButtonPacket(int value, int meta) { } - @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java index 2fb0a2a57..26ae435e8 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.List; import com.hbm.blocks.BlockDummyable; -import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidStack; @@ -14,29 +13,28 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.recipes.RefineryRecipes; import com.hbm.lib.Library; import com.hbm.util.Tuple.Pair; -import com.hbm.util.Tuple.Quartet; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -import scala.actors.threadpool.Arrays; public class TileEntityMachineCatalyticCracker extends TileEntity implements IFluidSource, IFluidAcceptor { public FluidTank[] tanks; public List list1 = new ArrayList(); public List list2 = new ArrayList(); + public List list3 = new ArrayList(); public TileEntityMachineCatalyticCracker() { - tanks = new FluidTank[4]; + tanks = new FluidTank[5]; tanks[0] = new FluidTank(Fluids.BITUMEN, 4000, 0); tanks[1] = new FluidTank(Fluids.STEAM, 8000, 1); tanks[2] = new FluidTank(Fluids.OIL, 4000, 2); tanks[3] = new FluidTank(Fluids.PETROLEUM, 4000, 3); + tanks[4] = new FluidTank(Fluids.SPENTSTEAM, 800, 4); } @Override @@ -52,6 +50,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl if(worldObj.getTotalWorldTime() % 10 == 0) { fillFluidInit(tanks[2].getTankType()); fillFluidInit(tanks[3].getTankType()); + fillFluidInit(tanks[4].getTankType()); } } } @@ -70,12 +69,13 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl tanks[1].setFill(tanks[1].getFill() - 200); tanks[2].setFill(tanks[2].getFill() + left); tanks[3].setFill(tanks[3].getFill() + right); + tanks[4].setFill(tanks[4].getFill() + 2); //LPS has the density of WATER not STEAM (1%!) } } } private boolean hasSpace(int left, int right) { - return tanks[2].getFill() + left <= tanks[2].getMaxFill() && tanks[3].getFill() + right <= tanks[3].getMaxFill(); + return tanks[2].getFill() + left <= tanks[2].getMaxFill() && tanks[3].getFill() + right <= tanks[3].getMaxFill() && tanks[4].getFill() + 200 <= tanks[4].getMaxFill(); } private void setupTanks() { @@ -86,11 +86,13 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl tanks[1].setTankType(Fluids.STEAM); tanks[2].setTankType(quart.getKey().type); tanks[3].setTankType(quart.getValue().type); + tanks[4].setTankType(Fluids.SPENTSTEAM); } else { tanks[0].setTankType(Fluids.NONE); tanks[1].setTankType(Fluids.NONE); tanks[2].setTankType(Fluids.NONE); tanks[3].setTankType(Fluids.NONE); + tanks[4].setTankType(Fluids.NONE); } } @@ -98,7 +100,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - for(int i = 0; i < 3; i++) + for(int i = 0; i < 5; i++) tanks[i].readFromNBT(nbt, "tank" + i); } @@ -106,13 +108,13 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - for(int i = 0; i < 3; i++) + for(int i = 0; i < 5; i++) tanks[i].writeToNBT(nbt, "tank" + i); } @Override public void setFillForSync(int fill, int index) { - if(index < 4 && tanks[index] != null) + if(index < 5 && tanks[index] != null) tanks[index].setFill(fill); } @@ -181,6 +183,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl public List getFluidList(FluidType type) { if(type == tanks[2].getTankType()) return list1; if(type == tanks[3].getTankType()) return list2; + if(type == tanks[4].getTankType()) return list3; return new ArrayList(); } @@ -188,6 +191,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl public void clearFluidList(FluidType type) { if(type == tanks[2].getTankType()) list1.clear(); if(type == tanks[3].getTankType()) list2.clear(); + if(type == tanks[4].getTankType()) list3.clear(); } AxisAlignedBB bb = null; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java index aae6cb8c3..d38c0e3e7 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java @@ -213,6 +213,14 @@ public abstract class TileEntityRBMKBase extends TileEntity implements INBTPacke } } + @Override + public void markDirty() { + + if(this.worldObj != null) { + this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); + } + } + protected void coolPassively() { if(ModEventHandler.fire > 0) { diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java index aa7652ca5..8af2b30ce 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java @@ -152,7 +152,7 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT { if(this.target != null && this.getPower() >= demand) { - EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.shrapnel, (this.blackLevel * 10 + this.redLevel + 1F) * 0.25F); + EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.microwave, (this.blackLevel * 10 + this.redLevel + 1F) * 0.25F); if(pinkLevel > 0) this.target.setFire(this.pinkLevel * 3); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 838409c55..a92ed133e 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -349,6 +349,7 @@ death.attack.laser.item=%1$s wurde von %2$s mit %3$s zerbröselt. death.attack.lead=%1$s starb an Bleivergiftung. death.attack.lunar=%1$s vergaß lebenswichtige Organe aufzuladen. death.attack.meteorite=%1$s wurde von einem fallenden Stein aus dem Weltall erschlagen. +death.attack.microwave=%1$s explodierte wegen Mikrowellenstrahlung. death.attack.mku=%1$s starb aus unbekannten Gründen. death.attack.monoxide=%1$s vergaß, die Batterien im Kohlenmonoxid-Detektor auszutauschen. death.attack.mudPoisoning=%1$s starb an Giftschlamm. diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index b5c658b3f..153cc38ab 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -521,6 +521,7 @@ death.attack.laser.item=%1$s was turned into ash by %2$s using %3$s. death.attack.lead=%1$s died from lead poisoning. death.attack.lunar=%1$s forgot to charge their vital organs. death.attack.meteorite=%1$s was hit by a falling rock from outer space. +death.attack.microwave=%1$s was exploded by microwave radiation. death.attack.mku=%1$s died from unknown causes. death.attack.monoxide=%1$s forgot to change the batteries in their carbon monoxide detector. death.attack.mudPoisoning=%1$s died in poisonous mud. diff --git a/src/main/resources/assets/hbm/models/weapons/detonator_laser.obj b/src/main/resources/assets/hbm/models/weapons/detonator_laser.obj new file mode 100644 index 000000000..82ea5666a --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/detonator_laser.obj @@ -0,0 +1,1533 @@ +# Blender v2.79 (sub 0) OBJ File: 'laser_detonator.blend' +# www.blender.org +o Lights +v 0.500000 0.374000 1.375000 +v -0.500000 0.374000 1.375000 +v 0.500000 0.374000 1.437500 +v -0.500000 0.374000 1.437500 +v 0.625000 0.499000 1.375000 +v -0.625000 0.499000 1.375000 +v 0.625000 0.499000 1.437500 +v -0.625000 0.499000 1.437500 +v 0.625000 1.499000 1.375000 +v -0.625000 1.499000 1.375000 +v 0.625000 1.499000 1.437500 +v -0.625000 1.499000 1.437500 +v 0.500000 1.749000 1.375000 +v -0.500000 1.749000 1.375000 +v 0.500000 1.749000 1.437500 +v -0.500000 1.749000 1.437500 +v -0.125000 1.625000 1.375000 +v 0.125000 1.625000 1.375000 +v 0.250000 1.750000 1.375000 +v -0.250000 1.750000 1.375000 +v -0.125000 1.625000 1.437500 +v 0.125000 1.625000 1.437500 +v 0.250000 1.750000 1.437500 +v -0.250000 1.750000 1.437500 +v 0.000000 1.374000 1.375000 +v -0.265165 1.264165 1.375000 +v -0.375000 0.999000 1.375000 +v -0.265165 0.733835 1.375000 +v 0.000000 0.624000 1.375000 +v 0.265165 0.733835 1.375000 +v 0.375000 0.999000 1.375000 +v 0.265165 1.264165 1.375000 +v 0.000000 1.186500 1.437500 +v -0.132582 1.131583 1.437500 +v -0.187500 0.999000 1.437500 +v -0.132582 0.866418 1.437500 +v 0.000000 0.811500 1.437500 +v 0.132583 0.866418 1.437500 +v 0.187500 0.999000 1.437500 +v 0.132583 1.131582 1.437500 +v 0.000000 1.750000 -1.812500 +v -0.088388 1.750000 -1.775888 +v -0.125000 1.750000 -1.687500 +v -0.088388 1.750000 -1.599112 +v 0.000000 1.750000 -1.562500 +v 0.088388 1.750000 -1.599112 +v 0.125000 1.750000 -1.687500 +v 0.088388 1.750000 -1.775888 +v 0.000000 1.781250 -1.812500 +v -0.088388 1.781250 -1.775888 +v -0.125000 1.781250 -1.687500 +v -0.088388 1.781250 -1.599112 +v 0.000000 1.781250 -1.562500 +v 0.088388 1.781250 -1.599112 +v 0.125000 1.781250 -1.687500 +v 0.088388 1.781250 -1.775888 +v 0.000000 1.812500 -1.750000 +v -0.044194 1.812500 -1.731694 +v -0.062500 1.812500 -1.687500 +v -0.044194 1.812500 -1.643306 +v 0.000000 1.812500 -1.625000 +v 0.044194 1.812500 -1.643306 +v 0.062500 1.812500 -1.687500 +v 0.044194 1.812500 -1.731694 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.8944 0.4472 0.0000 +vn -0.8944 0.4472 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.0040 1.0000 0.0000 +vn 0.0040 1.0000 0.0000 +vn 0.0000 0.1986 0.9801 +vn -0.1986 0.0000 0.9801 +vn 0.0000 -0.1986 0.9801 +vn 0.0000 -0.3162 0.9487 +vn -0.1404 -0.1404 0.9801 +vn -0.2236 -0.2236 0.9487 +vn -0.2236 0.2236 0.9487 +vn -0.1404 0.1404 0.9801 +vn 0.2236 0.2236 0.9487 +vn 0.1986 0.0000 0.9801 +vn 0.3162 0.0000 0.9487 +vn 0.1404 -0.1404 0.9801 +vn -0.3162 0.0000 0.9487 +vn 0.0000 0.3162 0.9487 +vn 0.1404 0.1404 0.9801 +vn 0.2236 -0.2236 0.9487 +vn 0.6221 0.4753 0.6221 +vn 0.7071 0.0000 0.7071 +vn 0.0000 0.0000 1.0000 +vn -0.6221 0.4753 0.6221 +vn -0.7071 0.0000 0.7071 +vn -0.6221 0.4753 -0.6221 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.8798 0.4753 0.0000 +vn 0.0000 0.4753 0.8798 +vn -0.8798 0.4753 0.0000 +vn 0.0000 0.4753 -0.8798 +vn 0.0000 0.0000 -1.0000 +vn 0.6221 0.4753 -0.6221 +vn 0.2825 0.9593 0.0000 +vn 0.1998 0.9593 0.1998 +vn 0.0000 0.9593 0.2825 +vn -0.2825 0.9593 0.0000 +vn -0.1998 0.9593 -0.1998 +vn 0.0000 0.9593 -0.2825 +vn 0.1998 0.9593 -0.1998 +vn -0.1998 0.9593 0.1998 +s off +f 1//1 4//1 2//1 +f 4//2 6//2 2//2 +f 1//3 7//3 3//3 +f 5//4 11//4 7//4 +f 8//5 10//5 6//5 +f 9//6 15//6 11//6 +f 12//7 14//7 10//7 +f 24//8 17//8 20//8 +f 22//9 19//9 18//9 +f 21//10 18//10 17//10 +f 16//11 20//11 14//11 +f 13//12 23//12 15//12 +f 1//1 3//1 4//1 +f 4//2 8//2 6//2 +f 1//3 5//3 7//3 +f 5//4 9//4 11//4 +f 8//5 12//5 10//5 +f 9//6 13//6 15//6 +f 12//7 16//7 14//7 +f 24//8 21//8 17//8 +f 22//9 23//9 19//9 +f 21//10 22//10 18//10 +f 16//11 24//11 20//11 +f 13//12 19//12 23//12 +s 1 +f 33//13 35//14 37//15 +f 29//16 36//17 28//18 +f 26//19 35//14 34//20 +f 32//21 39//22 31//23 +f 29//16 38//24 37//15 +f 28//18 35//14 27//25 +f 26//19 33//13 25//26 +f 32//21 33//13 40//27 +f 31//23 38//24 30//28 +f 47//4 54//29 46//30 +f 45//31 52//32 44//33 +f 43//5 50//34 42//35 +f 48//36 55//37 47//4 +f 46//30 53//38 45//31 +f 44//33 51//39 43//5 +f 42//35 49//40 41//41 +f 41//41 56//42 48//36 +f 56//42 63//43 55//37 +f 53//38 62//44 61//45 +f 52//32 59//46 51//39 +f 49//40 58//47 57//48 +f 49//40 64//49 56//42 +f 54//29 63//43 62//44 +f 53//38 60//50 52//32 +f 50//34 59//46 58//47 +f 61//45 63//43 57//48 +f 33//13 34//20 35//14 +f 35//14 36//17 37//15 +f 37//15 38//24 39//22 +f 39//22 40//27 37//15 +f 40//27 33//13 37//15 +f 29//16 37//15 36//17 +f 26//19 27//25 35//14 +f 32//21 40//27 39//22 +f 29//16 30//28 38//24 +f 28//18 36//17 35//14 +f 26//19 34//20 33//13 +f 32//21 25//26 33//13 +f 31//23 39//22 38//24 +f 47//4 55//37 54//29 +f 45//31 53//38 52//32 +f 43//5 51//39 50//34 +f 48//36 56//42 55//37 +f 46//30 54//29 53//38 +f 44//33 52//32 51//39 +f 42//35 50//34 49//40 +f 41//41 49//40 56//42 +f 56//42 64//49 63//43 +f 53//38 54//29 62//44 +f 52//32 60//50 59//46 +f 49//40 50//34 58//47 +f 49//40 57//48 64//49 +f 54//29 55//37 63//43 +f 53//38 61//45 60//50 +f 50//34 51//39 59//46 +f 57//48 58//47 59//46 +f 59//46 60//50 61//45 +f 61//45 62//44 63//43 +f 63//43 64//49 57//48 +f 57//48 59//46 61//45 +o Main +v 0.562500 1.124000 1.625000 +v 0.562500 0.499000 1.625000 +v -0.500000 0.500000 -1.000000 +v -0.500000 1.500000 -1.000000 +v -0.500000 0.436500 1.625000 +v 0.500000 0.436500 1.625000 +v 0.500000 0.500000 -1.000000 +v 0.500000 1.500000 -1.000000 +v -0.125000 1.625000 1.000000 +v 0.125000 1.625000 1.000000 +v 0.250000 1.750000 1.000000 +v -0.250000 1.750000 1.000000 +v 0.500000 1.750000 1.000000 +v -0.500000 1.750000 1.000000 +v 0.625000 1.500000 1.000000 +v -0.625000 1.500000 1.000000 +v 0.625000 1.000000 1.187500 +v -0.625000 1.000000 1.187500 +v 0.625000 0.500000 1.187500 +v -0.625000 0.500000 1.187500 +v 0.500000 0.374000 1.187500 +v -0.500000 0.374000 1.187500 +v 0.500000 0.374000 1.375000 +v -0.500000 0.374000 1.375000 +v 0.500000 0.374000 1.437500 +v -0.500000 0.374000 1.437500 +v 0.500000 0.374000 1.625000 +v -0.500000 0.374000 1.625000 +v 0.625000 0.499000 1.375000 +v -0.625000 0.499000 1.375000 +v 0.625000 0.499000 1.437500 +v -0.625000 0.499000 1.437500 +v 0.625000 0.499000 1.625000 +v -0.625000 0.499000 1.625000 +v 0.625000 1.499000 1.375000 +v -0.625000 1.499000 1.375000 +v 0.625000 1.499000 1.437500 +v -0.625000 1.499000 1.437500 +v 0.500000 1.749000 1.375000 +v -0.500000 1.749000 1.375000 +v 0.500000 1.749000 1.437500 +v -0.500000 1.749000 1.437500 +v -0.125000 1.625000 1.375000 +v 0.125000 1.625000 1.375000 +v 0.250000 1.750000 1.375000 +v -0.250000 1.750000 1.375000 +v -0.125000 1.625000 1.437500 +v 0.125000 1.625000 1.437500 +v 0.250000 1.750000 1.437500 +v -0.250000 1.750000 1.437500 +v 0.625000 1.124000 1.625000 +v -0.625000 1.124000 1.625000 +v 0.625000 1.499000 1.812500 +v -0.625000 1.499000 1.812500 +v 0.500000 1.749000 1.812500 +v -0.500000 1.749000 1.812500 +v -0.125000 1.625000 1.812500 +v 0.125000 1.625000 1.812500 +v 0.250000 1.750000 1.812500 +v -0.250000 1.750000 1.812500 +v 0.500000 0.499000 1.187500 +v -0.500000 0.499000 1.187500 +v -0.500000 1.000000 1.187500 +v 0.500000 1.000000 1.187500 +v 0.500000 1.500000 1.000000 +v -0.500000 1.500000 1.000000 +v 0.562500 1.499000 1.812500 +v -0.562500 0.499000 1.625000 +v -0.562500 1.124000 1.625000 +v -0.562500 1.499000 1.812500 +v 0.437500 1.686500 1.812500 +v -0.437500 1.686500 1.812500 +v -0.187500 1.562500 1.812500 +v 0.187500 1.562500 1.812500 +v 0.312500 1.687500 1.812500 +v -0.312500 1.687500 1.812500 +v 0.562500 1.124000 1.375000 +v 0.562500 0.499000 1.375000 +v -0.500000 0.436500 1.375000 +v 0.500000 0.436500 1.375000 +v -0.562500 0.499000 1.375000 +v -0.562500 1.124000 1.375000 +v 0.562500 1.499000 1.375000 +v -0.562500 1.499000 1.375000 +v 0.437500 1.686500 1.375000 +v -0.437500 1.686500 1.375000 +v -0.187500 1.562500 1.375000 +v 0.187500 1.562500 1.375000 +v 0.312500 1.687500 1.375000 +v -0.312500 1.687500 1.375000 +v 0.325000 0.436500 1.531250 +v 0.450000 0.436500 1.500000 +v -0.500000 1.686500 1.468750 +v -0.375000 1.686500 1.437500 +v -0.425000 0.436500 1.500000 +v -0.300000 0.436500 1.531250 +v 0.375000 1.686500 1.437500 +v 0.500000 1.686500 1.468750 +v -0.500000 1.625000 -1.000000 +v 0.500000 1.625000 -1.000000 +v -0.500000 0.375000 -1.000000 +v 0.500000 0.375000 -1.000000 +v 0.625000 0.500000 -1.000000 +v 0.625000 1.500000 -1.000000 +v -0.625000 1.500000 -1.000000 +v -0.625000 0.500000 -1.000000 +v -0.500000 1.625000 -1.250000 +v 0.500000 1.625000 -1.250000 +v -0.500000 0.375000 -1.250000 +v 0.500000 0.375000 -1.250000 +v 0.625000 0.500000 -1.250000 +v 0.625000 1.500000 -1.250000 +v -0.625000 1.500000 -1.250000 +v -0.625000 0.500000 -1.250000 +v -0.500000 1.625000 -1.312500 +v 0.500000 1.625000 -1.312500 +v -0.500000 0.375000 -1.312500 +v 0.500000 0.375000 -1.312500 +v 0.625000 0.500000 -1.312500 +v 0.625000 1.500000 -1.312500 +v -0.625000 1.500000 -1.312500 +v -0.625000 0.500000 -1.312500 +v -0.500000 1.625000 -1.937500 +v 0.500000 1.625000 -1.937500 +v -0.500000 0.375000 -1.937500 +v 0.500000 0.375000 -1.937500 +v 0.625000 0.500000 -1.937500 +v 0.625000 1.500000 -1.937500 +v -0.625000 1.500000 -1.937500 +v -0.625000 0.500000 -1.937500 +v -0.550000 1.687500 -1.250000 +v 0.550000 1.687500 -1.250000 +v -0.550000 0.312500 -1.250000 +v 0.550000 0.312500 -1.250000 +v 0.687500 0.450000 -1.250000 +v 0.687500 1.550000 -1.250000 +v -0.687500 1.550000 -1.250000 +v -0.687500 0.450000 -1.250000 +v -0.550000 1.687500 -1.312500 +v 0.550000 1.687500 -1.312500 +v -0.550000 0.312500 -1.312500 +v 0.550000 0.312500 -1.312500 +v 0.687500 0.450000 -1.312500 +v 0.687500 1.550000 -1.312500 +v -0.687500 1.550000 -1.312500 +v -0.687500 0.450000 -1.312500 +v -0.375000 1.500000 -1.937500 +v 0.375000 1.500000 -1.937500 +v 0.500000 1.375000 -1.937500 +v -0.500000 1.375000 -1.937500 +v -0.375000 0.500000 -1.937500 +v 0.375000 0.500000 -1.937500 +v 0.500000 0.625000 -1.937500 +v -0.500000 0.625000 -1.937500 +v -0.312500 1.437500 -1.875000 +v 0.312500 1.437500 -1.875000 +v 0.437500 1.312500 -1.875000 +v -0.437500 1.312500 -1.875000 +v -0.312500 0.562500 -1.875000 +v 0.312500 0.562500 -1.875000 +v 0.437500 0.687500 -1.875000 +v -0.437500 0.687500 -1.875000 +v -0.250000 1.750000 -2.000000 +v 0.250000 1.750000 -2.000000 +v -0.250000 1.750000 -1.562500 +v 0.250000 1.750000 -1.562500 +v -0.125000 1.750000 -1.436500 +v 0.125000 1.750000 -1.436500 +v -0.250000 1.625000 -1.937500 +v 0.250000 1.625000 -1.937500 +v -0.250000 1.625000 -1.562500 +v 0.250000 1.625000 -1.562500 +v -0.125000 1.625000 -1.436500 +v 0.125000 1.625000 -1.436500 +v -0.250000 1.687500 -2.062500 +v 0.250000 1.687500 -2.062500 +v -0.250000 1.125000 -2.062500 +v 0.250000 1.125000 -2.062500 +v -0.125000 1.000000 -2.062500 +v 0.125000 1.000000 -2.062500 +v -0.250000 1.125000 -1.875000 +v 0.250000 1.125000 -1.875000 +v -0.125000 1.000000 -1.875000 +v 0.125000 1.000000 -1.875000 +v -0.250000 1.437500 -1.875000 +v 0.250000 1.437500 -1.875000 +v -0.250000 1.500000 -1.937500 +v 0.250000 1.500000 -1.937500 +v -0.187500 1.156250 -2.062500 +v 0.187500 1.156250 -2.062500 +v -0.187500 1.343750 -2.062500 +v 0.187500 1.343750 -2.062500 +v -0.093750 1.437500 -2.062500 +v -0.093750 1.062500 -2.062500 +v 0.093750 1.437500 -2.062500 +v 0.093750 1.062500 -2.062500 +v -0.093750 1.343750 -2.031250 +v 0.093750 1.343750 -2.031250 +v -0.093750 1.156250 -2.031250 +v 0.093750 1.156250 -2.031250 +v 0.187500 0.625000 -1.875000 +v 0.312500 0.625000 -1.875000 +v 0.187500 0.750000 -1.875000 +v 0.312500 0.750000 -1.875000 +v -0.312500 0.625000 -1.875000 +v -0.187500 0.625000 -1.875000 +v -0.312500 0.750000 -1.875000 +v -0.187500 0.750000 -1.875000 +v 0.187500 0.750000 -1.937500 +v 0.187500 0.625000 -1.937500 +v 0.312500 0.625000 -1.937500 +v 0.312500 0.750000 -1.937500 +v -0.312500 0.750000 -1.937500 +v -0.312500 0.625000 -1.937500 +v -0.187500 0.625000 -1.937500 +v -0.187500 0.750000 -1.937500 +v -0.250000 0.500000 -0.875000 +v 0.250000 0.500000 -0.875000 +v -0.187500 0.500000 -1.001000 +v 0.187500 0.500000 -1.001000 +v -0.250000 0.500000 -0.250000 +v 0.250000 0.500000 -0.250000 +v -0.250000 -0.750000 -1.000000 +v 0.250000 -0.750000 -1.000000 +v -0.187500 -0.750000 -1.126000 +v 0.187500 -0.750000 -1.126000 +v -0.250000 -0.750000 -0.500000 +v 0.250000 -0.750000 -0.500000 +v -0.187500 -0.750000 -0.375000 +v 0.187500 -0.750000 -0.375000 +v -0.250000 -0.812500 -0.375000 +v 0.250000 -0.812500 -0.375000 +v -0.187500 -0.812500 -0.250000 +v 0.187500 -0.812500 -0.250000 +v -0.250000 -0.875000 -0.375000 +v 0.250000 -0.875000 -0.375000 +v -0.187500 -0.875000 -0.250000 +v 0.187500 -0.875000 -0.250000 +v -0.250000 -0.875000 -1.000000 +v 0.250000 -0.875000 -1.000000 +v -0.187500 -0.875000 -1.126000 +v 0.187500 -0.875000 -1.126000 +v 0.187500 0.083333 -0.959333 +v 0.250000 0.083333 -0.833333 +v -0.187500 0.083333 -0.959333 +v -0.250000 0.083333 -0.833333 +v 0.187500 0.250000 -0.175000 +v -0.187500 0.250000 -0.175000 +v -0.250000 0.375000 0.075000 +v -0.187500 0.375000 0.200000 +v -0.250000 0.250000 -0.300000 +v 0.250000 0.375000 0.075000 +v 0.187500 0.375000 0.200000 +v 0.250000 0.500000 0.125000 +v 0.187500 0.500000 0.250000 +v -0.187500 0.500000 0.250000 +v -0.250000 0.500000 0.125000 +v 0.250000 0.250000 -0.300000 +v 0.125000 0.000000 0.075000 +v -0.125000 0.000000 0.075000 +v -0.125000 0.250000 -0.175000 +v 0.125000 0.250000 -0.175000 +v 0.125000 0.062500 0.137500 +v -0.125000 0.062500 0.137500 +v 0.125000 0.188500 0.012500 +v -0.125000 0.188500 0.012500 +v 0.125000 0.313500 0.012500 +v -0.125000 0.313500 0.012500 +v 0.500000 1.375000 -0.875000 +v 0.500000 0.875000 -0.875000 +v 0.500000 1.375000 -0.375000 +v 0.500000 0.875000 -0.375000 +v 0.562500 1.375000 -0.875000 +v 0.562500 0.875000 -0.875000 +v 0.562500 1.375000 -0.375000 +v 0.562500 0.875000 -0.375000 +v 0.500000 1.375000 -0.250000 +v 0.562500 1.375000 -0.250000 +v 0.500000 1.375000 0.875000 +v 0.562500 1.375000 0.875000 +v 0.500000 1.000000 -0.250000 +v 0.562500 1.000000 -0.250000 +v 0.500000 1.000000 0.875000 +v 0.562500 1.000000 0.875000 +v -0.250000 -0.937500 -0.437500 +v 0.250000 -0.937500 -0.437500 +v -0.187500 -0.937500 -0.312500 +v 0.187500 -0.937500 -0.312500 +v -0.250000 -0.937500 -0.937500 +v 0.250000 -0.937500 -0.937500 +v -0.187500 -0.937500 -1.063500 +v 0.187500 -0.937500 -1.063500 +vt 0.592814 0.223529 +vt 0.383234 0.035294 +vt 0.592814 0.035294 +vt 0.724551 0.294118 +vt 0.628743 0.317647 +vt 0.628743 0.294118 +vt 0.401198 0.600000 +vt 0.592814 0.411765 +vt 0.592814 0.600000 +vt 0.383234 0.317647 +vt 0.383234 0.223529 +vt 0.335329 0.400000 +vt 0.239521 0.411765 +vt 0.239521 0.400000 +vt 0.592814 0.788235 +vt 0.383234 0.694118 +vt 0.239521 0.035294 +vt 0.335329 0.000000 +vt 0.335329 0.035294 +vt 0.335329 0.364706 +vt 0.239521 0.364706 +vt 0.383234 0.400000 +vt 0.365269 0.423529 +vt 0.365269 0.400000 +vt 0.209581 0.400000 +vt 0.191617 0.423529 +vt 0.191617 0.400000 +vt 0.365269 0.035294 +vt 0.383234 0.058824 +vt 0.365269 0.058824 +vt 0.191617 0.058824 +vt 0.209581 0.035294 +vt 0.209581 0.058824 +vt 0.299401 0.364706 +vt 0.275449 0.294118 +vt 0.299401 0.294118 +vt 0.311377 0.364706 +vt 0.311377 0.294118 +vt 0.335329 0.294118 +vt 0.347305 0.247059 +vt 0.383234 0.294118 +vt 0.347305 0.294118 +vt 0.365269 0.152941 +vt 0.383234 0.247059 +vt 0.209581 0.152941 +vt 0.227545 0.247059 +vt 0.191617 0.247059 +vt 0.191617 0.294118 +vt 0.227545 0.294118 +vt 0.263473 0.364706 +vt 0.239521 0.294118 +vt 0.263473 0.294118 +vt 0.275449 0.364706 +vt 0.263473 0.729412 +vt 0.275449 0.658824 +vt 0.275449 0.729412 +vt 0.299401 0.729412 +vt 0.311377 0.658824 +vt 0.311377 0.729412 +vt 0.299401 0.658824 +vt 0.335329 0.729412 +vt 0.347305 0.658824 +vt 0.383234 0.611765 +vt 0.383234 0.658824 +vt 0.347305 0.611765 +vt 0.365269 0.541176 +vt 0.383234 0.423529 +vt 0.209581 0.541176 +vt 0.209581 0.423529 +vt 0.227545 0.611765 +vt 0.191617 0.611765 +vt 0.227545 0.658824 +vt 0.191617 0.658824 +vt 0.239521 0.658824 +vt 0.239521 0.729412 +vt 0.239521 0.058824 +vt 0.347305 0.058824 +vt 0.335329 0.058824 +vt 0.227545 0.058824 +vt 0.335329 0.152941 +vt 0.347305 0.152941 +vt 0.239521 0.152941 +vt 0.227545 0.152941 +vt 0.335329 0.247059 +vt 0.239521 0.247059 +vt 0.275449 0.270588 +vt 0.299401 0.270588 +vt 0.341317 0.517647 +vt 0.347305 0.517647 +vt 0.341317 0.423529 +vt 0.347305 0.423529 +vt 0.227545 0.517647 +vt 0.233533 0.611765 +vt 0.227545 0.423529 +vt 0.233533 0.517647 +vt 0.233533 0.423529 +vt 0.335329 0.411765 +vt 0.257485 0.647059 +vt 0.263473 0.658824 +vt 0.335329 0.658824 +vt 0.317365 0.647059 +vt 0.329341 0.647059 +vt 0.275449 0.635294 +vt 0.305389 0.623529 +vt 0.299401 0.635294 +vt 0.269461 0.623529 +vt 0.245509 0.647059 +vt 0.341317 0.611765 +vt 0.017964 0.047059 +vt 0.041916 0.058824 +vt 0.017964 0.058824 +vt 0.173653 0.176471 +vt 0.149701 0.058824 +vt 0.173653 0.058824 +vt 0.149701 0.047059 +vt 0.173653 0.047059 +vt 0.143713 0.000000 +vt 0.047904 0.047059 +vt 0.047904 -0.000000 +vt 0.041916 0.176471 +vt 0.017964 0.176471 +vt 0.053892 0.364706 +vt 0.065868 0.282353 +vt 0.065868 0.364706 +vt -0.000000 0.247059 +vt 0.041916 0.282353 +vt -0.000000 0.282353 +vt 0.077844 0.364706 +vt 0.113772 0.282353 +vt 0.113772 0.364706 +vt 0.077844 0.282353 +vt 0.191617 0.282353 +vt 0.149701 0.247059 +vt 0.191617 0.247059 +vt 0.125749 0.364706 +vt 0.137725 0.282353 +vt 0.137725 0.364706 +vt 0.125749 0.282353 +vt 0.041916 0.247059 +vt 0.077844 0.258824 +vt 0.113772 0.258824 +vt 0.149701 0.176471 +vt 0.143713 0.047059 +vt 0.017964 0.282353 +vt 0.029940 0.564706 +vt 0.017964 0.564706 +vt 0.041916 0.282353 +vt 0.029940 0.564706 +vt 0.029940 0.282353 +vt 0.628743 0.105882 +vt 0.724551 0.082353 +vt 0.724551 0.105882 +vt 0.736527 0.294118 +vt 0.616766 0.105882 +vt 0.628743 0.082353 +vt 0.616766 0.294118 +vt 0.736527 0.105882 +vt 0.724551 0.317647 +vt 0.736527 0.317647 +vt 0.724551 0.364706 +vt 0.592814 0.105882 +vt 0.628743 0.364706 +vt 0.616766 0.082353 +vt 0.628743 0.035294 +vt 0.736527 0.035294 +vt 0.736527 0.082353 +vt 0.724551 0.035294 +vt 0.616766 0.364706 +vt 0.616766 0.317647 +vt 0.760479 0.294118 +vt 1.000000 0.329412 +vt 0.940120 0.141176 +vt 1.000000 0.141176 +vt 0.940120 0.117647 +vt 0.928144 -0.000000 +vt 0.940120 0.000000 +vt 0.928144 0.117647 +vt 0.832335 -0.000000 +vt 0.820359 0.117647 +vt 0.820359 -0.000000 +vt 0.928144 0.470588 +vt 0.940120 0.352941 +vt 0.940120 0.470588 +vt 0.820359 0.141176 +vt 0.760479 0.329412 +vt 0.760479 0.141176 +vt 0.832335 0.352941 +vt 0.832335 0.470588 +vt 0.820359 0.352941 +vt 0.820359 0.470588 +vt 0.892216 0.788235 +vt 0.874251 0.800000 +vt 0.874251 0.788235 +vt 0.640719 0.788235 +vt 0.622755 0.800000 +vt 0.622755 0.788235 +vt 0.868263 0.788235 +vt 0.766467 0.800000 +vt 0.772455 0.788235 +vt 0.742515 0.788235 +vt 0.640719 0.800000 +vt 0.646707 0.788235 +vt 0.766467 0.788235 +vt 0.748503 0.800000 +vt 0.748503 0.788235 +vt 0.616766 0.788235 +vt 0.514970 0.800000 +vt 0.520958 0.788235 +vt 0.514970 0.788235 +vt 0.497006 0.800000 +vt 0.497006 0.788235 +vt 0.994012 0.788235 +vt 0.892216 0.800000 +vt 0.898204 0.788235 +vt 0.520958 0.823529 +vt 0.622755 0.811765 +vt 0.616766 0.823529 +vt 0.497006 0.823529 +vt 0.514970 0.811765 +vt 0.514970 0.823529 +vt 0.898204 0.823529 +vt 1.000000 0.811765 +vt 0.994012 0.823529 +vt 0.874251 0.823529 +vt 0.892216 0.811765 +vt 0.892216 0.823529 +vt 0.622755 0.823529 +vt 0.640719 0.811765 +vt 0.640719 0.823529 +vt 0.772455 0.823529 +vt 0.874251 0.811765 +vt 0.868263 0.823529 +vt 0.646707 0.823529 +vt 0.748503 0.811765 +vt 0.742515 0.823529 +vt 0.748503 0.823529 +vt 0.766467 0.811765 +vt 0.766467 0.823529 +vt 1.000000 0.800000 +vt 0.820359 0.329412 +vt 0.844311 0.329412 +vt 0.928144 0.352941 +vt 0.928144 0.305882 +vt 0.940120 0.329412 +vt 0.832335 0.117647 +vt 0.832335 0.164706 +vt 0.916168 0.141176 +vt 0.928144 0.164706 +vt 0.916168 0.329412 +vt 0.592814 0.529412 +vt 0.610778 0.541176 +vt 0.604790 0.552941 +vt 0.688623 0.529412 +vt 0.670659 0.541176 +vt 0.682635 0.517647 +vt 0.604790 0.364706 +vt 0.598802 0.400000 +vt 0.592814 0.388235 +vt 0.676647 0.364706 +vt 0.682635 0.400000 +vt 0.670659 0.376471 +vt 0.688623 0.388235 +vt 0.676647 0.552941 +vt 0.137725 0.552941 +vt 0.089820 0.635294 +vt 0.089820 0.552941 +vt 0.137725 0.635294 +vt 0.101796 0.658824 +vt 0.137725 0.658824 +vt 0.125749 0.682353 +vt 0.125749 0.658824 +vt 0.101796 0.682353 +vt 0.041916 0.552941 +vt 0.077844 0.529412 +vt 0.083832 0.552941 +vt 0.089820 0.682353 +vt 0.089820 0.658824 +vt 0.185629 0.552941 +vt 0.149701 0.529412 +vt 0.185629 0.529412 +vt 0.137725 0.541176 +vt 0.089820 0.541176 +vt 0.143713 0.552941 +vt 0.104790 0.441176 +vt 0.122754 0.476471 +vt 0.104790 0.476471 +vt 0.089820 0.411765 +vt 0.101796 0.376471 +vt 0.101796 0.411765 +vt 0.125749 0.411765 +vt 0.137725 0.376471 +vt 0.137725 0.411765 +vt 0.125749 0.376471 +vt 0.137725 0.435294 +vt 0.155689 0.494118 +vt 0.149701 0.505882 +vt 0.077844 0.505882 +vt 0.071856 0.494118 +vt 0.089820 0.435294 +vt 0.122754 0.494118 +vt 0.104790 0.494118 +vt 0.122754 0.423529 +vt 0.104790 0.423529 +vt 0.131737 0.476471 +vt 0.122754 0.441176 +vt 0.131737 0.441176 +vt 0.095808 0.441176 +vt 0.095808 0.476471 +vt 0.155689 1.000000 +vt 0.143713 0.976471 +vt 0.155689 0.976471 +vt 0.095808 1.000000 +vt 0.107784 0.976471 +vt 0.107784 1.000000 +vt 0.083832 0.400000 +vt 0.071856 0.376471 +vt 0.083832 0.376471 +vt 0.155689 0.400000 +vt 0.143713 0.376471 +vt 0.155689 0.376471 +vt 0.143713 0.411765 +vt 0.155689 0.411765 +vt 0.155689 0.364706 +vt 0.143713 0.364706 +vt 0.071856 0.411765 +vt 0.083832 0.411765 +vt 0.083832 0.364706 +vt 0.071856 0.364706 +vt 0.137725 0.376471 +vt 0.143713 0.400000 +vt 0.137725 0.400000 +vt 0.161677 0.400000 +vt 0.161677 0.376471 +vt 0.065868 0.376471 +vt 0.071856 0.400000 +vt 0.065868 0.400000 +vt 0.089820 0.400000 +vt 0.089820 0.376471 +vt 0.263473 0.917647 +vt 0.251497 0.764706 +vt 0.263473 0.764706 +vt 0.107784 0.952941 +vt 0.095808 0.976471 +vt 0.095808 0.952941 +vt 0.191617 0.764706 +vt 0.239521 0.764706 +vt 0.239521 0.917647 +vt 0.299401 0.764706 +vt 0.299401 0.917647 +vt 0.011976 0.917647 +vt 0.059880 0.764706 +vt 0.059880 0.952941 +vt 0.107784 0.764706 +vt 0.143713 0.752941 +vt 0.143713 0.764706 +vt 0.155689 0.752941 +vt 0.155689 0.764706 +vt 0.095808 0.752941 +vt 0.107784 0.752941 +vt 0.143713 0.741176 +vt 0.155689 0.741176 +vt 0.107784 0.741176 +vt 0.263473 0.741176 +vt 0.311377 0.741176 +vt 0.311377 0.764706 +vt 0.299401 0.741176 +vt 0.179641 0.741176 +vt 0.239521 0.741176 +vt 0.071856 0.741176 +vt 0.071856 0.752941 +vt 0.143713 0.729412 +vt 0.311377 1.000000 +vt 0.311377 0.917647 +vt 0.263473 1.000000 +vt 0.299401 1.000000 +vt 0.251497 1.000000 +vt 0.059880 1.000000 +vt 0.155689 0.952941 +vt 0.143713 0.952941 +vt 0.191617 1.000000 +vt 0.191617 0.952941 +vt 0.143713 1.000000 +vt 0.371257 0.788235 +vt 0.347305 0.858824 +vt 0.347305 0.788235 +vt 0.371257 0.858824 +vt 0.347305 0.870588 +vt 0.371257 0.870588 +vt 0.347305 0.905882 +vt 0.371257 0.905882 +vt 0.347305 0.929412 +vt 0.389222 0.870588 +vt 0.407186 0.858824 +vt 0.401198 0.894118 +vt 0.329341 0.870588 +vt 0.311377 0.858824 +vt 0.317365 0.894118 +vt 0.820359 0.741176 +vt 0.604790 0.717647 +vt 0.820359 0.717647 +vt 0.844311 0.682353 +vt 0.940120 0.494118 +vt 0.940120 0.682353 +vt 0.844311 0.705882 +vt 0.940120 0.705882 +vt 0.832335 0.494118 +vt 0.832335 0.682353 +vt 0.940120 0.470588 +vt 0.844311 0.494118 +vt 0.844311 0.470588 +vt 0.952096 0.682353 +vt 0.952096 0.494118 +vt 0.820359 0.576471 +vt 0.592814 0.717647 +vt 0.604790 0.576471 +vt 0.832335 0.576471 +vt 0.832335 0.717647 +vt 0.820359 0.552941 +vt 0.155689 0.729412 +vt 0.095808 0.741176 +vt 0.107784 0.729412 +vt 0.251497 0.741176 +vt 0.263473 0.729412 +vt 0.299401 0.729412 +vt 0.311377 0.729412 +vt 0.233533 0.729412 +vt 0.017964 0.729412 +vt 0.011976 0.741176 +vt 0.455090 0.905882 +vt 0.449102 0.929412 +vt 0.413174 0.929412 +vt 0.401198 0.411765 +vt 0.383234 0.788235 +vt 0.239521 -0.000000 +vt 0.383234 0.035294 +vt 0.191617 0.035294 +vt 0.335329 0.364706 +vt 0.239521 0.364706 +vt 0.041916 0.047059 +vt 0.053892 0.282353 +vt 0.149701 0.282353 +vt 0.029940 0.282353 +vt 0.041916 0.564706 +vt 0.736527 0.364706 +vt 0.592814 0.294118 +vt 0.616766 0.035294 +vt 0.760479 0.105882 +vt 0.497006 0.811765 +vt 0.832335 0.305882 +vt 0.844311 0.141176 +vt 0.598802 0.517647 +vt 0.610778 0.376471 +vt 0.137725 0.682353 +vt 0.041916 0.529412 +vt 0.089820 0.376471 +vt 0.155689 0.435294 +vt 0.071856 0.435294 +vt 0.251497 0.917647 +vt -0.000000 1.000000 +vt 0.011976 0.764706 +vt 0.095808 0.764706 +vt 0.179641 0.752941 +vt 0.371257 0.929412 +vt 0.604790 0.741176 +vt 0.592814 0.576471 +vt 0.604790 0.552941 +vt 0.095808 0.729412 +vt 0.251497 0.729412 +vt 0.185629 0.729412 +vt 0.065868 0.729412 +vt 0.407186 0.905882 +vt 0.407186 0.811765 +vt 0.413174 0.788235 +vt 0.449102 0.788235 +vt 0.455090 0.811765 +vn 0.0000 -1.0000 -0.0005 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.7099 -0.7043 -0.0038 +vn 0.7099 -0.7043 -0.0038 +vn 0.7071 0.7071 0.0000 +vn -0.8944 0.4472 0.0012 +vn 0.8944 0.4472 0.0012 +vn -0.7071 0.7071 0.0000 +vn 0.0040 1.0000 0.0000 +vn 0.8944 0.4472 0.0000 +vn -0.8944 0.4472 0.0000 +vn -0.0040 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.3511 -0.9363 +vn 0.0000 -0.4472 0.8944 +vn 0.0080 -1.0000 0.0000 +vn 0.8321 -0.5547 0.0000 +vn -0.8321 -0.5547 0.0000 +vn -0.0080 -1.0000 0.0000 +vn 0.2374 0.2042 0.9497 +vn -0.2377 0.1996 0.9506 +vn -0.4082 -0.4082 -0.8165 +vn 0.4082 -0.4082 -0.8165 +vn -0.4082 0.4082 -0.8165 +vn 0.4082 0.4082 -0.8165 +vn 0.7071 0.0000 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 -0.7071 -0.7071 +vn -0.7099 0.0000 0.7043 +vn 0.7099 0.0000 0.7043 +vn 0.0000 -0.3162 -0.9487 +vn 0.0000 0.3162 -0.9487 +vn 0.3162 0.0000 -0.9487 +vn 0.3015 -0.3015 -0.9045 +vn 0.3015 0.3015 -0.9045 +vn -0.3015 0.3015 -0.9045 +vn -0.3015 -0.3015 -0.9045 +vn -0.3162 0.0000 -0.9487 +vn 0.8805 -0.1761 0.4402 +vn -0.8805 -0.1761 0.4402 +vn 0.8923 0.0885 -0.4426 +vn -0.5345 -0.8018 0.2673 +vn 0.0000 0.1961 -0.9806 +vn 0.0000 0.8944 0.4472 +vn 0.6667 0.6667 0.3333 +vn -0.6667 0.6667 0.3333 +vn 0.8944 0.0000 0.4472 +vn -0.8944 0.0000 0.4472 +vn 0.8958 0.0000 -0.4444 +vn -0.8958 0.0000 -0.4444 +vn 0.0000 -0.7071 0.7071 +vn -0.8950 -0.0444 -0.4439 +vn 0.0000 -0.0995 -0.9950 +vn 0.8950 -0.0444 -0.4439 +vn -0.8923 0.0885 -0.4426 +vn -0.0000 -0.9487 0.3162 +vn 0.8909 -0.0891 0.4454 +vn 0.5345 -0.8018 0.2673 +vn -0.0000 -0.1961 0.9806 +vn 0.0000 -0.3714 0.9285 +vn -0.8909 -0.0891 0.4454 +vn 0.0000 0.7043 0.7099 +vn 0.8165 -0.4082 0.4082 +vn -0.8165 -0.4082 0.4082 +vn 0.8187 -0.4061 -0.4061 +vn -0.8187 -0.4061 -0.4061 +vn -0.0040 1.0000 0.0027 +vn 0.0040 1.0000 0.0027 +s off +f 71/1/51 126/2/51 67/3/51 +f 72/4/52 163/5/52 68/6/52 +f 130/7/53 72/8/53 68/9/53 +f 128/10/54 125/11/54 71/1/54 +f 91/12/52 69/13/52 92/14/52 +f 67/15/55 127/16/55 130/7/55 +f 85/17/56 88/18/56 86/19/56 +f 89/20/56 92/14/56 90/21/56 +f 89/22/57 97/23/57 91/24/57 +f 92/25/58 96/26/58 90/27/58 +f 86/28/59 94/29/59 84/30/59 +f 93/31/60 85/32/60 83/33/60 +f 107/34/53 74/35/53 73/36/53 +f 110/37/61 73/36/61 76/38/61 +f 78/39/53 110/37/53 76/38/53 +f 80/40/62 104/41/62 78/42/62 +f 82/43/55 100/44/55 80/40/55 +f 94/29/55 82/43/55 84/30/55 +f 81/45/54 93/31/54 83/33/54 +f 79/46/54 99/47/54 81/45/54 +f 103/48/63 79/46/63 77/49/63 +f 109/50/53 77/51/53 75/52/53 +f 108/53/64 75/52/64 74/35/64 +f 114/54/61 121/55/61 111/56/61 +f 112/57/64 123/58/64 113/59/64 +f 111/56/53 122/60/53 112/57/53 +f 123/58/65 105/61/65 113/59/65 +f 119/62/66 101/63/66 105/64/66 +f 117/65/54 115/66/54 101/63/54 +f 95/67/54 115/66/54 97/23/54 +f 116/68/55 96/26/55 98/69/55 +f 116/68/55 118/70/55 102/71/55 +f 102/71/67 120/72/67 106/73/67 +f 120/74/68 114/54/68 106/75/68 +f 86/19/69 125/76/69 85/17/69 +f 86/19/69 84/77/69 126/78/69 +f 85/17/69 125/76/69 83/79/69 +f 127/80/69 84/77/69 82/81/69 +f 83/79/69 128/82/69 81/83/69 +f 127/80/70 80/40/70 130/84/70 +f 81/83/70 129/85/70 79/46/70 +f 77/51/69 79/46/69 129/85/69 +f 130/84/69 78/39/69 76/38/69 +f 74/86/69 130/84/69 73/87/69 +f 117/65/71 65/88/71 115/89/71 +f 115/89/52 66/90/52 97/91/52 +f 116/92/71 134/93/71 118/70/71 +f 98/94/52 133/95/52 116/92/52 +f 132/96/52 92/14/52 69/13/52 +f 97/91/52 70/97/52 91/12/52 +f 120/74/52 140/98/52 124/99/52 +f 119/100/52 139/101/52 135/102/52 +f 121/103/52 138/104/52 122/105/52 +f 124/99/52 137/106/52 121/103/52 +f 138/104/52 123/58/52 122/105/52 +f 120/74/52 134/93/52 136/107/52 +f 119/100/52 131/108/52 117/65/52 +f 69/109/61 145/110/61 132/111/61 +f 65/112/55 142/113/55 66/114/55 +f 66/114/64 144/115/64 70/116/64 +f 70/117/53 143/118/53 69/119/53 +f 132/111/54 146/120/54 133/121/54 +f 136/122/72 154/123/72 140/124/72 +f 134/125/73 150/126/73 136/127/73 +f 137/128/56 152/129/56 138/130/56 +f 140/124/58 151/131/58 137/128/58 +f 135/132/74 147/133/74 131/134/74 +f 139/135/75 149/136/75 135/137/75 +f 138/130/57 153/138/57 139/135/57 +f 133/121/54 148/139/54 134/125/54 +f 147/133/55 65/112/55 131/134/55 +f 148/139/52 151/140/52 154/123/52 +f 152/141/52 141/142/52 147/133/52 +f 146/120/52 144/143/52 141/142/52 +f 155/144/76 158/145/76 157/146/76 +f 160/147/77 161/148/77 159/149/77 +f 67/150/52 166/151/52 71/152/52 +f 71/152/52 168/153/52 72/4/52 +f 67/150/52 170/154/52 165/155/52 +f 68/6/52 170/154/52 67/150/52 +f 68/6/52 163/5/52 169/156/52 +f 71/152/52 166/151/52 167/157/52 +f 72/4/52 168/153/52 164/158/52 +f 168/159/61 172/160/61 164/158/61 +f 169/156/55 178/161/55 170/154/55 +f 164/158/53 171/162/53 163/5/53 +f 170/163/58 173/164/58 165/155/58 +f 166/151/57 175/165/57 167/166/57 +f 165/155/56 174/167/56 166/151/56 +f 163/5/64 177/168/64 169/169/64 +f 167/157/54 176/170/54 168/153/54 +f 185/171/55 194/172/55 186/173/55 +f 194/174/58 181/175/58 186/176/58 +f 189/177/56 182/178/56 181/175/56 +f 182/178/57 191/179/57 183/180/57 +f 179/181/64 193/182/64 185/183/64 +f 191/184/54 184/185/54 183/186/54 +f 188/187/53 179/181/53 180/188/53 +f 192/189/61 180/188/61 184/190/61 +f 174/191/52 199/192/52 175/193/52 +f 171/194/52 201/195/52 177/196/52 +f 175/197/52 200/198/52 176/199/52 +f 172/200/52 195/201/52 171/202/52 +f 176/203/52 196/204/52 172/205/52 +f 177/206/52 202/207/52 178/208/52 +f 178/209/52 197/210/52 173/211/52 +f 173/212/52 198/213/52 174/214/52 +f 186/215/69 209/216/69 185/217/69 +f 181/218/69 210/219/69 186/220/69 +f 182/221/69 205/222/69 181/223/69 +f 183/224/69 206/225/69 182/226/69 +f 185/227/69 203/228/69 179/229/69 +f 184/230/69 207/231/69 183/232/69 +f 179/233/69 204/234/69 180/235/69 +f 180/236/69 208/237/69 184/238/69 +f 208/237/61 196/204/61 200/198/61 +f 204/234/53 195/201/53 196/204/53 +f 195/201/64 209/216/64 201/195/64 +f 201/195/55 210/219/55 202/207/55 +f 210/219/58 197/210/58 202/207/58 +f 205/222/56 198/213/56 197/239/56 +f 198/213/57 207/231/57 199/192/57 +f 207/231/54 200/198/54 199/192/54 +f 192/240/69 212/241/69 188/187/69 +f 187/242/69 214/243/69 193/244/69 +f 190/245/69 217/246/69 191/184/69 +f 194/172/69 215/247/69 189/177/69 +f 215/247/69 190/245/69 189/177/69 +f 193/244/69 218/248/69 194/172/69 +f 217/246/69 192/240/69 191/184/69 +f 188/187/69 211/249/69 187/242/69 +f 213/250/78 220/251/78 212/252/78 +f 214/253/79 219/254/79 222/255/79 +f 216/256/80 225/257/80 217/258/80 +f 215/259/81 226/260/81 223/261/81 +f 214/253/82 226/260/82 218/262/82 +f 223/261/83 216/256/83 215/259/83 +f 225/257/84 213/250/84 217/258/84 +f 212/252/85 219/254/85 211/263/85 +f 220/251/69 225/257/69 223/261/69 +f 227/264/53 230/265/53 228/266/53 +f 229/267/53 232/268/53 230/265/53 +f 229/269/86 237/270/86 231/271/86 +f 231/271/52 238/272/52 232/268/52 +f 230/273/54 234/274/54 228/275/54 +f 232/268/87 236/276/87 230/277/87 +f 229/278/55 233/279/55 235/280/55 +f 228/266/83 239/281/83 227/264/83 +f 228/275/54 234/274/54 240/282/54 +f 227/283/55 239/281/55 233/279/55 +f 264/284/69 261/285/69 262/286/69 +f 242/287/57 248/288/57 244/289/57 +f 243/290/58 245/291/58 241/292/58 +f 244/289/56 247/293/56 243/290/56 +f 241/294/55 249/295/55 251/296/55 +f 239/281/55 251/296/55 233/279/55 +f 252/297/54 240/282/54 234/274/54 +f 250/298/54 242/299/54 252/297/54 +f 262/286/88 257/300/88 259/301/88 +f 258/302/89 264/284/89 260/303/89 +f 255/304/90 263/305/90 253/306/90 +f 257/300/91 261/285/91 255/304/91 +f 258/302/92 253/306/92 263/305/92 +f 260/303/93 264/284/93 254/307/93 +f 259/301/94 256/308/94 262/286/94 +f 254/307/95 262/286/95 256/308/95 +f 240/282/69 257/300/69 239/281/69 +f 242/299/69 256/308/69 240/282/69 +f 255/304/69 241/294/69 239/281/69 +f 241/294/69 258/302/69 243/290/69 +f 258/302/69 244/289/69 243/290/69 +f 260/303/69 242/299/69 244/289/69 +f 318/309/96 317/310/96 316/311/96 +f 321/312/97 314/313/97 320/314/97 +f 273/315/69 275/316/69 274/317/69 +f 277/318/69 279/319/69 278/320/69 +f 272/321/53 277/318/53 271/322/53 +f 269/323/56 279/319/56 270/324/56 +f 268/325/53 273/315/53 267/326/53 +f 265/327/56 275/316/56 266/328/56 +f 270/329/54 280/330/54 272/331/54 +f 271/332/55 278/320/55 269/333/55 +f 266/334/54 276/335/54 268/336/54 +f 267/337/55 274/317/55 265/338/55 +f 307/339/98 288/340/98 290/341/98 +f 312/342/99 313/343/99 315/344/99 +f 292/345/54 288/346/54 308/347/54 +f 307/339/100 289/348/100 309/349/100 +f 310/350/55 291/351/55 315/352/55 +f 293/353/101 298/354/101 294/355/101 +f 294/355/102 296/356/102 292/357/102 +f 293/353/103 295/358/103 297/359/103 +f 297/359/52 302/360/52 298/354/52 +f 298/354/104 300/361/104 296/356/104 +f 295/358/105 301/362/105 297/359/105 +f 288/340/106 306/363/106 290/341/106 +f 289/348/107 303/364/107 287/365/107 +f 290/341/69 305/366/69 289/348/69 +f 292/345/54 300/367/54 304/368/54 +f 299/369/55 295/370/55 291/351/55 +f 301/362/108 352/371/108 302/360/108 +f 281/372/109 309/349/109 310/373/109 +f 284/374/110 309/349/110 283/375/110 +f 282/376/111 307/339/111 284/374/111 +f 309/349/112 287/365/112 310/373/112 +f 285/377/55 313/343/55 321/312/55 +f 312/342/113 317/310/113 314/313/113 +f 322/378/114 294/355/114 292/357/114 +f 311/379/115 316/311/115 317/310/115 +f 286/380/54 316/311/54 322/381/54 +f 312/342/116 294/355/116 311/379/116 +f 320/314/117 317/310/117 319/382/117 +f 315/344/118 293/353/118 312/342/118 +f 326/383/85 324/384/85 325/385/85 +f 323/386/108 328/387/108 324/384/108 +f 327/388/119 330/389/119 328/387/119 +f 329/390/52 332/391/52 330/389/52 +f 329/392/54 323/386/54 326/393/54 +f 329/392/54 326/393/54 331/394/54 +f 324/384/55 330/395/55 325/396/55 +f 330/395/55 332/397/55 325/396/55 +f 341/398/53 344/399/53 342/400/53 +f 339/401/54 338/402/54 337/403/54 +f 335/404/53 337/403/53 333/405/53 +f 336/406/52 339/401/52 335/407/52 +f 334/408/56 340/409/56 336/410/56 +f 333/411/69 338/402/69 334/412/69 +f 344/399/54 346/413/54 342/400/54 +f 343/414/52 348/415/52 344/399/52 +f 342/400/69 345/416/69 341/417/69 +f 348/415/56 345/418/56 346/413/56 +f 300/361/120 352/371/120 350/419/120 +f 299/420/121 351/421/121 301/362/121 +f 304/422/122 356/423/122 306/363/122 +f 303/364/123 355/424/123 353/425/123 +f 306/363/85 355/424/85 305/366/85 +f 300/367/54 354/426/54 304/368/54 +f 353/427/55 299/369/55 303/428/55 +f 350/429/56 352/430/56 351/431/56 +f 71/1/51 125/11/51 126/2/51 +f 72/4/52 164/158/52 163/5/52 +f 130/7/53 129/432/53 72/8/53 +f 71/1/54 72/8/54 129/432/54 +f 129/432/54 128/10/54 71/1/54 +f 91/12/52 70/97/52 69/13/52 +f 130/7/55 68/9/55 67/15/55 +f 67/15/55 126/433/55 127/16/55 +f 85/17/56 87/434/56 88/18/56 +f 89/20/56 91/12/56 92/14/56 +f 89/22/57 95/67/57 97/23/57 +f 92/25/58 98/69/58 96/26/58 +f 86/28/58 88/435/58 94/29/58 +f 93/31/57 87/436/57 85/32/57 +f 107/34/53 108/53/53 74/35/53 +f 110/37/61 107/34/61 73/36/61 +f 78/39/124 104/437/124 110/37/124 +f 80/40/62 100/44/62 104/41/62 +f 94/29/55 100/44/55 82/43/55 +f 81/45/54 99/47/54 93/31/54 +f 103/48/63 99/47/63 79/46/63 +f 109/50/125 103/438/125 77/51/125 +f 108/53/64 109/50/64 75/52/64 +f 114/54/61 124/99/61 121/55/61 +f 112/57/64 122/60/64 123/58/64 +f 111/56/53 121/55/53 122/60/53 +f 123/58/65 119/100/65 105/61/65 +f 119/62/66 117/65/66 101/63/66 +f 95/67/54 101/63/54 115/66/54 +f 116/68/55 102/71/55 96/26/55 +f 102/71/67 118/70/67 120/72/67 +f 120/74/68 124/99/68 114/54/68 +f 86/19/69 126/78/69 125/76/69 +f 127/80/69 126/78/69 84/77/69 +f 83/79/69 125/76/69 128/82/69 +f 127/80/70 82/81/70 80/40/70 +f 81/83/70 128/82/70 129/85/70 +f 129/85/69 74/86/69 75/52/69 +f 75/52/69 77/51/69 129/85/69 +f 76/38/69 73/87/69 130/84/69 +f 130/84/69 80/40/69 78/39/69 +f 74/86/69 129/85/69 130/84/69 +f 117/65/71 131/108/71 65/88/71 +f 115/89/52 65/88/52 66/90/52 +f 116/92/71 133/95/71 134/93/71 +f 98/94/52 132/96/52 133/95/52 +f 132/96/52 98/94/52 92/14/52 +f 97/91/52 66/90/52 70/97/52 +f 120/74/52 136/107/52 140/98/52 +f 119/100/52 123/58/52 139/101/52 +f 121/103/52 137/106/52 138/104/52 +f 124/99/52 140/98/52 137/106/52 +f 138/104/52 139/101/52 123/58/52 +f 120/74/52 118/70/52 134/93/52 +f 119/100/52 135/102/52 131/108/52 +f 69/109/61 143/439/61 145/110/61 +f 65/112/55 141/142/55 142/113/55 +f 66/114/64 142/113/64 144/115/64 +f 70/117/53 144/143/53 143/118/53 +f 132/111/54 145/110/54 146/120/54 +f 136/122/72 150/440/72 154/123/72 +f 134/125/73 148/139/73 150/126/73 +f 137/128/56 151/131/56 152/129/56 +f 140/124/58 154/123/58 151/131/58 +f 135/132/74 149/441/74 147/133/74 +f 139/135/75 153/138/75 149/136/75 +f 138/130/57 152/129/57 153/138/57 +f 133/121/54 146/120/54 148/139/54 +f 147/133/55 141/142/55 65/112/55 +f 154/123/52 150/440/52 148/139/52 +f 148/139/52 146/120/52 151/140/52 +f 147/133/52 149/136/52 153/138/52 +f 153/138/52 152/141/52 147/133/52 +f 142/113/52 141/142/52 144/143/52 +f 141/142/52 152/141/52 146/120/52 +f 152/141/52 151/140/52 146/120/52 +f 146/120/52 145/110/52 143/118/52 +f 143/118/52 144/143/52 146/120/52 +f 155/144/76 156/442/76 158/145/76 +f 160/147/77 162/443/77 161/148/77 +f 67/150/52 165/155/52 166/151/52 +f 71/152/52 167/157/52 168/153/52 +f 68/6/52 169/156/52 170/154/52 +f 168/159/61 176/444/61 172/160/61 +f 169/156/55 177/445/55 178/161/55 +f 164/158/53 172/160/53 171/162/53 +f 170/163/58 178/446/58 173/164/58 +f 166/151/57 174/167/57 175/165/57 +f 165/155/56 173/164/56 174/167/56 +f 163/5/64 171/162/64 177/168/64 +f 167/157/54 175/447/54 176/170/54 +f 185/171/55 193/244/55 194/172/55 +f 194/174/58 189/177/58 181/175/58 +f 189/177/56 190/245/56 182/178/56 +f 182/178/57 190/245/57 191/179/57 +f 179/181/64 187/242/64 193/182/64 +f 191/184/54 192/240/54 184/185/54 +f 188/187/53 187/242/53 179/181/53 +f 192/189/61 188/187/61 180/188/61 +f 174/191/52 198/213/52 199/192/52 +f 171/194/52 195/201/52 201/195/52 +f 175/197/52 199/192/52 200/198/52 +f 172/200/52 196/204/52 195/201/52 +f 176/203/52 200/198/52 196/204/52 +f 177/206/52 201/195/52 202/207/52 +f 178/209/52 202/207/52 197/210/52 +f 173/212/52 197/239/52 198/213/52 +f 186/215/69 210/219/69 209/216/69 +f 181/218/69 205/448/69 210/219/69 +f 182/221/69 206/225/69 205/222/69 +f 183/224/69 207/231/69 206/225/69 +f 185/227/69 209/216/69 203/228/69 +f 184/230/69 208/237/69 207/231/69 +f 179/233/69 203/228/69 204/234/69 +f 180/236/69 204/234/69 208/237/69 +f 208/237/61 204/234/61 196/204/61 +f 204/234/53 203/228/53 195/201/53 +f 195/201/64 203/228/64 209/216/64 +f 201/195/55 209/216/55 210/219/55 +f 210/219/58 205/448/58 197/210/58 +f 205/222/56 206/225/56 198/213/56 +f 198/213/57 206/225/57 207/231/57 +f 207/231/54 208/237/54 200/198/54 +f 192/240/69 213/449/69 212/241/69 +f 187/242/69 211/249/69 214/243/69 +f 190/245/69 216/450/69 217/246/69 +f 194/172/69 218/248/69 215/247/69 +f 215/247/69 216/450/69 190/245/69 +f 193/244/69 214/243/69 218/248/69 +f 217/246/69 213/449/69 192/240/69 +f 188/187/69 212/241/69 211/249/69 +f 213/250/78 221/451/78 220/251/78 +f 214/253/79 211/263/79 219/254/79 +f 216/256/80 224/452/80 225/257/80 +f 215/259/81 218/262/81 226/260/81 +f 214/253/82 222/255/82 226/260/82 +f 223/261/83 224/452/83 216/256/83 +f 225/257/84 221/451/84 213/250/84 +f 212/252/85 220/251/85 219/254/85 +f 222/255/69 219/254/69 220/251/69 +f 220/251/69 221/451/69 225/257/69 +f 225/257/69 224/452/69 223/261/69 +f 223/261/69 226/260/69 222/255/69 +f 222/255/69 220/251/69 223/261/69 +f 227/264/53 229/267/53 230/265/53 +f 229/267/53 231/271/53 232/268/53 +f 229/269/86 235/453/86 237/270/86 +f 231/271/52 237/270/52 238/272/52 +f 230/273/54 236/454/54 234/274/54 +f 232/268/87 238/272/87 236/276/87 +f 229/278/55 227/283/55 233/279/55 +f 228/266/83 240/282/83 239/281/83 +f 264/284/69 263/305/69 261/285/69 +f 242/287/57 246/455/57 248/288/57 +f 243/290/58 247/293/58 245/291/58 +f 244/289/56 248/288/56 247/293/56 +f 241/294/55 245/456/55 249/295/55 +f 239/281/55 241/294/55 251/296/55 +f 252/297/54 242/299/54 240/282/54 +f 250/298/54 246/457/54 242/299/54 +f 262/286/88 261/285/88 257/300/88 +f 258/302/89 263/305/89 264/284/89 +f 255/304/90 261/285/90 263/305/90 +f 254/307/95 264/284/95 262/286/95 +f 240/282/69 256/308/69 259/301/69 +f 257/300/69 255/304/69 239/281/69 +f 240/282/69 259/301/69 257/300/69 +f 242/299/69 254/307/69 256/308/69 +f 255/304/69 253/306/69 241/294/69 +f 241/294/69 253/306/69 258/302/69 +f 258/302/69 260/303/69 244/289/69 +f 260/303/69 254/307/69 242/299/69 +f 318/309/96 319/382/96 317/310/96 +f 321/312/97 313/343/97 314/313/97 +f 273/315/69 276/335/69 275/316/69 +f 277/318/69 280/330/69 279/319/69 +f 272/321/53 280/330/53 277/318/53 +f 269/323/56 278/320/56 279/319/56 +f 268/325/53 276/335/53 273/315/53 +f 265/327/56 274/317/56 275/316/56 +f 270/329/54 279/319/54 280/330/54 +f 271/332/55 277/318/55 278/320/55 +f 266/334/54 275/316/54 276/335/54 +f 267/337/55 273/315/55 274/317/55 +f 307/339/98 308/458/98 288/340/98 +f 312/342/99 314/313/99 313/343/99 +f 308/347/54 282/376/54 322/381/54 +f 282/376/54 286/380/54 322/381/54 +f 322/381/54 292/345/54 308/347/54 +f 307/339/100 290/341/100 289/348/100 +f 315/352/55 285/377/55 281/459/55 +f 310/350/55 287/460/55 291/351/55 +f 315/352/55 281/459/55 310/350/55 +f 293/353/101 297/359/101 298/354/101 +f 294/355/102 298/354/102 296/356/102 +f 293/353/103 291/461/103 295/358/103 +f 297/359/52 301/362/52 302/360/52 +f 298/354/104 302/360/104 300/361/104 +f 295/358/105 299/420/105 301/362/105 +f 288/340/106 304/422/106 306/363/106 +f 289/348/107 305/366/107 303/364/107 +f 290/341/69 306/363/69 305/366/69 +f 304/368/54 288/346/54 292/345/54 +f 292/345/54 296/462/54 300/367/54 +f 291/351/55 287/460/55 303/428/55 +f 303/428/55 299/369/55 291/351/55 +f 301/362/108 351/421/108 352/371/108 +f 281/372/109 283/375/109 309/349/109 +f 284/374/110 307/339/110 309/349/110 +f 282/376/111 308/458/111 307/339/111 +f 309/349/112 289/348/112 287/365/112 +f 285/377/55 315/352/55 313/343/55 +f 312/342/113 311/379/113 317/310/113 +f 322/378/114 311/379/114 294/355/114 +f 311/379/115 322/378/115 316/311/115 +f 286/380/54 318/309/54 316/311/54 +f 312/342/116 293/353/116 294/355/116 +f 320/314/117 314/313/117 317/310/117 +f 315/344/118 291/461/118 293/353/118 +f 326/383/85 323/386/85 324/384/85 +f 323/386/108 327/388/108 328/387/108 +f 327/388/119 329/390/119 330/389/119 +f 329/390/52 331/463/52 332/391/52 +f 329/392/54 327/388/54 323/386/54 +f 324/384/55 328/387/55 330/395/55 +f 341/398/53 343/464/53 344/399/53 +f 339/401/54 340/409/54 338/402/54 +f 335/404/53 339/401/53 337/403/53 +f 336/406/52 340/409/52 339/401/52 +f 334/408/56 338/402/56 340/409/56 +f 333/411/69 337/403/69 338/402/69 +f 344/399/54 348/415/54 346/413/54 +f 343/414/52 347/465/52 348/415/52 +f 342/400/69 346/413/69 345/416/69 +f 348/415/56 347/466/56 345/418/56 +f 300/361/120 302/360/120 352/371/120 +f 299/420/121 349/467/121 351/421/121 +f 304/422/122 354/468/122 356/423/122 +f 303/364/123 305/366/123 355/424/123 +f 306/363/85 356/423/85 355/424/85 +f 300/367/54 350/469/54 354/426/54 +f 353/427/55 349/470/55 299/369/55 +f 351/431/56 349/471/56 350/429/56 +f 349/471/56 353/472/56 350/429/56 +f 353/472/56 355/473/56 356/474/56 +f 356/474/56 354/475/56 353/472/56 +f 354/475/56 350/429/56 353/472/56 diff --git a/src/main/resources/assets/hbm/textures/armor/wings_black.png b/src/main/resources/assets/hbm/textures/armor/wings_black.png new file mode 100644 index 000000000..134a08b53 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/armor/wings_black.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_chemfac.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_chemfac.png index 3ec12aba3..9f8823a19 100755 Binary files a/src/main/resources/assets/hbm/textures/gui/processing/gui_chemfac.png and b/src/main/resources/assets/hbm/textures/gui/processing/gui_chemfac.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_nuke_barrel.png b/src/main/resources/assets/hbm/textures/items/ammo_nuke_barrel.png new file mode 100644 index 000000000..68e1e79fa Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_nuke_barrel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_nuke_hive.png b/src/main/resources/assets/hbm/textures/items/ammo_nuke_hive.png new file mode 100644 index 000000000..788454adb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_nuke_hive.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/detonator_laser.png b/src/main/resources/assets/hbm/textures/models/weapons/detonator_laser.png index 2226449e2..e77117fd4 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/detonator_laser.png and b/src/main/resources/assets/hbm/textures/models/weapons/detonator_laser.png differ