diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 6fe06592e..e0a391b02 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -139,6 +139,7 @@ public class ModBlocks { public static Block stone_resource; public static Block stalagmite; public static Block stalactite; + public static Block stone_deep_cobble; public static Block depth_brick; public static Block depth_tiles; @@ -1383,6 +1384,7 @@ public class ModBlocks { stone_resource = new BlockResourceStone().setBlockName("stone_resource").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); stalagmite = new BlockStalagmite().setBlockName("stalagmite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); stalactite = new BlockStalagmite().setBlockName("stalactite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); + stone_deep_cobble = new BlockDeepCobble().setBlockName("stone_deep_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(30.0F); basalt = new BlockGeneric(Material.rock).setBlockName("basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt"); basalt_sulfur = new BlockOre(Material.rock).setBlockName("basalt_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_sulfur"); @@ -2488,6 +2490,7 @@ public class ModBlocks { GameRegistry.registerBlock(basalt_brick, basalt_brick.getUnlocalizedName()); GameRegistry.registerBlock(basalt_polished, basalt_polished.getUnlocalizedName()); GameRegistry.registerBlock(basalt_tiles, basalt_tiles.getUnlocalizedName()); + //GameRegistry.registerBlock(stone_deep_cobble, ItemBlockBase.class, stone_deep_cobble.getUnlocalizedName()); //Blocks GameRegistry.registerBlock(block_uranium, block_uranium.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java b/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java index 7a8167446..312c9c310 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java @@ -2,8 +2,6 @@ package com.hbm.blocks.generic; import java.util.Random; -import com.hbm.blocks.ModBlocks; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; diff --git a/src/main/java/com/hbm/blocks/generic/BlockDeepCobble.java b/src/main/java/com/hbm/blocks/generic/BlockDeepCobble.java new file mode 100644 index 000000000..34c894bbb --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockDeepCobble.java @@ -0,0 +1,43 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import com.hbm.blocks.BlockEnumMulti; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.world.World; + +public class BlockDeepCobble extends BlockEnumMulti { + + public static enum EnumDeepCobbleTypes { + NORMAL, + BURNING, + STEAMING + } + + public BlockDeepCobble() { + super(Material.rock, EnumDeepCobbleTypes.class, true, true); + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World world, int x, int y, int z, Random rand) { + super.randomDisplayTick(world, x, y, z, rand); + + int meta = world.getBlockMetadata(x, y, z); + Block b = world.getBlock(x, y + 1, z); + + if(!b.isNormalCube()) { + if(meta == EnumDeepCobbleTypes.BURNING.ordinal()) { + world.spawnParticle("flame", x + rand.nextDouble(), y + 1.0625, z + rand.nextDouble(), 0.0, 0.0, 0.0); + } + + if(meta == EnumDeepCobbleTypes.STEAMING.ordinal()) { + world.spawnParticle("cloud", x + 0.25 + rand.nextDouble() * 0.5, y + 1.0625, z + 0.25 + rand.nextDouble() * 0.5, 0.0, 0.05, 0.0); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java b/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java index 986650809..5dddb69ed 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java @@ -32,6 +32,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -134,7 +136,12 @@ public class BlockStorageCrate extends BlockContainer { try { byte[] abyte = CompressedStreamTools.compress(nbt); - //System.out.println("size: " + abyte.length); //TODO: test capacity, make sure size is <20% of maximum allowed payload + + if(abyte.length > 6000) { + player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + "Warning: Container NBT exceeds 6kB, contents will be ejected!")); + return world.setBlockToAir(x, y, z); + } + } catch(IOException e) { } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java b/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java index 3c5f2826c..519011857 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java +++ b/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java @@ -73,9 +73,18 @@ public class BlockMassStorage extends BlockContainer implements IBlockMulti, ILo return side == 1 ? this.iconTop[meta] : (side == 0 ? this.iconTop[meta] : this.iconSide[meta]); } + @Override + public int damageDropped(int meta) { + return meta; + } + @Override public TileEntity createNewTileEntity(World world, int meta) { - return new TileEntityMassStorage(meta == 0 ? 10_000 : meta == 1 ? 100_000 : 1_000_000); + return new TileEntityMassStorage(getCapacity(meta)); + } + + public int getCapacity(int meta) { + return meta == 0 ? 10_000 : meta == 1 ? 100_000 : meta == 2 ? 1_000_000 : 0; } @Override @@ -131,7 +140,7 @@ public class BlockMassStorage extends BlockContainer implements IBlockMulti, ILo } } - if(inv instanceof TileEntityMassStorage) { + if(inv instanceof TileEntityMassStorage && nbt.func_150296_c().size() > 0) { TileEntityMassStorage storage = (TileEntityMassStorage) inv; nbt.setInteger("stack", storage.getStockpile()); } @@ -274,7 +283,7 @@ public class BlockMassStorage extends BlockContainer implements IBlockMulti, ILo if(type != null) { list.add(EnumChatFormatting.GOLD + type.getDisplayName()); - list.add("x" + String.format("%,d", stack.stackTagCompound.getInteger("stack"))); + list.add(String.format("%,d", stack.stackTagCompound.getInteger("stack")) + " / " + String.format("%,d", getCapacity(stack.getItemDamage()))); } } } diff --git a/src/main/java/com/hbm/config/FalloutConfigJSON.java b/src/main/java/com/hbm/config/FalloutConfigJSON.java index 3db6590e8..7236fbbf1 100644 --- a/src/main/java/com/hbm/config/FalloutConfigJSON.java +++ b/src/main/java/com/hbm/config/FalloutConfigJSON.java @@ -5,7 +5,6 @@ import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Random; @@ -18,6 +17,7 @@ import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.RecipesCommon.MetaBlock; import com.hbm.main.MainRegistry; +import com.hbm.util.Compat; import com.hbm.util.Tuple.Triplet; import net.minecraft.block.Block; @@ -53,29 +53,34 @@ public class FalloutConfigJSON { } private static void initDefault() { - entries.add(new FalloutEntry() - .mB(Blocks.leaves) - .prim(new Triplet(Blocks.air, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.leaves2) - .prim(new Triplet(Blocks.air, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.stone) - .prim(new Triplet(ModBlocks.sellafield_1, 0, 1)) - .max(5) - .sol(true)); - entries.add(new FalloutEntry() - .mB(Blocks.stone) - .prim(new Triplet(ModBlocks.sellafield_0, 0, 1)) - .min(5) - .max(15) - .sol(true)); - entries.add(new FalloutEntry() - .mB(Blocks.stone) - .prim(new Triplet(ModBlocks.sellafield_slaked, 0, 1)) - .min(15) - .max(75) - .sol(true)); + + double woodEffectRange = 65D; + /* destroy all leaves within the radios, kill all leaves outside of it */ + entries.add(new FalloutEntry() .mB(Blocks.leaves) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.leaves2) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(ModBlocks.waste_leaves) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.leaves) .prim(new Triplet(ModBlocks.waste_leaves, 0, 1)) .min(woodEffectRange)); + entries.add(new FalloutEntry( ).mB(Blocks.leaves2) .prim(new Triplet(ModBlocks.waste_leaves, 0, 1)) .min(woodEffectRange)); + + entries.add(new FalloutEntry() .mB(Blocks.log) .prim(new Triplet(ModBlocks.waste_log, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.log2) .prim(new Triplet(ModBlocks.waste_log, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.red_mushroom_block).mM(10) .prim(new Triplet(ModBlocks.waste_log, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.brown_mushroom_block).mM(10) .prim(new Triplet(ModBlocks.waste_log, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.red_mushroom_block) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.brown_mushroom_block) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.planks) .prim(new Triplet(ModBlocks.waste_planks, 0, 1)) .max(woodEffectRange)); + + FalloutEntry stoneCore = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield_1, 0, 1)).max(5).sol(true); + FalloutEntry stoneInner = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield_0, 0, 1)).min(5).max(15).sol(true); + FalloutEntry stoneOuter = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield_slaked, 0, 1)).min(15).max(50).sol(true); + + entries.add(stoneCore.clone().mB(Blocks.stone)); + entries.add(stoneInner.clone().mB(Blocks.stone)); + entries.add(stoneOuter.clone().mB(Blocks.stone)); + entries.add(stoneCore.clone().mB(Blocks.gravel)); + entries.add(stoneInner.clone().mB(Blocks.gravel)); + entries.add(stoneOuter.clone().mB(Blocks.gravel)); + entries.add(new FalloutEntry() .mB(Blocks.grass) .prim(new Triplet(ModBlocks.waste_earth, 0, 1))); @@ -100,24 +105,13 @@ public class FalloutConfigJSON { .mB(Blocks.coal_ore) .prim(new Triplet(Blocks.diamond_ore, 0, 3), new Triplet(Blocks.emerald_ore, 0, 2)) .c(0.2)); - entries.add(new FalloutEntry() - .mB(Blocks.log) - .prim(new Triplet(ModBlocks.waste_log, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.log2) - .prim(new Triplet(ModBlocks.waste_log, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.red_mushroom_block).mM(10) - .prim(new Triplet(ModBlocks.waste_log, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.brown_mushroom_block).mM(10) - .prim(new Triplet(ModBlocks.waste_log, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.planks) - .prim(new Triplet(ModBlocks.waste_planks, 0, 1))); entries.add(new FalloutEntry() .mB(Blocks.coal_ore) .prim(new Triplet(Blocks.diamond_ore, 0, 3), new Triplet(Blocks.emerald_ore, 0, 2)) + .c(0.5)); + entries.add(new FalloutEntry() + .mB(ModBlocks.ore_lignite) + .prim(new Triplet(Blocks.diamond_ore, 0, 1)) .c(0.2)); entries.add(new FalloutEntry() .mB(ModBlocks.ore_uranium) @@ -128,6 +122,20 @@ public class FalloutConfigJSON { entries.add(new FalloutEntry() .mB(ModBlocks.ore_gneiss_uranium) .prim(new Triplet(ModBlocks.ore_gneiss_schrabidium, 0, 1), new Triplet(ModBlocks.ore_gneiss_uranium_scorched, 0, 99))); + + /// COMPAT /// + Block deepslate = Compat.tryLoadBlock(Compat.MOD_EF, "deepslate"); + if(deepslate != null) { //identical to stone + entries.add(stoneCore.clone().mB(deepslate)); + entries.add(stoneInner.clone().mB(deepslate)); + entries.add(stoneOuter.clone().mB(deepslate)); + } + Block stone = Compat.tryLoadBlock(Compat.MOD_EF, "stone"); + if(stone != null) { //identical to stone + entries.add(stoneCore.clone().mB(stone)); + entries.add(stoneInner.clone().mB(stone)); + entries.add(stoneOuter.clone().mB(stone)); + } } private static void writeDefault(File file) { @@ -185,6 +193,21 @@ public class FalloutConfigJSON { private double maxDist = 100.0D; private boolean isSolid = false; + + public FalloutEntry clone() { + FalloutEntry entry = new FalloutEntry(); + entry.mB(matchesBlock); + entry.mM(matchesMeta); + entry.mMa(matchesMaterial); + entry.mO(matchesOpaque); + entry.prim(primaryBlocks); + entry.sec(secondaryBlocks); + entry.min(minDist); + entry.max(maxDist); + entry.sol(isSolid); + + return entry; + } public FalloutEntry mB(Block block) { this.matchesBlock = block; return this; } public FalloutEntry mM(int meta) { this.matchesMeta = meta; return this; } @@ -211,7 +234,7 @@ public class FalloutConfigJSON { if(primaryBlocks == null) return false; MetaBlock block = chooseRandomOutcome(primaryBlocks); - world.setBlock(x, y, z, block.block, block.meta, 2); + world.setBlock(x, y, z, block.block, block.meta, 3); return true; } else { @@ -219,7 +242,7 @@ public class FalloutConfigJSON { if(secondaryBlocks == null) return false; MetaBlock block = chooseRandomOutcome(secondaryBlocks); - world.setBlock(x, y, z, block.block, block.meta, 2); + world.setBlock(x, y, z, block.block, block.meta, 3); return true; } } diff --git a/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java b/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java index 8eaaff942..1e88f0177 100644 --- a/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java +++ b/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java @@ -1,5 +1,7 @@ package com.hbm.entity.cart; +import java.io.IOException; + import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemModMinecart; @@ -11,8 +13,11 @@ import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; public class EntityMinecartCrate extends EntityMinecartContainerBase { @@ -76,6 +81,16 @@ public class EntityMinecartCrate extends EntityMinecartContainerBase { if(this.func_95999_t() != null) { itemstack.setStackDisplayName(this.func_95999_t()); } + + try { + byte[] abyte = CompressedStreamTools.compress(nbt); + + if(abyte.length > 6000) { + worldObj.newExplosion(this, posX, posY, posZ, 2F, true, true); + this.entityDropItem(ItemModMinecart.createCartItem(EnumCartBase.VANILLA, EnumMinecart.CRATE), 0.0F); + } + + } catch(IOException e) { } this.entityDropItem(itemstack, 0.0F); } diff --git a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java index 3fb6146a7..a6cef460f 100644 --- a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java +++ b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java @@ -9,6 +9,7 @@ import com.hbm.saveddata.AuxSavedData; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityFallingBlock; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; @@ -72,6 +73,7 @@ public class EntityFalloutRain extends Entity { } } } + } else { setDead(); } @@ -120,7 +122,9 @@ public class EntityFalloutRain extends Entity { Collections.reverse(chunksToProcess); // So it starts nicely from the middle Collections.reverse(outerChunksToProcess); } - + + //private List changedPositions = new ArrayList(); + // TODO cache chunks? private void stomp(int x, int z, double dist) { @@ -145,12 +149,12 @@ public class EntityFalloutRain extends Entity { double chance = 0.05 - Math.pow((d - 0.6) * 0.5, 2); if(chance >= rand.nextDouble() && ModBlocks.fallout.canPlaceBlockAt(worldObj, x, y + 1, z)) - worldObj.setBlock(x, y + 1, z, ModBlocks.fallout); + setBlock(x, y + 1, z, ModBlocks.fallout); } if(b.isFlammable(worldObj, x, y, z, ForgeDirection.UP)) { if(rand.nextInt(5) == 0) - worldObj.setBlock(x, y + 1, z, Blocks.fire); + setBlock(x, y + 1, z, Blocks.fire); } boolean eval = false; @@ -161,107 +165,32 @@ public class EntityFalloutRain extends Entity { if(entry.isSolid()) { depth++; } - eval = true; break; } } + if(dist < 65 && b.getBlockHardness(worldObj, x, y, z) <= Blocks.stonebrick.getExplosionResistance(null)) { + Block bl = worldObj.getBlock(x, y - 1, z); + if(bl == Blocks.air) { + EntityFallingBlock entityfallingblock = new EntityFallingBlock(worldObj, x + 0.5D, y + 0.5D, z + 0.5D, worldObj.getBlock(x, y, z), worldObj.getBlockMetadata(x, y, z)); + worldObj.spawnEntityInWorld(entityfallingblock); + } + } + if(!eval && b.isNormalCube()) { depth++; } - - /*if (b == Blocks.leaves || b == Blocks.leaves2) { - worldObj.setBlock(x, y, z, Blocks.air); - - } else if(b == Blocks.stone) { - - depth++; - - if(dist < 5) - worldObj.setBlock(x, y, z, ModBlocks.sellafield_1); - else if(dist < 15) - worldObj.setBlock(x, y, z, ModBlocks.sellafield_0); - else if(dist < 75) - worldObj.setBlock(x, y, z, ModBlocks.sellafield_slaked); - else - return; - - if(depth > 2) - return; - - } else if(b == Blocks.grass) { - worldObj.setBlock(x, y, z, ModBlocks.waste_earth); - return; - - } else if(b == Blocks.mycelium) { - worldObj.setBlock(x, y, z, ModBlocks.waste_mycelium); - return; - - } else if(b == Blocks.sand) { - - if(rand.nextInt(20) == 0) - worldObj.setBlock(x, y, z, meta == 0 ? ModBlocks.waste_trinitite : ModBlocks.waste_trinitite_red); - return; - - } else if (b == Blocks.clay) { - worldObj.setBlock(x, y, z, Blocks.hardened_clay); - return; - - } else if (b == Blocks.mossy_cobblestone) { - worldObj.setBlock(x, y, z, Blocks.coal_ore); - return; - - } else if (b == Blocks.coal_ore) { - int ra = rand.nextInt(150); - if (ra < 20) { - worldObj.setBlock(x, y, z, Blocks.diamond_ore); - } else if (ra < 30) { - worldObj.setBlock(x, y, z, Blocks.emerald_ore); - } - return; - - } else if (b == Blocks.log || b == Blocks.log2) { - worldObj.setBlock(x, y, z, ModBlocks.waste_log); - - } else if (b == Blocks.brown_mushroom_block || b == Blocks.red_mushroom_block) { - if (meta == 10) { - worldObj.setBlock(x, y, z, ModBlocks.waste_log); - } else { - worldObj.setBlock(x, y, z, Blocks.air,0,2); - } - - } else if (b.getMaterial() == Material.wood && b.isOpaqueCube() && b != ModBlocks.waste_log) { - worldObj.setBlock(x, y, z, ModBlocks.waste_planks); - } - - else if (b == ModBlocks.ore_uranium) { - if (rand.nextInt(VersatileConfig.getSchrabOreChance()) == 0) - worldObj.setBlock(x, y, z, ModBlocks.ore_schrabidium); - else - worldObj.setBlock(x, y, z, ModBlocks.ore_uranium_scorched); - return; - - } else if (b == ModBlocks.ore_nether_uranium) { - if (rand.nextInt(VersatileConfig.getSchrabOreChance()) == 0) - worldObj.setBlock(x, y, z, ModBlocks.ore_nether_schrabidium); - else - worldObj.setBlock(x, y, z, ModBlocks.ore_nether_uranium_scorched); - return; - - } else if(b == ModBlocks.ore_gneiss_uranium) { - if(rand.nextInt(VersatileConfig.getSchrabOreChance()) == 0) - worldObj.setBlock(x, y, z, ModBlocks.ore_gneiss_schrabidium); - else - worldObj.setBlock(x, y, z, ModBlocks.ore_gneiss_uranium_scorched); - return; - - //this piece stops the "stomp" from reaching below ground - } else if(b.isNormalCube()) { - return; - }*/ } } + + public void setBlock(int x, int y, int z, Block block) { + setBlock(x, y, z, block, 0); + } + + public void setBlock(int x, int y, int z, Block block, int meta) { + worldObj.setBlock(x, y, z, block, meta, 3); //this was supposed to write the position to a list for a multi block update, but forge already has that built-in. whoops. + } @Override protected void entityInit() { diff --git a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK4.java b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK4.java index 3ccfd3eda..6d0a40d70 100644 --- a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK4.java +++ b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK4.java @@ -102,7 +102,7 @@ public class EntityNukeExplosionMK4 extends Entity { fallout.posX = this.posX; fallout.posY = this.posY; fallout.posZ = this.posZ; - fallout.setScale((int)(this.length * 1.8 + falloutAdd) * BombConfig.falloutRange / 100); + fallout.setScale((int)(this.length * 2.5 + falloutAdd) * BombConfig.falloutRange / 100); this.worldObj.spawnEntityInWorld(fallout); diff --git a/src/main/java/com/hbm/entity/projectile/EntityArtilleryShell.java b/src/main/java/com/hbm/entity/projectile/EntityArtilleryShell.java index c11471a5e..8e66e0b47 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityArtilleryShell.java +++ b/src/main/java/com/hbm/entity/projectile/EntityArtilleryShell.java @@ -67,22 +67,38 @@ public class EntityArtilleryShell extends EntityThrowableNT implements IChunkLoa public ArtilleryShell getType() { try { - return ItemAmmoArty.types[this.dataWatcher.getWatchableObjectInt(10)]; + return ItemAmmoArty.itemTypes[this.dataWatcher.getWatchableObjectInt(10)]; } catch(Exception ex) { - return ItemAmmoArty.types[0]; + return ItemAmmoArty.itemTypes[0]; } } - public void setTarget(int x, int y, int z) { + public double[] getTarget() { + return new double[] { this.targetX, this.targetY, this.targetZ }; + } + + public void setTarget(double x, double y, double z) { this.targetX = x; this.targetY = y; this.targetZ = z; } + public double getTargetHeight() { + return this.targetY; + } + public void setWhistle(boolean whistle) { this.shouldWhistle = whistle; } + public boolean getWhistle() { + return this.shouldWhistle; + } + + public boolean didWhistle() { + return this.didWhistle; + } + @Override public void onUpdate() { @@ -96,12 +112,13 @@ public class EntityArtilleryShell extends EntityThrowableNT implements IChunkLoa double dist = Math.sqrt(deltaX * deltaX + deltaZ * deltaZ); if(speed * 18 > dist) { - worldObj.playSoundEffect(this.targetX, this.targetY, this.targetZ, "hbm:turret.mortarWhistle", 15.0F, 1.0F); + worldObj.playSoundEffect(this.targetX, this.targetY, this.targetZ, "hbm:turret.mortarWhistle", 15.0F, 0.9F + rand.nextFloat() * 0.2F); this.didWhistle = true; } } loadNeighboringChunks((int)Math.floor(posX / 16D), (int)Math.floor(posZ / 16D)); + this.getType().onUpdate(this); } else { if(this.turnProgress > 0) { @@ -143,15 +160,7 @@ public class EntityArtilleryShell extends EntityThrowableNT implements IChunkLoa protected void onImpact(MovingObjectPosition mop) { if(!worldObj.isRemote) { - /*Vec3 vec = Vec3.createVectorHelper(motionX, motionY, motionZ).normalize(); - this.worldObj.newExplosion(this, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, 15F, false, false); - this.setDead();*/ - this.getType().onImpact(this, mop); - - for(ChunkCoordIntPair chunk : loadedChunks) { - ForgeChunkManager.unforceChunk(loaderTicket, chunk); - } } } @@ -172,27 +181,30 @@ public class EntityArtilleryShell extends EntityThrowableNT implements IChunkLoa public void loadNeighboringChunks(int newChunkX, int newChunkZ) { if(!worldObj.isRemote && loaderTicket != null) { - for(ChunkCoordIntPair chunk : loadedChunks) { - ForgeChunkManager.unforceChunk(loaderTicket, chunk); - } + clearChunkLoader(); loadedChunks.clear(); loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ)); loadedChunks.add(new ChunkCoordIntPair(newChunkX + (int) Math.ceil((this.posX + this.motionX) / 16D), newChunkZ + (int) Math.ceil((this.posZ + this.motionZ) / 16D))); - /*loadedChunks.add(new ChunkCoordIntPair(newChunkX + 1, newChunkZ + 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX - 1, newChunkZ - 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX + 1, newChunkZ - 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX - 1, newChunkZ + 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX + 1, newChunkZ)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ + 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX - 1, newChunkZ)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ - 1));*/ for(ChunkCoordIntPair chunk : loadedChunks) { ForgeChunkManager.forceChunk(loaderTicket, chunk); } } } + + public void killAndClear() { + this.setDead(); + this.clearChunkLoader(); + } + + public void clearChunkLoader() { + if(!worldObj.isRemote && loaderTicket != null) { + for(ChunkCoordIntPair chunk : loadedChunks) { + ForgeChunkManager.unforceChunk(loaderTicket, chunk); + } + } + } @Override public void writeEntityToNBT(NBTTagCompound nbt) { diff --git a/src/main/java/com/hbm/inventory/container/ContainerTurretBase.java b/src/main/java/com/hbm/inventory/container/ContainerTurretBase.java index bcf16824c..0948f8578 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerTurretBase.java +++ b/src/main/java/com/hbm/inventory/container/ContainerTurretBase.java @@ -15,6 +15,7 @@ public class ContainerTurretBase extends Container { public ContainerTurretBase(InventoryPlayer invPlayer, TileEntityTurretBaseNT te) { turret = te; + turret.openInventory(); this.addSlotToContainer(new Slot(te, 0, 98, 27)); @@ -78,4 +79,10 @@ public class ContainerTurretBase extends Container { public boolean canInteractWith(EntityPlayer player) { return turret.isUseableByPlayer(player); } + + @Override + public void onContainerClosed(EntityPlayer p_75134_1_) { + super.onContainerClosed(p_75134_1_); + this.turret.closeInventory(); + } } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index a28ded22a..45d2ad402 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1632,6 +1632,7 @@ public class ModItems { public static Item gun_revolver_silver; public static Item gun_revolver_red; //public static Item gun_revolver_nopip_ammo; + public static Item gun_bio_revolver; public static Item gun_deagle; public static Item gun_flechette; public static Item gun_ar15; @@ -4368,6 +4369,7 @@ public class ModItems { gun_revolver_silver = new ItemGunBase(Gun44MagnumFactory.getSilverConfig()).setUnlocalizedName("gun_revolver_silver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_silver"); gun_revolver_red = new ItemGunBase(Gun44MagnumFactory.getRedConfig()).setUnlocalizedName("gun_revolver_red").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_red"); gun_deagle = new ItemGunBase(Gun50AEFactory.getDeagleConfig()).setUnlocalizedName("gun_deagle").setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_deagle"); + gun_bio_revolver = new ItemGunBio(Gun50AEFactory.getDeagleConfig()).setUnlocalizedName("gun_bio_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bio_revolver"); gun_flechette = new ItemGunBase(Gun556mmFactory.getSPIWConfig(), Gun556mmFactory.getGLauncherConfig()).setUnlocalizedName("gun_flechette").setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_flechette"); gun_ar15 = new ItemGunBase(Gun50BMGFactory.getAR15Config()).setUnlocalizedName("gun_ar15").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_ar15"); //gun_calamity_ammo = new ItemCustomLore().setUnlocalizedName("gun_calamity_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_calamity_ammo"); @@ -7167,6 +7169,7 @@ public class ModItems { GameRegistry.registerItem(gun_revolver_blackjack, gun_revolver_blackjack.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_silver, gun_revolver_silver.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_red, gun_revolver_red.getUnlocalizedName()); + GameRegistry.registerItem(gun_bio_revolver, gun_bio_revolver.getUnlocalizedName()); GameRegistry.registerItem(gun_deagle, gun_deagle.getUnlocalizedName()); GameRegistry.registerItem(gun_flechette, gun_flechette.getUnlocalizedName()); GameRegistry.registerItem(gun_ar15, gun_ar15.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java b/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java index 525f26f03..8ffd39ae5 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java @@ -15,7 +15,6 @@ import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; import com.hbm.explosion.vanillant.standard.EntityProcessorStandard; import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; -import com.hbm.lib.Library; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; @@ -42,13 +41,18 @@ import net.minecraft.util.Vec3; public class ItemAmmoArty extends Item { - public static ArtilleryShell[] types = new ArtilleryShell[ /* >>> */ 6 /* <<< */ ]; + public static ArtilleryShell[] itemTypes = new ArtilleryShell[ /* >>> */ 8 /* <<< */ ]; + public static ArtilleryShell[] shellTypes = new ArtilleryShell[ /* >>> */ 8 /* <<< */ ]; + /* item types */ public final int NORMAL = 0; public final int CLASSIC = 1; public final int EXPLOSIVE = 2; public final int MINI_NUKE = 3; public final int NUKE = 4; public final int PHOSPHORUS = 5; + public final int MINI_NUKE_MULTI = 6; + public final int PHOSPHORUS_MULTI = 7; + /* non-item shell types */ public ItemAmmoArty() { this.setHasSubtypes(true); @@ -63,7 +67,9 @@ public class ItemAmmoArty extends Item { list.add(new ItemStack(item, 1, CLASSIC)); list.add(new ItemStack(item, 1, EXPLOSIVE)); list.add(new ItemStack(item, 1, PHOSPHORUS)); + list.add(new ItemStack(item, 1, PHOSPHORUS_MULTI)); list.add(new ItemStack(item, 1, MINI_NUKE)); + list.add(new ItemStack(item, 1, MINI_NUKE_MULTI)); list.add(new ItemStack(item, 1, NUKE)); } @@ -108,15 +114,15 @@ public class ItemAmmoArty extends Item { } } - private IIcon[] icons = new IIcon[types.length]; + private IIcon[] icons = new IIcon[itemTypes.length]; @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister reg) { - this.icons = new IIcon[types.length]; + this.icons = new IIcon[itemTypes.length]; for(int i = 0; i < icons.length; i++) { - this.icons[i] = reg.registerIcon(RefStrings.MODID + ":" + types[i].name); + this.icons[i] = reg.registerIcon(RefStrings.MODID + ":" + itemTypes[i].name); } } @@ -128,71 +134,85 @@ public class ItemAmmoArty extends Item { @Override public String getUnlocalizedName(ItemStack stack) { - return "item." + types[Math.abs(stack.getItemDamage()) % types.length].name; + return "item." + itemTypes[Math.abs(stack.getItemDamage()) % itemTypes.length].name; } - public static abstract class ArtilleryShell { + public abstract class ArtilleryShell { String name; + public ArtilleryShell() { } + public ArtilleryShell(String name) { this.name = name; } public abstract void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop); + public void onUpdate(EntityArtilleryShell shell) { } + } + + public static void standardExplosion(EntityArtilleryShell shell, MovingObjectPosition mop, float size, float rangeMod, boolean breaksBlocks) { + shell.worldObj.playSoundEffect(shell.posX, shell.posY, shell.posZ, "hbm:weapon.explosionMedium", 20.0F, 0.9F + shell.worldObj.rand.nextFloat() * 0.2F); + Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); + ExplosionVNT xnt = new ExplosionVNT(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, size); + if(breaksBlocks) { + xnt.setBlockAllocator(new BlockAllocatorStandard(48)); + xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop()); + } + xnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(rangeMod)); + xnt.setPlayerProcessor(new PlayerProcessorStandard()); + xnt.setSFX(new ExplosionEffectStandard()); + xnt.explode(); + shell.killAndClear(); + } + + public static void standardCluster(EntityArtilleryShell shell, int clusterType, int amount, double splitHeight, double deviation) { + if(!shell.getWhistle() || shell.motionY > 0) return; + if(shell.getTargetHeight() + splitHeight < shell.posY) return; + + shell.killAndClear(); + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "plasmablast"); + data.setFloat("r", 1.0F); + data.setFloat("g", 1.0F); + data.setFloat("b", 1.0F); + data.setFloat("scale", 50F); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, shell.posX, shell.posY, shell.posZ), + new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 500)); + + for(int i = 0; i < amount; i++) { + EntityArtilleryShell cluster = new EntityArtilleryShell(shell.worldObj); + cluster.setType(clusterType); + cluster.setPositionAndRotation(shell.posX, shell.posY, shell.posZ, shell.rotationYaw, shell.rotationPitch); + cluster.motionX = i == 0 ? shell.motionX : (shell.motionX + shell.worldObj.rand.nextGaussian() * deviation); + cluster.motionY = shell.motionY; + cluster.motionZ = i == 0 ? shell.motionZ : (shell.motionZ + shell.worldObj.rand.nextGaussian() * deviation); + double[] target = shell.getTarget(); + cluster.setTarget(target[0], target[1], target[2]); + cluster.setWhistle(shell.getWhistle() && !shell.didWhistle()); + shell.worldObj.spawnEntityInWorld(cluster); + } } private void init() { - this.types[NORMAL] = new ArtilleryShell("ammo_arty") { - @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { - Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); - - ExplosionVNT xnt = new ExplosionVNT(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, 10F); - xnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(3F)); - xnt.setPlayerProcessor(new PlayerProcessorStandard()); - xnt.setSFX(new ExplosionEffectStandard()); - xnt.explode(); - - shell.setDead(); - } - }; - this.types[CLASSIC] = new ArtilleryShell("ammo_arty_classic") { - @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { - Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); - - ExplosionVNT xnt = new ExplosionVNT(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, 15F); - xnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(5F)); - xnt.setPlayerProcessor(new PlayerProcessorStandard()); - xnt.setSFX(new ExplosionEffectStandard()); - xnt.explode(); - - shell.setDead(); - } - }; - this.types[EXPLOSIVE] = new ArtilleryShell("ammo_arty_he") { - @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { - Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); - - ExplosionVNT xnt = new ExplosionVNT(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, 20F); - xnt.setBlockAllocator(new BlockAllocatorStandard(48)); - xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop()); - xnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(3F)); - xnt.setPlayerProcessor(new PlayerProcessorStandard()); - xnt.setSFX(new ExplosionEffectStandard()); - xnt.explode(); - - shell.setDead(); - } - }; - this.types[MINI_NUKE] = new ArtilleryShell("ammo_arty_mini_nuke") { - @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { + /* STANDARD SHELLS */ + this.shellTypes[NORMAL] = this.itemTypes[NORMAL] = new ArtilleryShell("ammo_arty") { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { standardExplosion(shell, mop, 10F, 3F, false); }}; + this.shellTypes[CLASSIC] = this.itemTypes[CLASSIC] = new ArtilleryShell("ammo_arty_classic") { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { standardExplosion(shell, mop, 15F, 5F, false); }}; + this.shellTypes[EXPLOSIVE] = this.itemTypes[EXPLOSIVE] = new ArtilleryShell("ammo_arty_he") { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { standardExplosion(shell, mop, 15F, 3F, true); }}; + + /* MINI NUKE */ + this.shellTypes[MINI_NUKE] = this.itemTypes[MINI_NUKE] = new ArtilleryShell("ammo_arty_mini_nuke") { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { + shell.killAndClear(); Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); ExplosionNukeSmall.explode(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, ExplosionNukeSmall.medium); - shell.setDead(); } }; - this.types[NUKE] = new ArtilleryShell("ammo_arty_nuke") { - @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { + + /* FULL NUKE */ + this.shellTypes[NUKE] = this.itemTypes[NUKE] = new ArtilleryShell("ammo_arty_nuke") { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { shell.worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(shell.worldObj, BombConfig.missileRadius, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord)); EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(shell.worldObj, 1000, BombConfig.missileRadius * 0.005F); entity2.posX = mop.hitVec.xCoord; @@ -202,53 +222,44 @@ public class ItemAmmoArty extends Item { shell.setDead(); } }; - this.types[PHOSPHORUS] = new ArtilleryShell("ammo_arty_phosphorus") { - @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { - - Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); - double x = mop.hitVec.xCoord - vec.xCoord; - double y = mop.hitVec.yCoord - vec.yCoord; - double z = mop.hitVec.zCoord - vec.zCoord; - - ExplosionVNT xnt = new ExplosionVNT(shell.worldObj, x, y, z, 10F); - xnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(3F)); - xnt.setPlayerProcessor(new PlayerProcessorStandard()); - xnt.setSFX(new ExplosionEffectStandard()); - xnt.explode(); - - ExplosionLarge.spawnShrapnels(shell.worldObj, x, y, z, 15); - ExplosionChaos.burn(shell.worldObj, (int)x, (int)y, (int)z, 12); - + + /* PHOSPHORUS */ + this.shellTypes[PHOSPHORUS] = this.itemTypes[PHOSPHORUS] = new ArtilleryShell("ammo_arty_phosphorus") { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { + standardExplosion(shell, mop, 10F, 3F, false); + shell.worldObj.playSoundEffect(shell.posX, shell.posY, shell.posZ, "hbm:weapon.explosionMedium", 20.0F, 0.9F + shell.worldObj.rand.nextFloat() * 0.2F); + ExplosionLarge.spawnShrapnels(shell.worldObj, (int) mop.hitVec.xCoord, (int) mop.hitVec.yCoord, (int) mop.hitVec.zCoord, 15); + ExplosionChaos.burn(shell.worldObj, (int) mop.hitVec.xCoord, (int) mop.hitVec.yCoord, (int) mop.hitVec.zCoord, 12); int radius = 15; List hit = shell.worldObj.getEntitiesWithinAABBExcludingEntity(shell, AxisAlignedBB.getBoundingBox(shell.posX - radius, shell.posY - radius, shell.posZ - radius, shell.posX + radius, shell.posY + radius, shell.posZ + radius)); - for(Entity e : hit) { - - if(!Library.isObstructed(shell.worldObj, shell.posX, shell.posY, shell.posZ, e.posX, e.posY + e.getEyeHeight(), e.posZ)) { - e.setFire(5); - - if(e instanceof EntityLivingBase) { - - PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 30 * 20, 0, true); - eff.getCurativeItems().clear(); - ((EntityLivingBase)e).addPotionEffect(eff); - } + e.setFire(5); + if(e instanceof EntityLivingBase) { + PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 30 * 20, 0, true); + eff.getCurativeItems().clear(); + ((EntityLivingBase)e).addPotionEffect(eff); } } - for(int i = 0; i < 5; i++) { NBTTagCompound haze = new NBTTagCompound(); haze.setString("type", "haze"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(haze, x + shell.worldObj.rand.nextGaussian() * 10, y, z + shell.worldObj.rand.nextGaussian() * 10), new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 150)); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(haze, mop.hitVec.xCoord + shell.worldObj.rand.nextGaussian() * 10, mop.hitVec.yCoord, mop.hitVec.zCoord + shell.worldObj.rand.nextGaussian() * 10), new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 150)); } - NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rbmkmush"); data.setFloat("scale", 10); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord), new TargetPoint(shell.dimension, x, y, z, 250)); - - shell.setDead(); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord), new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 250)); } }; + + /* CLUSTER SHELLS */ + this.shellTypes[PHOSPHORUS_MULTI] = this.itemTypes[PHOSPHORUS_MULTI] = new ArtilleryShell("ammo_arty_phosphorus_multi") { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { ItemAmmoArty.this.shellTypes[PHOSPHORUS].onImpact(shell, mop); } + public void onUpdate(EntityArtilleryShell shell) { standardCluster(shell, PHOSPHORUS, 10, 300, 5); } + }; + this.shellTypes[MINI_NUKE_MULTI] = this.itemTypes[MINI_NUKE_MULTI] = new ArtilleryShell("ammo_arty_mini_nuke_multi") { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { ItemAmmoArty.this.shellTypes[MINI_NUKE].onImpact(shell, mop); } + public void onUpdate(EntityArtilleryShell shell) { standardCluster(shell, MINI_NUKE, 5, 300, 5); } + }; } } diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBase.java b/src/main/java/com/hbm/items/weapon/ItemGunBase.java index c7e59441e..1601bce8f 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunBase.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunBase.java @@ -272,13 +272,13 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD { } } - //called on click (client side, called by update cylce) + //called on click (client side, called by mouse click event) public void startActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { } //called on click release (server side, called by mouse packet) for release actions like charged shots public void endAction(ItemStack stack, World world, EntityPlayer player, boolean main) { } - //called on click release (client side, called by update cylce) + //called on click release (client side, called by update cycle) public void endActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { } //reload action, if existent diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBio.java b/src/main/java/com/hbm/items/weapon/ItemGunBio.java new file mode 100644 index 000000000..624d8a660 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/ItemGunBio.java @@ -0,0 +1,61 @@ +package com.hbm.items.weapon; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.handler.GunConfiguration; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class ItemGunBio extends ItemGunBase { + + public ItemGunBio(GunConfiguration config) { + super(config); + } + + /* just a test */ + public static long lastShot; + public static List smokeNodes = new ArrayList(); + + @Override + public void startActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { + lastShot = System.currentTimeMillis(); + } + + @Override + @SideOnly(Side.CLIENT) + protected void updateClient(ItemStack stack, World world, EntityPlayer entity, int slot, boolean isCurrentItem) { + super.updateClient(stack, world, entity, slot, isCurrentItem); + + boolean smoking = lastShot + 3000 > System.currentTimeMillis(); + + if(!smoking && !smokeNodes.isEmpty()) { + smokeNodes.clear(); + } + + if(smoking) { + + Vec3 prev = Vec3.createVectorHelper(-entity.motionX, -entity.motionY, -entity.motionZ); + prev.rotateAroundY((float) (entity.rotationYaw * Math.PI / 180D)); + double accel = 15D; + double side = (entity.rotationYaw - entity.prevRotationYawHead) * 0.1D; + double waggle = 0.025D; + + for(double[] node : smokeNodes) { + node[0] += prev.xCoord * accel + world.rand.nextGaussian() * waggle + side; + node[1] += prev.yCoord + 1.5D; + node[2] += prev.zCoord * accel + world.rand.nextGaussian() * waggle; + } + + double alpha = (System.currentTimeMillis() - ItemGunBio.lastShot) / 3000D; + alpha = (1 - alpha) * 0.25D; + + smokeNodes.add(new double[] {0, 0, 0, alpha}); + } + } +} diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index b23001c5b..fda6c15f9 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -452,6 +452,7 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.gun_folly, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_brimstone, new ItemRenderObj()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_hk69, new ItemRenderWeaponObj()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_bio_revolver, new ItemRenderBioRevolver()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_deagle, new ItemRenderWeaponObj()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_supershotgun, new ItemRenderWeaponShotty()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_ks23, new ItemRenderWeaponObj()); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 6269822a1..a1fdef708 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -77,8 +77,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeCustom; import com.hbm.tileentity.machine.*; import com.hbm.tileentity.machine.rbmk.RBMKDials; import com.hbm.util.ArmorUtil; -import com.hbm.world.feature.OreCave; -import com.hbm.world.feature.SchistStratum; +import com.hbm.world.feature.*; import com.hbm.world.generator.CellularDungeonFactory; import cpw.mods.fml.common.SidedProxy; @@ -1010,27 +1009,12 @@ public class MainRegistry { //expand for the largest entity we have (currently Quackos who is 17.5m in diameter, that's one fat duck) World.MAX_ENTITY_RADIUS = Math.max(World.MAX_ENTITY_RADIUS, 8.75); + MinecraftForge.EVENT_BUS.register(new SchistStratum()); //DecorateBiomeEvent.Pre + //MinecraftForge.EVENT_BUS.register(new DeepLayer()); //DecorateBiomeEvent.Pre + new OreCave(ModBlocks.stone_resource, 0).setThreshold(1.5D).setRangeMult(20).setYLevel(30).setMaxRange(20).withFluid(ModBlocks.sulfuric_acid_block); //sulfur new OreCave(ModBlocks.stone_resource, 1).setThreshold(1.75D).setRangeMult(20).setYLevel(25).setMaxRange(20); //asbestos //new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70); - - //imagine adding flower entries but they don't actually do shit with the world generator - //"well but at least they work with bone meal, as advertised" except they fucking don't - /*BiomeGenBase.plains.addFlower(ModBlocks.plant_flower, EnumFlowerType.FOXGLOVE.ordinal(), 10); - BiomeGenBase.roofedForest.addFlower(ModBlocks.plant_flower, EnumFlowerType.NIGHTSHADE.ordinal(), 10); - BiomeGenBase.jungle.addFlower(ModBlocks.plant_flower, EnumFlowerType.TOBACCO.ordinal(), 10);*/ - - /*Set threads = Thread.getAllStackTraces().keySet(); - - for (Thread thread : threads) { - - System.out.println("Printing thread " + thread.getName()); - StackTraceElement[] stackTraceElements = thread.getStackTrace(); - for (StackTraceElement stackTraceElement : stackTraceElements) { - System.out.println("\t" + stackTraceElement); - } - System.out.println(""); - }*/ } @EventHandler @@ -1044,9 +1028,6 @@ public class MainRegistry { MinecraftForge.TERRAIN_GEN_BUS.register(commonHandler); MinecraftForge.ORE_GEN_BUS.register(commonHandler); - SchistStratum schist = new SchistStratum(); - MinecraftForge.EVENT_BUS.register(schist); //DecorateBiomeEvent.Pre - OreDictManager oreMan = new OreDictManager(); MinecraftForge.EVENT_BUS.register(oreMan); //OreRegisterEvent diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index fe61e64fa..e3a209a0f 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -658,6 +658,7 @@ public class ResourceManager { public static final IModelCustom spas_12 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/spas-12.obj")); public static final IModelCustom nightmare_dark = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/nightmare_dark.obj")); public static final IModelCustom glass_cannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/glass_cannon.obj")); + public static final IModelCustom bio_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/bio_revolver.obj")); public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); @@ -734,6 +735,7 @@ public class ResourceManager { public static final ResourceLocation detonator_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/detonator_laser.png"); public static final ResourceLocation spas_12_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/spas-12.png"); public static final ResourceLocation glass_cannon_panel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/glass_cannon_panel.png"); + public static final ResourceLocation bio_revolver_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/bio_revolver.png"); public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png"); diff --git a/src/main/java/com/hbm/particle/ParticlePlasmaBlast.java b/src/main/java/com/hbm/particle/ParticlePlasmaBlast.java index 7be30ddca..18430e811 100644 --- a/src/main/java/com/hbm/particle/ParticlePlasmaBlast.java +++ b/src/main/java/com/hbm/particle/ParticlePlasmaBlast.java @@ -55,6 +55,9 @@ public class ParticlePlasmaBlast extends EntityFX { GL11.glDisable(GL11.GL_CULL_FACE); RenderHelper.disableStandardItemLighting(); + boolean fog = GL11.glIsEnabled(GL11.GL_FOG); + if(fog) GL11.glDisable(GL11.GL_FOG); + float pX = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double)interp - interpPosX); float pY = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double)interp - interpPosY); float pZ = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double)interp - interpPosZ); @@ -78,7 +81,8 @@ public class ParticlePlasmaBlast extends EntityFX { tess.addVertexWithUV((double)(+ 1 * scale), (double)(- 0.25), (double)(+ 1 * scale), 0, 0); tess.addVertexWithUV((double)(+ 1 * scale), (double)(- 0.25), (double)(- 1 * scale), 0, 1); tess.draw(); - + + if(fog) GL11.glEnable(GL11.GL_FOG); GL11.glPolygonOffset(0.0F, 0.0F); GL11.glEnable(GL11.GL_CULL_FACE); GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); diff --git a/src/main/java/com/hbm/particle/ParticleRBMKMush.java b/src/main/java/com/hbm/particle/ParticleRBMKMush.java index 4d72f6a63..81a25bfcc 100644 --- a/src/main/java/com/hbm/particle/ParticleRBMKMush.java +++ b/src/main/java/com/hbm/particle/ParticleRBMKMush.java @@ -76,6 +76,9 @@ public class ParticleRBMKMush extends EntityFX { GL11.glAlphaFunc(GL11.GL_GREATER, 0); GL11.glDepthMask(false); RenderHelper.disableStandardItemLighting(); + + boolean fog = GL11.glIsEnabled(GL11.GL_FOG); + if(fog) GL11.glDisable(GL11.GL_FOG); tessellaator.startDrawingQuads(); @@ -93,6 +96,7 @@ public class ParticleRBMKMush extends EntityFX { tessellaator.addVertexWithUV((double) (pX + x * scale - sx * scale), (double) (pY - y * scale), (double) (pZ + z * scale - sz * scale), 0, (prog + 1) * frame); tessellaator.draw(); + if(fog) GL11.glEnable(GL11.GL_FOG); GL11.glPolygonOffset(0.0F, 0.0F); GL11.glEnable(GL11.GL_LIGHTING); } diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderBioRevolver.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderBioRevolver.java new file mode 100644 index 000000000..85afe5184 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderBioRevolver.java @@ -0,0 +1,124 @@ +package com.hbm.render.item.weapon; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.ItemGunBio; +import com.hbm.main.ResourceManager; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.IItemRenderer; + +public class ItemRenderBioRevolver 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); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bio_revolver_tex); + + switch(type) { + + case EQUIPPED_FIRST_PERSON: + + double s0 = 0.1D; + GL11.glRotated(25, 0, 0, 1); + GL11.glTranslated(1.0, 0.25, -0.25); + GL11.glRotated(80, 0, 1, 0); + GL11.glScaled(s0, s0, s0); + double width = 0.3D; + + GL11.glPushMatrix(); + GL11.glTranslated(0.0, 2.0, 10.0); + + if(ItemGunBio.smokeNodes.size() > 1) { + + Tessellator tess = Tessellator.instance; + tess.startDrawingQuads(); + tess.setNormal(0F, 1F, 0F); + + for(int i = 0; i < ItemGunBio.smokeNodes.size() - 1; i++) { + double[] node = ItemGunBio.smokeNodes.get(i); + double[] past = ItemGunBio.smokeNodes.get(i + 1); + + tess.setColorRGBA_F(1F, 1F, 1F, (float) node[3]); + tess.addVertex(node[0] - width, node[1], node[2]); + tess.addVertex(node[0] + width, node[1], node[2]); + tess.setColorRGBA_F(1F, 1F, 1F, (float) past[3]); + tess.addVertex(past[0] + width, past[1], past[2]); + tess.addVertex(past[0] - width, past[1], past[2]); + } + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_TEXTURE_2D); + tess.draw(); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_BLEND); + GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.1F); + } + + GL11.glPopMatrix(); + + break; + + case EQUIPPED: + + double scale = 0.125D; + GL11.glScaled(scale, scale, scale); + GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(10, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(15F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(4F, -2F, 5F); + + break; + + case ENTITY: + + double s1 = 0.1D; + GL11.glScaled(s1, s1, s1); + + break; + + case INVENTORY: + + GL11.glEnable(GL11.GL_LIGHTING); + + double s = 0.8D; + GL11.glTranslated(8, 7, 0); + GL11.glRotated(-90, 0, 1, 0); + GL11.glRotated(-135, 1, 0, 0); + GL11.glScaled(s, s, -s); + + break; + + default: break; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.bio_revolver.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java index 40155d00a..518c2716d 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java @@ -828,11 +828,20 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { + public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public void openInventory() { + this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.openC", 1.0F, 1.0F); + } + + @Override + public void closeInventory() { + this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.closeC", 1.0F, 1.0F); + } } diff --git a/src/main/java/com/hbm/util/Compat.java b/src/main/java/com/hbm/util/Compat.java index eb01a021b..279b81db0 100644 --- a/src/main/java/com/hbm/util/Compat.java +++ b/src/main/java/com/hbm/util/Compat.java @@ -6,6 +6,7 @@ import java.util.List; import com.hbm.handler.HazmatRegistry; import com.hbm.hazard.HazardRegistry; +import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTBase; @@ -20,8 +21,15 @@ public class Compat { public static final String MOD_REC = "ReactorCraft"; public static Item tryLoadItem(String domain, String name) { - String reg = domain + ":" + name; - return (Item) Item.itemRegistry.getObject(reg); + return (Item) Item.itemRegistry.getObject(getReg(domain, name)); + } + + public static Block tryLoadBlock(String domain, String name) { + return (Block) Block.blockRegistry.getObject(getReg(domain, name)); + } + + private static String getReg(String domain, String name) { + return domain + ":" + name; } public static enum ReikaIsotope { diff --git a/src/main/java/com/hbm/world/feature/DeepLayer.java b/src/main/java/com/hbm/world/feature/DeepLayer.java new file mode 100644 index 000000000..5e50efd0d --- /dev/null +++ b/src/main/java/com/hbm/world/feature/DeepLayer.java @@ -0,0 +1,81 @@ +package com.hbm.world.feature; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.gen.NoiseGeneratorPerlin; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.event.terraingen.DecorateBiomeEvent; + +public class DeepLayer { + + NoiseGeneratorPerlin noise; + + @SubscribeEvent + public void onDecorate(DecorateBiomeEvent.Pre event) { + + if(this.noise == null) { + this.noise = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + 19), 4); + } + + World world = event.world; + + if(world.provider.dimensionId != 0) + return; + + int cX = event.chunkX; + int cZ = event.chunkZ; + + double scale = 0.01D; + int threshold = 2; + + for(int x = cX + 8; x < cX + 24; x++) { + for(int z = cZ + 8; z < cZ + 24; z++) { + + double n = noise.func_151601_a(x * scale, z * scale); + + if(n > threshold) { + int range = (int)((n - threshold) * 8); + + if(range > 24) + range = 48 - range; + + if(range < 0) + continue; + + for(int y = 1; y <= range; y++) { + + Block target = world.getBlock(x, y, z); + + if(target.isNormalCube() && target.getMaterial() == Material.rock && target != Blocks.bedrock) { + + boolean lava = false; + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + Block neighbor = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + if(neighbor.getMaterial() == Material.lava) { + lava = true; + break; + } + } + + if(lava || world.rand.nextInt(10) == 0) { + world.setBlock(x, y, z, ModBlocks.stone_deep_cobble, 1, 2); + } else if(world.rand.nextInt(10) == 0 && world.getBlock(x, y + 1, z).getMaterial() == Material.air) { + world.setBlock(x, y, z, ModBlocks.stone_deep_cobble, 2, 2); + } else { + world.setBlock(x, y, z, ModBlocks.stone_deep_cobble, 0, 2); + } + } + } + } + } + } + } +} diff --git a/src/main/resources/assets/hbm/models/weapons/bio_revolver.obj b/src/main/resources/assets/hbm/models/weapons/bio_revolver.obj new file mode 100644 index 000000000..08d9f49ba --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/bio_revolver.obj @@ -0,0 +1,3484 @@ +# Blender v2.79 (sub 0) OBJ File: 'bio_revolver.blend' +# www.blender.org +o Barrel +v -0.500000 1.500000 9.125000 +v 0.500000 1.500000 9.125000 +v -0.500000 1.500000 -0.875000 +v 0.500000 1.500000 -0.875000 +v -0.500000 2.000000 9.125000 +v 0.500000 2.000000 9.125000 +v -0.500000 2.500000 -0.875000 +v 0.500000 2.500000 -0.875000 +v -0.250000 2.250000 9.125000 +v 0.250000 2.250000 9.125000 +v -0.250000 2.500000 -0.875000 +v 0.250000 2.500000 -0.875000 +v -0.250000 1.250000 -0.875000 +v -0.250000 1.250000 9.125000 +v 0.250000 1.250000 9.125000 +v 0.250000 1.250000 -0.875000 +v 0.500000 2.000000 1.625000 +v -0.250000 1.000000 9.125000 +v 0.250000 1.000000 9.125000 +v -0.500000 2.000000 1.625000 +v -0.250000 2.250000 6.625000 +v 0.250000 2.250000 6.625000 +v -0.125000 3.000000 7.125000 +v -0.125000 3.000000 8.625000 +v 0.125000 3.000000 8.625000 +v 0.125000 3.000000 7.125000 +v -0.250000 -0.250000 -0.875000 +v 0.250000 -0.250000 -0.875000 +v -0.250000 -0.250000 1.125000 +v 0.250000 -0.250000 1.125000 +v -0.250000 1.000000 2.375000 +v 0.250000 1.000000 2.375000 +v -0.250000 0.250000 1.375000 +v 0.250000 0.250000 1.375000 +v -0.250000 0.750000 1.875000 +v 0.250000 0.750000 1.875000 +v -0.250000 2.250000 1.625000 +v 0.250000 2.250000 1.625000 +v -0.375000 1.562500 9.125000 +v 0.375000 1.562500 9.125000 +v -0.375000 1.937500 9.125000 +v 0.375000 1.937500 9.125000 +v -0.187500 2.125000 9.125000 +v 0.187500 2.125000 9.125000 +v -0.187500 1.375000 9.125000 +v 0.187500 1.375000 9.125000 +v -0.375000 1.562500 -0.875000 +v 0.375000 1.562500 -0.875000 +v -0.375000 1.937500 -0.875000 +v 0.375000 1.937500 -0.875000 +v -0.187500 2.125000 -0.875000 +v 0.187500 2.125000 -0.875000 +v -0.187500 1.375000 -0.875000 +v 0.187500 1.375000 -0.875000 +v 0.250000 1.000000 -0.875000 +v -0.250000 1.000000 -0.875000 +v -0.562500 2.375000 -1.000400 +v 0.562500 2.375000 -1.000400 +v -0.562500 2.286329 -0.963671 +v 0.562500 2.286329 -0.963671 +v -0.562500 2.249600 -0.875000 +v 0.562500 2.249600 -0.875000 +v -0.562500 2.286329 -0.786329 +v 0.562500 2.286329 -0.786329 +v -0.562500 2.375000 -0.749600 +v 0.562500 2.375000 -0.749600 +v -0.562500 2.463671 -0.786329 +v 0.562500 2.463671 -0.786329 +v -0.562500 2.500400 -0.875000 +v 0.562500 2.500400 -0.875000 +v -0.562500 2.463671 -0.963671 +v 0.562500 2.463671 -0.963671 +v 0.000000 1.125000 -0.875000 +v -0.088388 1.088388 -0.875000 +v -0.125000 1.000000 -0.875000 +v -0.088388 0.911612 -0.875000 +v 0.000000 0.875000 -0.875000 +v 0.088388 0.911612 -0.875000 +v 0.125000 1.000000 -0.875000 +v 0.088388 1.088388 -0.875000 +v 0.000000 1.125000 -3.375000 +v -0.088388 1.088388 -3.375000 +v -0.125000 1.000000 -3.375000 +v -0.088388 0.911612 -3.375000 +v 0.000000 0.875000 -3.375000 +v 0.088388 0.911612 -3.375000 +v 0.125000 1.000000 -3.375000 +v 0.088388 1.088388 -3.375000 +v 0.250000 1.250000 0.625000 +v 0.250000 1.000000 0.625000 +v 1.000000 1.250000 -0.875000 +v 1.000000 1.000000 -0.875000 +v 0.250000 1.250000 -0.875000 +v 0.250000 1.000000 -0.875000 +v -0.250000 1.250000 -0.875000 +v -0.250000 1.000000 -0.875000 +v -1.000000 1.250000 -0.875000 +v -1.000000 1.000000 -0.875000 +v -0.250000 1.250000 0.625000 +v -0.250000 1.000000 0.625000 +v 0.088388 1.088388 -3.375000 +v 0.125000 1.000000 -3.375000 +v 0.088388 0.911612 -3.375000 +v 0.000000 0.875000 -3.375000 +v -0.088388 0.911612 -3.375000 +v -0.125000 1.000000 -3.375000 +v -0.088388 1.088388 -3.375000 +v 0.000000 1.125000 -3.375000 +v 0.062500 3.000000 8.375000 +v 0.062500 3.000000 7.250000 +v -0.062500 3.000000 7.250000 +v -0.062500 3.000000 8.375000 +v 0.062500 3.250000 8.125000 +v 0.062500 3.250000 7.250000 +v -0.062500 3.250000 7.250000 +v -0.062500 3.250000 8.125000 +v -0.250000 -0.250000 1.125000 +v 0.250000 -0.250000 1.125000 +v -0.250000 1.000000 2.375000 +v 0.250000 1.000000 2.375000 +v -0.250000 0.250000 1.375000 +v 0.250000 0.250000 1.375000 +v -0.250000 0.750000 1.875000 +v 0.250000 0.750000 1.875000 +v -0.375000 1.562500 9.125000 +v 0.375000 1.562500 9.125000 +v -0.375000 1.937500 9.125000 +v 0.375000 1.937500 9.125000 +v -0.187500 2.125000 9.125000 +v 0.187500 2.125000 9.125000 +v -0.187500 1.375000 9.125000 +v 0.187500 1.375000 9.125000 +v -0.375000 1.562500 -0.875000 +v 0.375000 1.562500 -0.875000 +v -0.375000 1.937500 -0.875000 +v 0.375000 1.937500 -0.875000 +v -0.187500 2.125000 -0.875000 +v 0.187500 2.125000 -0.875000 +v -0.187500 1.375000 -0.875000 +v 0.187500 1.375000 -0.875000 +v -0.562500 2.375000 -1.000400 +v 0.562500 2.375000 -1.000400 +v -0.562500 2.286329 -0.963671 +v 0.562500 2.286329 -0.963671 +v -0.562500 2.249600 -0.875000 +v 0.562500 2.249600 -0.875000 +v -0.562500 2.286329 -0.786329 +v 0.562500 2.286329 -0.786329 +v -0.562500 2.375000 -0.749600 +v 0.562500 2.375000 -0.749600 +v -0.562500 2.463671 -0.786329 +v 0.562500 2.463671 -0.786329 +v -0.562500 2.500400 -0.875000 +v 0.562500 2.500400 -0.875000 +v -0.562500 2.463671 -0.963671 +v 0.562500 2.463671 -0.963671 +vt 0.012605 0.553191 +vt 0.348740 0.531915 +vt 0.348740 0.553191 +vt 0.159664 0.787234 +vt 0.184874 0.808511 +vt 0.159664 0.808511 +vt 0.264706 0.510638 +vt 0.012605 0.468085 +vt 0.264706 0.468085 +vt 0.348740 0.702128 +vt 0.264706 0.659574 +vt 0.348740 0.659574 +vt 0.117647 0.978723 +vt 0.025210 0.957447 +vt 0.042017 0.914894 +vt 0.012605 0.425532 +vt 0.008403 0.382979 +vt 0.012605 0.382979 +vt 0.348740 0.446809 +vt 0.348740 0.468085 +vt 0.348740 0.425532 +vt 0.012605 0.446809 +vt 0.004202 0.468085 +vt 0.012605 0.510638 +vt 0.004202 0.510638 +vt 0.159664 0.872340 +vt 0.117647 0.829787 +vt 0.159664 0.829787 +vt 0.184874 0.787234 +vt 0.226891 0.808511 +vt 0.252101 0.808511 +vt 0.226891 0.787234 +vt 0.252101 0.787234 +vt 0.168067 0.872340 +vt 0.243697 0.872340 +vt 0.243697 0.723404 +vt 0.168067 0.723404 +vt 0.117647 0.872340 +vt 0.050420 0.829787 +vt 0.096639 0.659574 +vt 0.264706 0.702128 +vt 0.096639 0.702128 +vt 0.012605 0.659574 +vt 0.012605 0.638298 +vt 0.012605 0.723404 +vt 0.264706 0.723404 +vt 0.264706 0.638298 +vt 0.348740 0.638298 +vt 0.348740 0.723404 +vt 0.264706 0.382979 +vt 0.348740 0.340426 +vt 0.264706 0.595745 +vt 0.180045 0.974974 +vt 0.177951 0.987775 +vt 0.172896 0.982473 +vt 0.008403 0.702128 +vt 0.012605 0.702128 +vt 0.008403 0.659574 +vt 0.008403 0.638298 +vt 0.012605 0.595745 +vt 0.008403 0.553191 +vt 0.008403 0.531915 +vt 0.012605 0.531915 +vt -0.000000 0.510638 +vt 0.008403 0.425532 +vt 0.359244 0.606383 +vt 0.373950 0.638298 +vt 0.357143 0.638298 +vt 0.371849 0.606383 +vt 0.382353 0.638298 +vt 0.378151 0.590425 +vt 0.382353 0.553191 +vt 0.378151 0.558511 +vt 0.373950 0.531915 +vt 0.359244 0.542553 +vt 0.357143 0.531915 +vt 0.352941 0.590425 +vt 0.117647 0.723404 +vt 0.042017 0.787234 +vt 0.252101 0.851064 +vt 0.302521 0.872340 +vt 0.252101 0.872340 +vt 0.302521 0.851064 +vt 0.327731 0.872340 +vt 0.327731 0.723404 +vt 0.327731 0.851064 +vt 0.327731 1.000000 +vt 0.327731 0.872340 +vt 0.302521 0.851064 +vt 0.327731 0.851064 +vt 0.302521 0.872340 +vt 0.252101 0.851064 +vt 0.327731 1.000000 +vt 0.327731 0.723404 +vt 0.438629 0.638826 +vt 0.440968 0.653124 +vt 0.435321 0.659046 +vt 0.171642 0.974974 +vt 0.169548 0.987775 +vt 0.164492 0.982473 +vt 0.155462 0.904255 +vt 0.126050 0.893617 +vt 0.155462 0.893617 +vt 0.163866 0.904255 +vt 0.163866 0.893617 +vt 0.117647 0.893617 +vt 0.126050 0.904255 +vt 0.117647 0.904255 +vt 0.155462 0.872340 +vt 0.117647 0.872340 +vt 0.155462 0.925532 +vt 0.008403 0.978723 +vt 0.050420 0.872340 +vt 0.168067 0.829787 +vt 0.168067 0.872340 +vt 0.172896 0.974974 +vt 0.174990 0.969672 +vt 0.177951 0.969672 +vt 0.180045 0.982473 +vt 0.174990 0.987775 +vt 0.008403 0.723404 +vt 0.008403 0.595745 +vt -0.000000 0.468085 +vt 0.008403 0.446809 +vt 0.371849 0.542553 +vt 0.352941 0.558511 +vt 0.348740 0.510638 +vt 0.025210 0.744681 +vt 0.008403 0.723404 +vt 0.252101 0.872340 +vt 0.432982 0.644748 +vt 0.435321 0.638826 +vt 0.440968 0.644748 +vt 0.438629 0.659046 +vt 0.432982 0.653124 +vt 0.166586 0.969672 +vt 0.169548 0.969672 +vt 0.171642 0.982473 +vt 0.166586 0.987775 +vt 0.164492 0.974974 +vt 0.117647 0.925532 +vt -0.000000 0.234043 +vt 0.336134 0.265957 +vt -0.000000 0.265957 +vt -0.000000 0.319149 +vt 0.336134 0.340426 +vt -0.000000 0.340426 +vt -0.000000 0.212766 +vt 0.336134 0.234043 +vt 0.189076 0.872340 +vt 0.193277 0.968085 +vt 0.189076 0.968085 +vt 0.193277 0.872340 +vt 0.197479 0.968085 +vt 0.163866 0.872340 +vt 0.168067 0.968085 +vt 0.163866 0.968085 +vt 0.168067 0.872340 +vt 0.172269 0.968085 +vt 0.172269 0.872340 +vt 0.176471 0.968085 +vt 0.176471 0.872340 +vt 0.180672 0.968085 +vt 0.180672 0.872340 +vt 0.184874 0.968085 +vt 0.184874 0.872340 +vt 0.432773 0.659574 +vt 0.348740 0.670213 +vt 0.348740 0.659574 +vt 0.432773 0.638298 +vt 0.348740 0.648936 +vt 0.348740 0.638298 +vt 0.432773 0.702128 +vt 0.348740 0.712766 +vt 0.348740 0.702128 +vt 0.432773 0.680851 +vt 0.348740 0.691489 +vt 0.348740 0.680851 +vt 0.432773 0.670213 +vt 0.432773 0.648936 +vt 0.432773 0.712766 +vt 0.348740 0.723404 +vt 0.432773 0.691489 +vt 0.033613 0.829787 +vt 0.016807 0.872340 +vt 0.016807 0.829787 +vt 0.033613 0.872340 +vt 0.050420 0.829787 +vt 0.050420 0.872340 +vt 0.000000 0.872340 +vt 0.000000 0.829787 +vt -0.000000 0.287234 +vt 0.336134 0.319149 +vt -0.000000 0.159574 +vt 0.336134 0.180851 +vt -0.000000 0.180851 +vt 0.336134 0.127660 +vt -0.000000 0.127660 +vt 0.336134 0.287234 +vt 0.336134 0.212766 +vt 0.197479 0.872340 +vt 0.432773 0.723404 +vt 0.336134 0.159574 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 0.5547 0.8321 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.9950 0.0995 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.5547 -0.8321 +vn -0.9864 0.1644 0.0000 +vn 0.9864 0.1644 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7053 0.7053 0.0705 +vn 0.0000 0.9806 0.1961 +vn -0.7053 0.7053 0.0705 +vn 0.8944 0.0000 0.4472 +vn -0.8944 0.0000 0.4472 +vn 0.0000 0.7071 0.7071 +vn 0.3827 -0.9239 0.0000 +vn -0.3827 -0.9239 0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.5847 0.8112 +vn 0.0000 -0.8112 0.5847 +vn 0.0000 -0.4472 0.8944 +vn 0.0000 -0.8944 0.4472 +vn 0.9239 0.3827 0.0000 +s off +f 2/1/1 16/2/1 4/3/1 +f 10/4/2 24/5/2 9/6/2 +f 32/7/3 18/8/3 31/9/3 +f 11/10/4 38/11/4 12/12/4 +f 55/13/5 36/14/5 34/15/5 +f 1/16/6 41/17/6 5/18/6 +f 13/19/7 56/20/7 31/9/7 +f 3/21/8 14/22/8 1/16/8 +f 14/23/6 19/24/6 15/25/6 +f 55/26/9 27/27/9 56/28/9 +f 25/29/10 23/30/10 24/5/10 +f 21/31/11 26/32/11 22/33/11 +f 9/34/12 23/30/12 21/35/12 +f 22/36/13 25/29/13 10/37/13 +f 28/38/3 29/39/3 27/27/3 +f 22/40/10 37/41/10 21/42/10 +f 22/40/14 10/43/14 6/44/14 +f 5/45/15 21/42/15 20/46/15 +f 38/11/16 17/47/16 12/12/16 +f 17/47/17 8/48/17 12/12/17 +f 37/41/18 11/10/18 20/46/18 +f 7/49/17 20/46/17 11/10/17 +f 20/50/7 7/51/7 3/21/7 +f 4/3/5 8/48/5 17/52/5 +f 147/53/7 151/54/7 155/55/7 +f 5/45/6 43/56/6 9/57/6 +f 9/57/6 44/58/6 10/43/6 +f 10/43/6 42/59/6 6/44/6 +f 6/60/6 40/61/6 2/1/6 +f 2/1/6 46/62/6 15/63/6 +f 46/64/6 14/23/6 15/25/6 +f 14/22/6 39/65/6 1/16/6 +f 52/66/9 11/67/9 12/68/9 +f 8/48/9 52/66/9 12/68/9 +f 51/69/9 7/70/9 11/67/9 +f 49/71/9 3/72/9 7/70/9 +f 47/73/9 13/74/9 3/72/9 +f 13/74/9 54/75/9 16/76/9 +f 54/75/9 4/3/9 16/76/9 +f 4/3/9 50/77/9 8/48/9 +f 15/63/5 19/24/5 32/7/5 +f 56/78/7 29/39/7 33/79/7 +f 90/80/19 91/81/19 89/82/19 +f 92/83/9 93/84/9 91/81/9 +f 92/83/3 90/85/3 94/86/3 +f 91/81/10 93/84/10 89/87/10 +f 96/88/9 97/89/9 95/90/9 +f 98/91/20 99/92/20 97/89/20 +f 98/91/3 96/88/3 100/93/3 +f 97/89/10 99/94/10 95/90/10 +f 108/95/9 102/96/9 104/97/9 +f 142/98/5 154/99/5 150/100/5 +f 115/101/10 113/102/10 114/103/10 +f 111/104/9 114/103/9 110/105/9 +f 109/106/21 116/107/21 112/108/21 +f 110/109/5 113/102/5 109/110/5 +f 111/111/7 116/107/7 115/101/7 +f 2/1/1 15/63/1 16/2/1 +f 10/4/2 25/29/2 24/5/2 +f 32/7/3 19/24/3 18/8/3 +f 11/10/4 37/41/4 38/11/4 +f 55/13/5 32/112/5 36/14/5 +f 34/15/5 30/113/5 55/13/5 +f 30/113/5 28/38/5 55/13/5 +f 1/16/6 39/65/6 41/17/6 +f 31/9/7 18/8/7 14/22/7 +f 14/22/7 13/19/7 31/9/7 +f 3/21/8 13/19/8 14/22/8 +f 14/23/6 18/8/6 19/24/6 +f 56/28/9 13/114/9 16/115/9 +f 55/26/9 28/38/9 27/27/9 +f 56/28/9 16/115/9 55/26/9 +f 25/29/10 26/32/10 23/30/10 +f 21/31/11 23/30/11 26/32/11 +f 9/34/12 24/5/12 23/30/12 +f 22/36/13 26/32/13 25/29/13 +f 28/38/3 30/113/3 29/39/3 +f 22/40/10 38/11/10 37/41/10 +f 6/44/14 17/47/14 22/40/14 +f 17/47/14 38/11/14 22/40/14 +f 9/57/15 21/42/15 5/45/15 +f 21/42/15 37/41/15 20/46/15 +f 3/21/7 1/16/7 20/50/7 +f 1/16/7 5/18/7 20/50/7 +f 6/60/5 2/1/5 17/52/5 +f 2/1/5 4/3/5 17/52/5 +f 155/55/7 141/116/7 147/53/7 +f 141/116/7 143/117/7 147/53/7 +f 143/117/7 145/118/7 147/53/7 +f 147/53/7 149/119/7 151/54/7 +f 151/54/7 153/120/7 155/55/7 +f 5/45/6 41/121/6 43/56/6 +f 9/57/6 43/56/6 44/58/6 +f 10/43/6 44/58/6 42/59/6 +f 6/60/6 42/122/6 40/61/6 +f 2/1/6 40/61/6 46/62/6 +f 46/64/6 45/123/6 14/23/6 +f 14/22/6 45/124/6 39/65/6 +f 52/66/9 51/69/9 11/67/9 +f 8/48/9 50/77/9 52/66/9 +f 51/69/9 49/71/9 7/70/9 +f 49/71/9 47/73/9 3/72/9 +f 47/73/9 53/125/9 13/74/9 +f 13/74/9 53/125/9 54/75/9 +f 54/75/9 48/126/9 4/3/9 +f 4/3/9 48/126/9 50/77/9 +f 32/7/5 55/127/5 16/2/5 +f 16/2/5 15/63/5 32/7/5 +f 35/128/7 31/129/7 56/78/7 +f 56/78/7 27/27/7 29/39/7 +f 33/79/7 35/128/7 56/78/7 +f 90/80/19 92/83/19 91/81/19 +f 92/83/9 94/86/9 93/84/9 +f 96/88/9 98/91/9 97/89/9 +f 98/91/20 100/130/20 99/92/20 +f 106/131/9 107/132/9 108/95/9 +f 108/95/9 101/133/9 102/96/9 +f 102/96/9 103/134/9 104/97/9 +f 104/97/9 105/135/9 106/131/9 +f 106/131/9 108/95/9 104/97/9 +f 146/136/5 144/137/5 142/98/5 +f 142/98/5 156/138/5 154/99/5 +f 154/99/5 152/139/5 150/100/5 +f 150/100/5 148/140/5 146/136/5 +f 146/136/5 142/98/5 150/100/5 +f 115/101/10 116/107/10 113/102/10 +f 111/104/9 115/101/9 114/103/9 +f 109/106/21 113/102/21 116/107/21 +f 110/109/5 114/103/5 113/102/5 +f 111/111/7 112/141/7 116/107/7 +s 1 +f 129/142/22 138/143/23 130/144/23 +f 126/145/24 140/146/25 132/147/25 +f 127/148/26 137/149/22 129/142/22 +f 58/150/9 59/151/27 57/152/9 +f 60/153/27 61/154/3 59/151/27 +f 62/155/3 63/156/28 61/157/3 +f 64/158/28 65/159/6 63/156/28 +f 66/160/6 67/161/21 65/159/6 +f 68/162/21 69/163/10 67/161/21 +f 70/164/10 71/165/29 69/163/10 +f 72/166/29 57/152/9 71/165/29 +f 87/167/5 80/168/14 79/169/5 +f 85/170/3 78/171/1 77/172/3 +f 83/173/7 76/174/8 75/175/7 +f 81/176/10 74/177/15 73/178/10 +f 88/179/14 73/178/10 80/168/14 +f 86/180/1 79/169/5 78/171/1 +f 84/181/8 77/182/3 76/174/8 +f 82/183/15 75/175/7 74/177/15 +f 121/184/30 124/185/31 123/186/31 +f 122/187/30 117/188/32 118/189/32 +f 123/186/31 120/190/33 119/191/33 +f 128/192/25 134/193/24 126/145/24 +f 131/194/26 133/195/34 125/196/34 +f 131/194/26 140/197/25 132/198/25 +f 130/144/23 136/199/25 128/192/25 +f 125/196/34 135/200/26 127/148/26 +f 129/142/22 137/149/22 138/143/23 +f 126/145/24 134/193/24 140/146/25 +f 127/148/26 135/200/26 137/149/22 +f 58/150/9 60/153/27 59/151/27 +f 60/153/27 62/201/3 61/154/3 +f 62/155/3 64/158/28 63/156/28 +f 64/158/28 66/160/6 65/159/6 +f 66/160/6 68/162/21 67/161/21 +f 68/162/21 70/164/10 69/163/10 +f 70/164/10 72/166/29 71/165/29 +f 72/166/29 58/150/9 57/152/9 +f 87/167/5 88/179/14 80/168/14 +f 85/170/3 86/180/1 78/171/1 +f 83/173/7 84/181/8 76/174/8 +f 81/176/10 82/183/15 74/177/15 +f 88/179/14 81/176/10 73/178/10 +f 86/180/1 87/167/5 79/169/5 +f 84/181/8 85/202/3 77/182/3 +f 82/183/15 83/173/7 75/175/7 +f 121/184/30 122/187/30 124/185/31 +f 122/187/30 121/184/30 117/188/32 +f 123/186/31 124/185/31 120/190/33 +f 128/192/25 136/199/25 134/193/24 +f 131/194/26 139/203/26 133/195/34 +f 131/194/26 139/203/26 140/197/25 +f 130/144/23 138/143/23 136/199/25 +f 125/196/34 133/195/34 135/200/26 +o Latch +v -0.500000 2.500400 -0.875000 +v 0.500000 2.500400 -0.875000 +v -0.500000 2.500400 -3.375000 +v 0.500000 2.500400 -3.375000 +v 0.500000 2.250400 -0.875000 +v -0.500000 2.250400 -0.875000 +v 0.500000 2.250400 -3.375000 +v -0.500000 2.250400 -3.375000 +v 0.500000 2.375400 -3.750000 +v -0.500000 2.375400 -3.750000 +v 0.500000 2.125400 -3.750000 +v -0.500000 2.125400 -3.750000 +v 0.500000 2.125400 -4.000000 +v -0.500000 2.125400 -4.000000 +v 0.500000 0.625400 -3.750000 +v 0.500000 0.625400 -4.000000 +v -0.500000 0.625400 -3.750000 +v -0.500000 0.625400 -4.000000 +v 0.375000 0.625400 -3.750000 +v 0.375000 0.625400 -4.000000 +v -0.375000 0.625400 -3.750000 +v -0.375000 0.625400 -4.000000 +v 0.375000 2.125400 -3.750000 +v 0.375000 2.125400 -4.000000 +v -0.375000 2.125400 -3.750000 +v -0.375000 2.125400 -4.000000 +vt 0.113445 0.031915 +vt 0.197479 0.095745 +vt 0.113445 0.095745 +vt 0.021008 0.095745 +vt 0.105042 0.031915 +vt 0.105042 0.095745 +vt 0.113445 0.117021 +vt 0.197479 0.010638 +vt 0.197479 0.031915 +vt 0.210084 0.031915 +vt 0.218487 -0.000000 +vt 0.268908 0.010638 +vt 0.218487 0.010638 +vt 0.210084 0.095745 +vt 0.197479 0.117021 +vt 0.210084 0.117021 +vt 0.000000 0.042553 +vt 0.008403 0.085106 +vt 0.000000 0.085106 +vt 0.218487 0.031915 +vt 0.210084 0.010638 +vt 0.268908 0.117021 +vt 0.218487 0.117021 +vt 0.218487 0.095745 +vt 0.273109 0.063830 +vt 0.268908 0.042553 +vt 0.273109 0.042553 +vt 0.273109 0.085106 +vt 0.268908 0.063830 +vt 0.273109 0.063830 +vt 0.268908 0.085106 +vt 0.218487 0.063830 +vt 0.268908 0.063830 +vt 0.218487 0.042553 +vt 0.268908 0.127660 +vt 0.218487 0.085106 +vt 0.268908 0.095745 +vt 0.268908 0.031915 +vt 0.008403 0.042553 +vt 0.008403 0.031915 +vt 0.021008 0.031915 +vt 0.113445 0.010638 +vt 0.210084 0.010638 +vt 0.268908 -0.000000 +vt 0.210084 0.117021 +vt 0.218487 0.063830 +vt 0.218487 0.127660 +vt 0.008403 0.095745 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.9487 -0.3162 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.9487 0.3162 +vn 0.0000 0.7071 -0.7071 +s off +f 158/204/35 159/205/35 157/206/35 +f 164/207/36 161/208/36 162/209/36 +f 159/205/37 162/210/37 157/206/37 +f 157/206/38 161/208/38 158/204/38 +f 158/204/39 163/211/39 160/212/39 +f 163/211/39 165/213/39 160/212/39 +f 179/214/38 171/215/38 167/216/38 +f 160/212/40 166/217/40 159/205/40 +f 164/218/37 166/217/37 168/219/37 +f 180/220/36 181/221/36 182/222/36 +f 169/223/39 165/224/39 167/216/39 +f 173/225/37 168/226/37 170/227/37 +f 171/228/36 176/229/36 172/230/36 +f 174/231/36 177/232/36 173/233/36 +f 178/234/39 181/235/39 177/232/39 +f 175/236/37 180/237/37 176/229/37 +f 177/238/38 168/226/38 173/225/38 +f 182/239/41 174/240/41 170/227/41 +f 176/229/41 169/223/41 172/241/41 +f 179/242/42 167/243/42 163/244/42 +f 165/213/43 169/223/43 180/237/43 +f 158/204/35 160/212/35 159/205/35 +f 164/207/36 163/244/36 161/208/36 +f 159/205/37 164/218/37 162/210/37 +f 157/206/38 162/209/38 161/208/38 +f 158/204/39 161/245/39 163/211/39 +f 163/211/39 167/246/39 165/213/39 +f 179/214/38 175/247/38 171/215/38 +f 160/212/40 165/213/40 166/217/40 +f 164/218/37 159/205/37 166/217/37 +f 180/220/36 179/242/36 181/221/36 +f 167/216/39 171/215/39 172/241/39 +f 172/241/39 169/223/39 167/216/39 +f 170/227/37 174/240/37 173/225/37 +f 168/226/37 166/248/37 170/227/37 +f 171/228/36 175/236/36 176/229/36 +f 174/231/36 178/234/36 177/232/36 +f 178/234/39 182/239/39 181/235/39 +f 175/236/37 179/249/37 180/237/37 +f 177/238/38 181/250/38 168/226/38 +f 182/239/41 178/234/41 174/240/41 +f 176/229/41 180/237/41 169/223/41 +f 163/244/42 164/207/42 181/221/42 +f 164/207/42 168/251/42 181/221/42 +f 181/221/42 179/242/42 163/244/42 +f 180/237/43 182/239/43 165/213/43 +f 182/239/43 170/227/43 166/217/43 +f 165/213/43 182/239/43 166/217/43 +o Hammer +v 0.125000 1.750400 -4.125000 +v -0.125000 1.750400 -4.125000 +v 0.125000 1.625400 -4.250000 +v -0.125000 1.625400 -4.250000 +v 0.125000 1.000400 -4.375000 +v -0.125000 1.000400 -4.375000 +v 0.125000 1.000400 -5.250000 +v -0.125000 1.000400 -5.250000 +v 0.125000 0.875400 -5.250000 +v -0.125000 0.875400 -5.250000 +v 0.125000 0.750400 -4.750000 +v -0.125000 0.750400 -4.750000 +v 0.062500 0.750400 -4.250000 +v -0.062500 0.750400 -4.250000 +v 0.062500 0.750400 -4.750000 +v -0.062500 0.750400 -4.750000 +v 0.062500 -0.249600 -4.250000 +v -0.062500 -0.249600 -4.250000 +v 0.062500 -0.249600 -4.750000 +v -0.062500 -0.249600 -4.750000 +v -0.125000 1.750400 -4.000000 +v 0.125000 1.750400 -4.000000 +v -0.125000 0.750400 -4.000000 +v 0.125000 0.750400 -4.000000 +vt 0.684874 0.585106 +vt 0.676471 0.574468 +vt 0.684874 0.574468 +vt 0.684874 0.638298 +vt 0.676471 0.585106 +vt 0.726891 0.500000 +vt 0.697479 0.521277 +vt 0.697479 0.500000 +vt 0.726891 0.478723 +vt 0.731092 0.457447 +vt 0.731092 0.478723 +vt 0.710084 0.478723 +vt 0.726891 0.457447 +vt 0.676471 0.563830 +vt 0.672269 0.563830 +vt 0.668067 0.553191 +vt 0.638655 0.500000 +vt 0.655462 0.478723 +vt 0.663866 0.500000 +vt 0.684874 0.478723 +vt 0.693277 0.553191 +vt 0.710084 0.457447 +vt 0.747899 0.500000 +vt 0.764706 0.585106 +vt 0.747899 0.585106 +vt 0.743697 0.500000 +vt 0.743697 0.585106 +vt 0.726891 0.500000 +vt 0.726891 0.585106 +vt 0.768908 0.500000 +vt 0.768908 0.585106 +vt 0.676471 0.478723 +vt 0.684874 0.563830 +vt 0.726891 0.489362 +vt 0.676471 0.638298 +vt 0.726891 0.521277 +vt 0.638655 0.489362 +vt 0.689076 0.563830 +vt 0.684874 0.457447 +vt 0.764706 0.500000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.1961 -0.9806 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.9701 -0.2425 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +s off +f 185/252/44 184/253/44 183/254/44 +f 187/255/45 186/256/45 185/252/45 +f 189/257/46 188/258/46 187/259/46 +f 191/260/47 190/261/47 189/262/47 +f 193/263/48 192/264/48 191/260/48 +f 203/265/49 184/266/49 186/267/49 +f 190/268/49 194/269/49 188/270/49 +f 206/271/50 187/259/50 185/272/50 +f 206/271/51 194/273/51 193/263/51 +f 202/274/49 196/275/49 198/276/49 +f 201/277/47 198/276/47 197/278/47 +f 199/279/50 197/278/50 195/280/50 +f 196/275/52 199/281/52 195/282/52 +f 205/283/52 204/284/52 203/265/52 +f 184/253/46 204/284/46 183/254/46 +f 193/263/50 191/285/50 189/257/50 +f 185/252/44 186/256/44 184/253/44 +f 187/255/45 188/286/45 186/256/45 +f 189/257/46 190/287/46 188/258/46 +f 191/260/47 192/264/47 190/261/47 +f 193/263/48 194/273/48 192/264/48 +f 186/267/49 188/270/49 205/283/49 +f 205/283/49 203/265/49 186/267/49 +f 192/288/49 194/269/49 190/268/49 +f 194/269/49 205/283/49 188/270/49 +f 185/272/50 183/289/50 204/284/50 +f 204/284/50 206/271/50 185/272/50 +f 206/271/51 205/290/51 194/273/51 +f 202/274/49 200/291/49 196/275/49 +f 201/277/47 202/274/47 198/276/47 +f 199/279/50 201/277/50 197/278/50 +f 196/275/52 200/291/52 199/281/52 +f 205/283/52 206/271/52 204/284/52 +f 184/253/46 203/265/46 204/284/46 +f 189/257/50 187/259/50 193/263/50 +f 187/259/50 206/271/50 193/263/50 +o Drum +v 0.000000 2.250000 -0.875000 +v -0.625000 2.082532 -0.875000 +v -1.082532 1.625000 -0.875000 +v -1.250000 1.000000 -0.875000 +v -1.082532 0.375000 -0.875000 +v -0.625000 -0.082532 -0.875000 +v -0.000000 -0.250000 -0.875000 +v 0.625000 -0.082532 -0.875000 +v 1.082531 0.375000 -0.875000 +v 1.250000 1.000000 -0.875000 +v 1.082532 1.624999 -0.875000 +v 0.625001 2.082531 -0.875000 +v 0.000000 2.250000 -3.375000 +v -0.625000 2.082532 -3.375000 +v -1.082532 1.625000 -3.375000 +v -1.250000 1.000000 -3.375000 +v -1.082532 0.375000 -3.375000 +v -0.625000 -0.082532 -3.375000 +v -0.000000 -0.250000 -3.375000 +v 0.625000 -0.082532 -3.375000 +v 1.082531 0.375000 -3.375000 +v 1.250000 1.000000 -3.375000 +v 1.082532 1.624999 -3.375000 +v 0.625001 2.082531 -3.375000 +v 0.000000 2.125000 -0.875000 +v -0.265165 2.015165 -0.875000 +v -0.375000 1.750000 -0.875000 +v -0.265165 1.484835 -0.875000 +v 0.000000 1.375000 -0.875000 +v 0.265165 1.484835 -0.875000 +v 0.375000 1.750000 -0.875000 +v 0.265165 2.015165 -0.875000 +v 0.000000 2.125000 -3.375000 +v -0.265165 2.015165 -3.375000 +v -0.375000 1.750000 -3.375000 +v -0.265165 1.484835 -3.375000 +v 0.000000 1.375000 -3.375000 +v 0.265165 1.484835 -3.375000 +v 0.375000 1.750000 -3.375000 +v 0.265165 2.015165 -3.375000 +v 0.000000 -0.125000 -0.875000 +v 0.265165 -0.015165 -0.875000 +v 0.375000 0.250000 -0.875000 +v 0.265165 0.515165 -0.875000 +v 0.000000 0.625000 -0.875000 +v -0.265165 0.515165 -0.875000 +v -0.375000 0.250000 -0.875000 +v -0.265165 -0.015165 -0.875000 +v 0.000000 -0.125000 -3.375000 +v 0.265165 -0.015165 -3.375000 +v 0.375000 0.250000 -3.375000 +v 0.265165 0.515165 -3.375000 +v 0.000000 0.625000 -3.375000 +v -0.265165 0.515165 -3.375000 +v -0.375000 0.250000 -3.375000 +v -0.265165 -0.015165 -3.375000 +v 0.974279 1.562500 -0.875000 +v 0.746576 1.737222 -0.875000 +v 0.462019 1.699759 -0.875000 +v 0.287297 1.472057 -0.875000 +v 0.324759 1.187500 -0.875000 +v 0.552462 1.012778 -0.875000 +v 0.837019 1.050241 -0.875000 +v 1.011741 1.277943 -0.875000 +v 0.974279 1.562500 -3.375000 +v 0.746576 1.737222 -3.375000 +v 0.462019 1.699759 -3.375000 +v 0.287297 1.472057 -3.375000 +v 0.324759 1.187500 -3.375000 +v 0.552462 1.012778 -3.375000 +v 0.837019 1.050241 -3.375000 +v 1.011741 1.277943 -3.375000 +v -0.974278 0.437500 -0.875000 +v -0.746576 0.262778 -0.875000 +v -0.462019 0.300241 -0.875000 +v -0.287297 0.527943 -0.875000 +v -0.324759 0.812500 -0.875000 +v -0.552462 0.987222 -0.875000 +v -0.837019 0.949759 -0.875000 +v -1.011741 0.722057 -0.875000 +v -0.974278 0.437500 -3.375000 +v -0.746576 0.262778 -3.375000 +v -0.462019 0.300241 -3.375000 +v -0.287297 0.527943 -3.375000 +v -0.324759 0.812500 -3.375000 +v -0.552462 0.987222 -3.375000 +v -0.837019 0.949759 -3.375000 +v -1.011741 0.722057 -3.375000 +v 0.974279 0.437500 -0.875000 +v 1.011741 0.722057 -0.875000 +v 0.837019 0.949759 -0.875000 +v 0.552462 0.987222 -0.875000 +v 0.324759 0.812500 -0.875000 +v 0.287297 0.527943 -0.875000 +v 0.462019 0.300241 -0.875000 +v 0.746576 0.262778 -0.875000 +v 0.974279 0.437500 -3.375000 +v 1.011741 0.722057 -3.375000 +v 0.837019 0.949759 -3.375000 +v 0.552462 0.987222 -3.375000 +v 0.324759 0.812500 -3.375000 +v 0.287297 0.527943 -3.375000 +v 0.462019 0.300241 -3.375000 +v 0.746576 0.262778 -3.375000 +v -0.974278 1.562500 -0.875000 +v -1.011741 1.277943 -0.875000 +v -0.837019 1.050241 -0.875000 +v -0.552462 1.012778 -0.875000 +v -0.324759 1.187500 -0.875000 +v -0.287297 1.472057 -0.875000 +v -0.462019 1.699759 -0.875000 +v -0.746576 1.737223 -0.875000 +v -0.974278 1.562500 -3.375000 +v -1.011741 1.277943 -3.375000 +v -0.837019 1.050241 -3.375000 +v -0.552462 1.012778 -3.375000 +v -0.324759 1.187500 -3.375000 +v -0.287297 1.472057 -3.375000 +v -0.462019 1.699759 -3.375000 +v -0.746576 1.737223 -3.375000 +v 0.000000 2.125000 -3.312500 +v -0.265165 2.015165 -3.312500 +v -0.375000 1.750000 -3.312500 +v -0.265165 1.484835 -3.312500 +v 0.000000 1.375000 -3.312500 +v 0.265165 1.484835 -3.312500 +v 0.375000 1.750000 -3.312500 +v 0.265165 2.015165 -3.312500 +v 0.000000 -0.125000 -3.312500 +v 0.265165 -0.015165 -3.312500 +v 0.375000 0.250000 -3.312500 +v 0.265165 0.515165 -3.312500 +v 0.000000 0.625000 -3.312500 +v -0.265165 0.515165 -3.312500 +v -0.375000 0.250000 -3.312500 +v -0.265165 -0.015165 -3.312500 +v 0.974279 1.562500 -3.312500 +v 0.746576 1.737222 -3.312500 +v 0.462019 1.699759 -3.312500 +v 0.287297 1.472057 -3.312500 +v 0.324759 1.187500 -3.312500 +v 0.552462 1.012778 -3.312500 +v 0.837019 1.050241 -3.312500 +v 1.011741 1.277943 -3.312500 +v -0.974279 0.437500 -3.312500 +v -0.746576 0.262778 -3.312500 +v -0.462019 0.300241 -3.312500 +v -0.287297 0.527943 -3.312500 +v -0.324759 0.812500 -3.312500 +v -0.552462 0.987222 -3.312500 +v -0.837019 0.949759 -3.312500 +v -1.011741 0.722057 -3.312500 +v 0.974279 0.437500 -3.312500 +v 1.011741 0.722057 -3.312500 +v 0.837019 0.949759 -3.312500 +v 0.552462 0.987222 -3.312500 +v 0.324759 0.812500 -3.312500 +v 0.287297 0.527943 -3.312500 +v 0.462019 0.300241 -3.312500 +v 0.746576 0.262778 -3.312500 +v -0.974279 1.562500 -3.312500 +v -1.011741 1.277943 -3.312500 +v -0.837019 1.050241 -3.312500 +v -0.552462 1.012778 -3.312500 +v -0.324759 1.187500 -3.312500 +v -0.287297 1.472057 -3.312500 +v -0.462019 1.699759 -3.312500 +v -0.746576 1.737222 -3.312500 +v 0.000000 2.125000 -0.937500 +v -0.265165 2.015165 -0.937500 +v -0.375000 1.750000 -0.937500 +v -0.265165 1.484835 -0.937500 +v 0.000000 1.375000 -0.937500 +v 0.265165 1.484835 -0.937500 +v 0.375000 1.750000 -0.937500 +v 0.265165 2.015165 -0.937500 +v 0.000000 -0.125000 -0.937500 +v 0.265165 -0.015165 -0.937500 +v 0.375000 0.250000 -0.937500 +v 0.265165 0.515165 -0.937500 +v 0.000000 0.625000 -0.937500 +v -0.265165 0.515165 -0.937500 +v -0.375000 0.250000 -0.937500 +v -0.265165 -0.015165 -0.937500 +v 0.974279 1.562500 -0.937500 +v 0.746576 1.737222 -0.937500 +v 0.462019 1.699759 -0.937500 +v 0.287297 1.472057 -0.937500 +v 0.324759 1.187500 -0.937500 +v 0.552462 1.012778 -0.937500 +v 0.837019 1.050241 -0.937500 +v 1.011741 1.277943 -0.937500 +v -0.974279 0.437500 -0.937500 +v -0.746576 0.262778 -0.937500 +v -0.462019 0.300241 -0.937500 +v -0.287297 0.527943 -0.937500 +v -0.324759 0.812500 -0.937500 +v -0.552462 0.987222 -0.937500 +v -0.837019 0.949759 -0.937500 +v -1.011741 0.722057 -0.937500 +v 0.974279 0.437500 -0.937500 +v 1.011741 0.722057 -0.937500 +v 0.837019 0.949759 -0.937500 +v 0.552462 0.987222 -0.937500 +v 0.324759 0.812500 -0.937500 +v 0.287297 0.527943 -0.937500 +v 0.462019 0.300241 -0.937500 +v 0.746576 0.262778 -0.937500 +v -0.974279 1.562500 -0.937500 +v -1.011741 1.277943 -0.937500 +v -0.837019 1.050241 -0.937500 +v -0.552462 1.012778 -0.937500 +v -0.324759 1.187500 -0.937500 +v -0.287297 1.472057 -0.937500 +v -0.462019 1.699759 -0.937500 +v -0.746576 1.737222 -0.937500 +v 0.000000 2.250000 -0.875000 +v -0.625000 2.082532 -0.875000 +v -1.082532 1.625000 -0.875000 +v -1.250000 1.000000 -0.875000 +v -1.082532 0.375000 -0.875000 +v -0.625000 -0.082532 -0.875000 +v -0.000000 -0.250000 -0.875000 +v 0.625000 -0.082532 -0.875000 +v 1.082531 0.375000 -0.875000 +v 1.250000 1.000000 -0.875000 +v 1.082532 1.624999 -0.875000 +v 0.625001 2.082531 -0.875000 +v 0.000000 2.250000 -3.375000 +v -0.625000 2.082532 -3.375000 +v -1.082532 1.625000 -3.375000 +v -1.250000 1.000000 -3.375000 +v -1.082532 0.375000 -3.375000 +v -0.625000 -0.082532 -3.375000 +v -0.000000 -0.250000 -3.375000 +v 0.625000 -0.082532 -3.375000 +v 1.082531 0.375000 -3.375000 +v 1.250000 1.000000 -3.375000 +v 1.082532 1.624999 -3.375000 +v 0.625001 2.082531 -3.375000 +v 0.000000 2.125000 -0.875000 +v -0.265165 2.015165 -0.875000 +v -0.375000 1.750000 -0.875000 +v -0.265165 1.484835 -0.875000 +v 0.000000 1.375000 -0.875000 +v 0.265165 1.484835 -0.875000 +v 0.375000 1.750000 -0.875000 +v 0.265165 2.015165 -0.875000 +v 0.000000 2.125000 -3.375000 +v -0.265165 2.015165 -3.375000 +v -0.375000 1.750000 -3.375000 +v -0.265165 1.484835 -3.375000 +v 0.000000 1.375000 -3.375000 +v 0.265165 1.484835 -3.375000 +v 0.375000 1.750000 -3.375000 +v 0.265165 2.015165 -3.375000 +v 0.000000 -0.125000 -0.875000 +v 0.265165 -0.015165 -0.875000 +v 0.375000 0.250000 -0.875000 +v 0.265165 0.515165 -0.875000 +v 0.000000 0.625000 -0.875000 +v -0.265165 0.515165 -0.875000 +v -0.375000 0.250000 -0.875000 +v -0.265165 -0.015165 -0.875000 +v 0.000000 -0.125000 -3.375000 +v 0.265165 -0.015165 -3.375000 +v 0.375000 0.250000 -3.375000 +v 0.265165 0.515165 -3.375000 +v 0.000000 0.625000 -3.375000 +v -0.265165 0.515165 -3.375000 +v -0.375000 0.250000 -3.375000 +v -0.265165 -0.015165 -3.375000 +v 0.974279 1.562500 -0.875000 +v 0.746576 1.737222 -0.875000 +v 0.462019 1.699759 -0.875000 +v 0.287297 1.472057 -0.875000 +v 0.324759 1.187500 -0.875000 +v 0.552462 1.012778 -0.875000 +v 0.837019 1.050241 -0.875000 +v 1.011741 1.277943 -0.875000 +v 0.974279 1.562500 -3.375000 +v 0.746576 1.737222 -3.375000 +v 0.462019 1.699759 -3.375000 +v 0.287297 1.472057 -3.375000 +v 0.324759 1.187500 -3.375000 +v 0.552462 1.012778 -3.375000 +v 0.837019 1.050241 -3.375000 +v 1.011741 1.277943 -3.375000 +v -0.974278 0.437500 -0.875000 +v -0.746576 0.262778 -0.875000 +v -0.462019 0.300241 -0.875000 +v -0.287297 0.527943 -0.875000 +v -0.324759 0.812500 -0.875000 +v -0.552462 0.987222 -0.875000 +v -0.837019 0.949759 -0.875000 +v -1.011741 0.722057 -0.875000 +v -0.974278 0.437500 -3.375000 +v -0.746576 0.262778 -3.375000 +v -0.462019 0.300241 -3.375000 +v -0.287297 0.527943 -3.375000 +v -0.324759 0.812500 -3.375000 +v -0.552462 0.987222 -3.375000 +v -0.837019 0.949759 -3.375000 +v -1.011741 0.722057 -3.375000 +v 0.974279 0.437500 -0.875000 +v 1.011741 0.722057 -0.875000 +v 0.837019 0.949759 -0.875000 +v 0.552462 0.987222 -0.875000 +v 0.324759 0.812500 -0.875000 +v 0.287297 0.527943 -0.875000 +v 0.462019 0.300241 -0.875000 +v 0.746576 0.262778 -0.875000 +v 0.974279 0.437500 -3.375000 +v 1.011741 0.722057 -3.375000 +v 0.837019 0.949759 -3.375000 +v 0.552462 0.987222 -3.375000 +v 0.324759 0.812500 -3.375000 +v 0.287297 0.527943 -3.375000 +v 0.462019 0.300241 -3.375000 +v 0.746576 0.262778 -3.375000 +v -0.974278 1.562500 -0.875000 +v -1.011741 1.277943 -0.875000 +v -0.837019 1.050241 -0.875000 +v -0.552462 1.012778 -0.875000 +v -0.324759 1.187500 -0.875000 +v -0.287297 1.472057 -0.875000 +v -0.462019 1.699759 -0.875000 +v -0.746576 1.737223 -0.875000 +v -0.974278 1.562500 -3.375000 +v -1.011741 1.277943 -3.375000 +v -0.837019 1.050241 -3.375000 +v -0.552462 1.012778 -3.375000 +v -0.324759 1.187500 -3.375000 +v -0.287297 1.472057 -3.375000 +v -0.462019 1.699759 -3.375000 +v -0.746576 1.737223 -3.375000 +vt 0.533583 0.170366 +vt 0.536538 0.146655 +vt 0.537284 0.147745 +vt 0.535276 0.122379 +vt 0.546219 0.138375 +vt 0.537284 0.192988 +vt 0.530651 0.166080 +vt 0.558854 0.170366 +vt 0.571374 0.169276 +vt 0.555153 0.192988 +vt 0.555899 0.146655 +vt 0.555153 0.147745 +vt 0.557161 0.122379 +vt 0.580308 0.082671 +vt 0.574421 0.110669 +vt 0.574421 0.102097 +vt 0.564833 0.107473 +vt 0.564833 0.105293 +vt 0.557161 0.090387 +vt 0.571374 0.043490 +vt 0.558854 0.042400 +vt 0.555153 0.019778 +vt 0.561786 0.046686 +vt 0.555153 0.065021 +vt 0.555899 0.066111 +vt 0.546219 0.074391 +vt 0.512129 0.130095 +vt 0.518016 0.102097 +vt 0.518016 0.110669 +vt 0.533583 0.042400 +vt 0.521063 0.043490 +vt 0.537284 0.019778 +vt 0.537284 0.065021 +vt 0.530651 0.046686 +vt 0.536538 0.066111 +vt 0.527604 0.105293 +vt 0.527604 0.107473 +vt 0.525160 0.198735 +vt 0.521063 0.169276 +vt 0.567277 0.198735 +vt 0.588336 0.106383 +vt 0.580308 0.130095 +vt 0.567277 0.014031 +vt 0.525160 0.014031 +vt 0.504101 0.106383 +vt 0.512129 0.082671 +vt 0.365516 0.170366 +vt 0.352996 0.169276 +vt 0.362584 0.166080 +vt 0.387086 0.192988 +vt 0.393719 0.166080 +vt 0.403307 0.169276 +vt 0.412241 0.130095 +vt 0.406354 0.102097 +vt 0.412241 0.082671 +vt 0.390787 0.042400 +vt 0.403307 0.043490 +vt 0.393719 0.046686 +vt 0.365516 0.042400 +vt 0.352996 0.043490 +vt 0.369217 0.019778 +vt 0.344061 0.082671 +vt 0.349948 0.110669 +vt 0.344061 0.130095 +vt 0.359536 0.105293 +vt 0.349948 0.102097 +vt 0.367209 0.090387 +vt 0.359536 0.107473 +vt 0.368471 0.146655 +vt 0.369217 0.147745 +vt 0.367209 0.122379 +vt 0.378151 0.138375 +vt 0.390787 0.170366 +vt 0.387831 0.146655 +vt 0.387086 0.147745 +vt 0.389094 0.122379 +vt 0.406354 0.110669 +vt 0.396766 0.105293 +vt 0.396766 0.107473 +vt 0.387086 0.065021 +vt 0.387831 0.066111 +vt 0.378151 0.074391 +vt 0.389094 0.090387 +vt 0.369217 0.065021 +vt 0.362584 0.046686 +vt 0.368471 0.066111 +vt 0.357092 0.198735 +vt 0.369217 0.192988 +vt 0.399210 0.198735 +vt 0.420269 0.106383 +vt 0.399210 0.014031 +vt 0.387086 0.019778 +vt 0.357092 0.014031 +vt 0.336033 0.106383 +vt 0.419403 0.257098 +vt 0.402659 0.274658 +vt 0.395723 0.232264 +vt 0.395723 0.232264 +vt 0.412467 0.214703 +vt 0.419403 0.257098 +vt 0.412467 0.274658 +vt 0.395723 0.257098 +vt 0.402659 0.214703 +vt 0.402659 0.214703 +vt 0.419403 0.232264 +vt 0.412467 0.274658 +vt 0.395723 0.257098 +vt 0.402659 0.214703 +vt 0.419403 0.232264 +vt 0.419403 0.232264 +vt 0.412467 0.274658 +vt 0.395723 0.257098 +vt 0.387257 0.214703 +vt 0.394193 0.257098 +vt 0.377449 0.274658 +vt 0.377449 0.274658 +vt 0.370513 0.232264 +vt 0.387257 0.214703 +vt 0.370513 0.257098 +vt 0.377449 0.214703 +vt 0.394193 0.232264 +vt 0.394193 0.257098 +vt 0.377449 0.274658 +vt 0.370513 0.232264 +vt 0.394193 0.257098 +vt 0.377449 0.274658 +vt 0.370513 0.232264 +vt 0.377449 0.214703 +vt 0.394193 0.232264 +vt 0.387257 0.274658 +vt 0.561786 0.166080 +vt 0.535276 0.090387 +vt 0.509743 0.159702 +vt 0.513391 0.154370 +vt 0.546219 0.202358 +vt 0.546219 0.213022 +vt 0.579046 0.154370 +vt 0.582694 0.159702 +vt 0.579046 0.058396 +vt 0.582694 0.053064 +vt 0.546219 0.010408 +vt 0.546219 -0.000256 +vt 0.513391 0.058396 +vt 0.509743 0.053064 +vt 0.378151 0.202358 +vt 0.378151 0.213022 +vt 0.341676 0.159702 +vt 0.345324 0.154370 +vt 0.410979 0.154370 +vt 0.414626 0.159702 +vt 0.410979 0.058396 +vt 0.414626 0.053064 +vt 0.378151 0.010408 +vt 0.378151 -0.000256 +vt 0.345324 0.058396 +vt 0.341676 0.053064 +vt 0.402659 0.214703 +vt 0.412467 0.214703 +vt 0.419403 0.232264 +vt 0.412467 0.274658 +vt 0.395723 0.257098 +vt 0.412467 0.274658 +vt 0.402659 0.274658 +vt 0.395723 0.257098 +vt 0.402659 0.214703 +vt 0.419403 0.232264 +vt 0.412467 0.214703 +vt 0.419403 0.232264 +vt 0.419403 0.257098 +vt 0.402659 0.274658 +vt 0.395723 0.232264 +vt 0.402659 0.274658 +vt 0.395723 0.257098 +vt 0.395723 0.232264 +vt 0.412467 0.214703 +vt 0.419403 0.257098 +vt 0.419403 0.257098 +vt 0.412467 0.274658 +vt 0.402659 0.274658 +vt 0.395723 0.232264 +vt 0.412467 0.214703 +vt 0.395723 0.232264 +vt 0.402659 0.214703 +vt 0.412467 0.214703 +vt 0.419403 0.257098 +vt 0.402659 0.274658 +vt 0.370513 0.257098 +vt 0.370513 0.232264 +vt 0.377449 0.214703 +vt 0.394193 0.232264 +vt 0.387257 0.274658 +vt 0.394193 0.232264 +vt 0.394193 0.257098 +vt 0.387257 0.274658 +vt 0.370513 0.257098 +vt 0.377449 0.214703 +vt 0.387257 0.274658 +vt 0.377449 0.274658 +vt 0.370513 0.232264 +vt 0.387257 0.214703 +vt 0.394193 0.257098 +vt 0.377449 0.214703 +vt 0.387257 0.214703 +vt 0.394193 0.232264 +vt 0.387257 0.274658 +vt 0.370513 0.257098 +vt 0.387257 0.214703 +vt 0.394193 0.232264 +vt 0.387257 0.274658 +vt 0.370513 0.257098 +vt 0.377449 0.214703 +vt 0.370513 0.257098 +vt 0.370513 0.232264 +vt 0.387257 0.214703 +vt 0.394193 0.257098 +vt 0.377449 0.274658 +vt 0.504202 0.425532 +vt 0.420168 0.478723 +vt 0.420168 0.425532 +vt 0.504202 0.159574 +vt 0.420168 0.212766 +vt 0.420168 0.159574 +vt 0.504202 -0.000000 +vt 0.420168 0.053191 +vt 0.420168 -0.000000 +vt 0.504202 0.478723 +vt 0.420168 0.531915 +vt 0.504202 0.212766 +vt 0.420168 0.265957 +vt 0.504202 0.319149 +vt 0.420168 0.372340 +vt 0.420168 0.319149 +vt 0.504202 0.053191 +vt 0.420168 0.106383 +vt 0.504202 0.531915 +vt 0.420168 0.585106 +vt 0.504202 0.265957 +vt 0.504202 0.372340 +vt 0.504202 0.106383 +vt 0.504202 0.585106 +vt 0.420168 0.638298 +vt 0.504202 0.340426 +vt 0.588235 0.361702 +vt 0.504202 0.361702 +vt 0.504202 0.212766 +vt 0.588235 0.234043 +vt 0.504202 0.234043 +vt 0.504202 0.255319 +vt 0.588235 0.276596 +vt 0.504202 0.276596 +vt 0.504202 0.319149 +vt 0.588235 0.340426 +vt 0.588235 0.382979 +vt 0.504202 0.382979 +vt 0.588235 0.255319 +vt 0.588235 0.297872 +vt 0.504202 0.297872 +vt 0.588235 0.319149 +vt 0.504202 0.340426 +vt 0.588235 0.361702 +vt 0.504202 0.361702 +vt 0.504202 0.212766 +vt 0.588235 0.234043 +vt 0.504202 0.234043 +vt 0.504202 0.255319 +vt 0.588235 0.276596 +vt 0.504202 0.276596 +vt 0.504202 0.319149 +vt 0.588235 0.340426 +vt 0.588235 0.382979 +vt 0.504202 0.382979 +vt 0.588235 0.255319 +vt 0.588235 0.297872 +vt 0.504202 0.297872 +vt 0.588235 0.319149 +vt 0.504202 0.340426 +vt 0.588235 0.361702 +vt 0.504202 0.361702 +vt 0.504202 0.212766 +vt 0.588235 0.234043 +vt 0.504202 0.234043 +vt 0.504202 0.255319 +vt 0.588235 0.276596 +vt 0.504202 0.276596 +vt 0.504202 0.319149 +vt 0.588235 0.340426 +vt 0.588235 0.382979 +vt 0.504202 0.382979 +vt 0.588235 0.255319 +vt 0.588235 0.297872 +vt 0.504202 0.297872 +vt 0.588235 0.319149 +vt 0.504202 0.340426 +vt 0.588235 0.361702 +vt 0.504202 0.361702 +vt 0.504202 0.212766 +vt 0.588235 0.234043 +vt 0.504202 0.234043 +vt 0.504202 0.255319 +vt 0.588235 0.276596 +vt 0.504202 0.276596 +vt 0.504202 0.319149 +vt 0.588235 0.340426 +vt 0.588235 0.382979 +vt 0.504202 0.382979 +vt 0.588235 0.255319 +vt 0.588235 0.297872 +vt 0.504202 0.297872 +vt 0.588235 0.319149 +vt 0.504202 0.340426 +vt 0.588235 0.361702 +vt 0.504202 0.361702 +vt 0.504202 0.212766 +vt 0.588235 0.234043 +vt 0.504202 0.234043 +vt 0.504202 0.255319 +vt 0.588235 0.276596 +vt 0.504202 0.276596 +vt 0.504202 0.319149 +vt 0.588235 0.340426 +vt 0.588235 0.382979 +vt 0.504202 0.382979 +vt 0.588235 0.255319 +vt 0.588235 0.297872 +vt 0.504202 0.297872 +vt 0.588235 0.319149 +vt 0.504202 0.340426 +vt 0.588235 0.361702 +vt 0.504202 0.361702 +vt 0.504202 0.212766 +vt 0.588235 0.234043 +vt 0.504202 0.234043 +vt 0.504202 0.255319 +vt 0.588235 0.276596 +vt 0.504202 0.276596 +vt 0.504202 0.319149 +vt 0.588235 0.340426 +vt 0.588235 0.382979 +vt 0.504202 0.382979 +vt 0.588235 0.255319 +vt 0.588235 0.297872 +vt 0.504202 0.297872 +vt 0.588235 0.319149 +vt 0.504202 0.638298 +vt 0.588235 0.212766 +vt 0.588235 0.212766 +vt 0.588235 0.212766 +vt 0.588235 0.212766 +vt 0.588235 0.212766 +vt 0.588235 0.212766 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.8660 0.5000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.2588 0.9659 0.0000 +vn 0.9659 -0.2588 0.0000 +vn -0.2588 -0.9659 0.0000 +vn -0.9659 0.2588 0.0000 +vn 0.9659 0.2588 0.0000 +vn 0.2588 -0.9659 0.0000 +vn -0.9659 -0.2588 0.0000 +vn -0.2588 0.9659 0.0000 +s off +f 245/292/53 274/293/53 244/294/53 +f 244/294/53 275/295/53 243/296/53 +f 246/297/53 273/298/53 245/292/53 +f 241/299/53 326/300/53 240/301/53 +f 324/302/53 241/299/53 242/303/53 +f 323/304/53 242/303/53 243/296/53 +f 294/305/53 321/306/53 293/307/53 +f 293/307/53 322/308/53 292/309/53 +f 322/308/53 291/310/53 292/309/53 +f 288/311/53 261/312/53 262/313/53 +f 289/314/53 260/315/53 261/312/53 +f 290/316/53 259/317/53 260/315/53 +f 278/318/53 305/319/53 277/320/53 +f 257/321/53 310/322/53 256/323/53 +f 258/324/53 309/325/53 257/321/53 +f 259/317/53 308/326/53 258/324/53 +f 277/320/53 306/327/53 276/328/53 +f 306/327/53 275/295/53 276/328/53 +f 275/295/53 259/317/53 323/304/53 +f 230/329/53 272/330/53 246/297/53 +f 220/331/53 240/301/53 326/300/53 +f 222/332/53 320/333/53 294/305/53 +f 224/334/53 288/311/53 262/313/53 +f 226/335/53 256/323/53 310/322/53 +f 228/336/53 304/337/53 278/318/53 +f 233/338/54 318/339/54 317/340/54 +f 238/341/54 265/342/54 264/343/54 +f 270/344/54 297/345/54 296/346/54 +f 249/347/54 302/348/54 301/349/54 +f 253/350/54 280/351/54 254/352/54 +f 286/353/54 313/354/54 312/355/54 +f 284/356/54 313/354/54 285/357/54 +f 283/358/54 314/359/54 284/356/54 +f 233/338/54 316/360/54 234/361/54 +f 234/361/54 315/362/54 235/363/54 +f 237/364/54 266/365/54 265/342/54 +f 236/366/54 267/367/54 266/365/54 +f 269/368/54 298/369/54 297/345/54 +f 267/367/54 298/369/54 268/370/54 +f 250/371/54 301/349/54 300/372/54 +f 251/373/54 300/372/54 299/374/54 +f 252/375/54 281/376/54 253/350/54 +f 251/373/54 282/377/54 252/375/54 +f 251/373/54 267/367/54 315/362/54 +f 208/378/54 318/339/54 232/379/54 +f 218/380/54 238/341/54 264/343/54 +f 216/381/54 270/344/54 296/346/54 +f 214/382/54 302/348/54 248/383/54 +f 212/384/54 254/352/54 280/351/54 +f 210/385/54 286/353/54 312/355/54 +f 333/386/53 331/387/53 329/388/53 +f 341/389/53 339/390/53 337/391/53 +f 349/392/53 347/393/53 345/394/53 +f 357/395/53 355/396/53 353/397/53 +f 365/398/53 363/399/53 361/400/53 +f 373/401/53 371/402/53 369/403/53 +f 379/404/54 381/405/54 375/406/54 +f 387/407/54 389/408/54 383/409/54 +f 393/410/54 395/411/54 397/412/54 +f 403/413/54 405/414/54 399/415/54 +f 409/416/54 411/417/54 413/418/54 +f 417/419/54 419/420/54 421/421/54 +f 245/292/53 273/298/53 274/293/53 +f 244/294/53 274/293/53 275/295/53 +f 246/297/53 272/330/53 273/298/53 +f 241/299/53 325/422/53 326/300/53 +f 324/302/53 325/422/53 241/299/53 +f 323/304/53 324/302/53 242/303/53 +f 294/305/53 320/333/53 321/306/53 +f 293/307/53 321/306/53 322/308/53 +f 322/308/53 323/304/53 291/310/53 +f 288/311/53 289/314/53 261/312/53 +f 289/314/53 290/316/53 260/315/53 +f 290/316/53 291/310/53 259/317/53 +f 278/318/53 304/337/53 305/319/53 +f 257/321/53 309/325/53 310/322/53 +f 258/324/53 308/326/53 309/325/53 +f 259/317/53 307/423/53 308/326/53 +f 277/320/53 305/319/53 306/327/53 +f 306/327/53 307/423/53 275/295/53 +f 323/304/53 243/296/53 275/295/53 +f 275/295/53 307/423/53 259/317/53 +f 259/317/53 291/310/53 323/304/53 +f 230/329/53 229/424/53 272/330/53 +f 229/424/53 271/425/53 272/330/53 +f 239/426/53 219/427/53 246/297/53 +f 219/427/53 230/329/53 246/297/53 +f 220/331/53 219/427/53 240/301/53 +f 219/427/53 239/426/53 240/301/53 +f 319/428/53 221/429/53 326/300/53 +f 221/429/53 220/331/53 326/300/53 +f 222/332/53 221/429/53 320/333/53 +f 221/429/53 319/428/53 320/333/53 +f 287/430/53 223/431/53 294/305/53 +f 223/431/53 222/332/53 294/305/53 +f 224/334/53 223/431/53 288/311/53 +f 223/431/53 287/430/53 288/311/53 +f 255/432/53 225/433/53 262/313/53 +f 225/433/53 224/334/53 262/313/53 +f 226/335/53 225/433/53 256/323/53 +f 225/433/53 255/432/53 256/323/53 +f 303/434/53 227/435/53 310/322/53 +f 227/435/53 226/335/53 310/322/53 +f 228/336/53 227/435/53 304/337/53 +f 227/435/53 303/434/53 304/337/53 +f 271/425/53 229/424/53 278/318/53 +f 229/424/53 228/336/53 278/318/53 +f 233/338/54 232/379/54 318/339/54 +f 238/341/54 237/364/54 265/342/54 +f 270/344/54 269/368/54 297/345/54 +f 249/347/54 248/383/54 302/348/54 +f 253/350/54 281/376/54 280/351/54 +f 286/353/54 285/357/54 313/354/54 +f 284/356/54 314/359/54 313/354/54 +f 283/358/54 315/362/54 314/359/54 +f 233/338/54 317/340/54 316/360/54 +f 234/361/54 316/360/54 315/362/54 +f 237/364/54 236/366/54 266/365/54 +f 236/366/54 235/363/54 267/367/54 +f 269/368/54 268/370/54 298/369/54 +f 267/367/54 299/374/54 298/369/54 +f 250/371/54 249/347/54 301/349/54 +f 251/373/54 250/371/54 300/372/54 +f 252/375/54 282/377/54 281/376/54 +f 251/373/54 283/358/54 282/377/54 +f 315/362/54 283/358/54 251/373/54 +f 251/373/54 299/374/54 267/367/54 +f 267/367/54 235/363/54 315/362/54 +f 231/436/54 207/437/54 232/379/54 +f 207/437/54 208/378/54 232/379/54 +f 208/378/54 209/438/54 318/339/54 +f 209/438/54 311/439/54 318/339/54 +f 263/440/54 217/441/54 264/343/54 +f 217/441/54 218/380/54 264/343/54 +f 218/380/54 207/437/54 238/341/54 +f 207/437/54 231/436/54 238/341/54 +f 295/442/54 215/443/54 296/346/54 +f 215/443/54 216/381/54 296/346/54 +f 216/381/54 217/441/54 270/344/54 +f 217/441/54 263/440/54 270/344/54 +f 247/444/54 213/445/54 248/383/54 +f 213/445/54 214/382/54 248/383/54 +f 214/382/54 215/443/54 302/348/54 +f 215/443/54 295/442/54 302/348/54 +f 279/446/54 211/447/54 280/351/54 +f 211/447/54 212/384/54 280/351/54 +f 212/384/54 213/445/54 254/352/54 +f 213/445/54 247/444/54 254/352/54 +f 311/439/54 209/438/54 312/355/54 +f 209/438/54 210/385/54 312/355/54 +f 210/385/54 211/447/54 286/353/54 +f 211/447/54 279/446/54 286/353/54 +f 329/388/53 328/448/53 327/449/53 +f 327/449/53 334/450/53 333/386/53 +f 333/386/53 332/451/53 331/387/53 +f 331/387/53 330/452/53 329/388/53 +f 329/388/53 327/449/53 333/386/53 +f 337/391/53 336/453/53 335/454/53 +f 335/454/53 342/455/53 341/389/53 +f 341/389/53 340/456/53 339/390/53 +f 339/390/53 338/457/53 337/391/53 +f 337/391/53 335/454/53 341/389/53 +f 345/394/53 344/458/53 343/459/53 +f 343/459/53 350/460/53 345/394/53 +f 350/460/53 349/392/53 345/394/53 +f 349/392/53 348/461/53 347/393/53 +f 347/393/53 346/462/53 345/394/53 +f 353/397/53 352/463/53 351/464/53 +f 351/464/53 358/465/53 357/395/53 +f 357/395/53 356/466/53 355/396/53 +f 355/396/53 354/467/53 353/397/53 +f 353/397/53 351/464/53 357/395/53 +f 361/400/53 360/468/53 359/469/53 +f 359/469/53 366/470/53 361/400/53 +f 366/470/53 365/398/53 361/400/53 +f 365/398/53 364/471/53 363/399/53 +f 363/399/53 362/472/53 361/400/53 +f 369/403/53 368/473/53 367/474/53 +f 367/474/53 374/475/53 369/403/53 +f 374/475/53 373/401/53 369/403/53 +f 373/401/53 372/476/53 371/402/53 +f 371/402/53 370/477/53 369/403/53 +f 375/406/54 376/478/54 377/479/54 +f 377/479/54 378/480/54 379/404/54 +f 379/404/54 380/481/54 381/405/54 +f 381/405/54 382/482/54 375/406/54 +f 375/406/54 377/479/54 379/404/54 +f 383/409/54 384/483/54 385/484/54 +f 385/484/54 386/485/54 387/407/54 +f 387/407/54 388/486/54 389/408/54 +f 389/408/54 390/487/54 383/409/54 +f 383/409/54 385/484/54 387/407/54 +f 391/488/54 392/489/54 393/410/54 +f 393/410/54 394/490/54 395/411/54 +f 395/411/54 396/491/54 397/412/54 +f 397/412/54 398/492/54 391/488/54 +f 391/488/54 393/410/54 397/412/54 +f 399/415/54 400/493/54 401/494/54 +f 401/494/54 402/495/54 403/413/54 +f 403/413/54 404/496/54 405/414/54 +f 405/414/54 406/497/54 399/415/54 +f 399/415/54 401/494/54 403/413/54 +f 407/498/54 408/499/54 409/416/54 +f 409/416/54 410/500/54 411/417/54 +f 411/417/54 412/501/54 413/418/54 +f 413/418/54 414/502/54 407/498/54 +f 407/498/54 409/416/54 413/418/54 +f 415/503/54 416/504/54 417/419/54 +f 417/419/54 418/505/54 419/420/54 +f 419/420/54 420/506/54 421/421/54 +f 421/421/54 422/507/54 415/503/54 +f 415/503/54 417/419/54 421/421/54 +s 1 +f 437/508/55 426/509/56 425/510/55 +f 444/511/57 433/512/58 432/513/57 +f 441/514/59 430/515/60 429/516/59 +f 438/517/56 427/518/61 426/509/56 +f 445/519/58 434/520/62 433/512/58 +f 435/521/63 424/522/64 423/523/63 +f 442/524/60 431/525/65 430/515/60 +f 439/526/61 428/527/66 427/518/61 +f 446/528/62 423/523/63 434/520/62 +f 436/529/64 425/510/55 424/522/64 +f 443/530/65 432/513/57 431/525/65 +f 440/531/66 429/532/59 428/527/66 +f 453/533/56 460/534/67 452/535/67 +f 451/536/63 458/537/68 450/538/68 +f 449/539/57 456/540/69 448/541/69 +f 454/542/70 461/543/56 453/533/56 +f 452/535/67 459/544/63 451/545/63 +f 450/538/68 457/546/57 449/539/57 +f 448/541/69 455/547/59 447/548/59 +f 447/548/59 462/549/70 454/542/70 +f 469/550/57 476/551/69 468/552/69 +f 467/553/59 474/554/70 466/555/70 +f 465/556/56 472/557/67 464/558/67 +f 470/559/68 477/560/57 469/550/57 +f 468/552/69 475/561/59 467/562/59 +f 466/555/70 473/563/56 465/556/56 +f 464/558/67 471/564/63 463/565/63 +f 463/565/63 478/566/68 470/559/68 +f 485/567/64 492/568/71 484/569/71 +f 483/570/58 490/571/72 482/572/72 +f 481/573/60 488/574/73 480/575/73 +f 486/576/74 493/577/64 485/567/64 +f 484/569/71 491/578/58 483/579/58 +f 482/572/72 489/580/60 481/573/60 +f 480/575/73 487/581/61 479/582/61 +f 479/582/61 494/583/74 486/576/74 +f 501/584/60 508/585/73 500/586/73 +f 499/587/61 506/588/74 498/589/74 +f 497/590/64 504/591/71 496/592/71 +f 502/593/72 509/594/60 501/584/60 +f 500/586/73 507/595/61 499/596/61 +f 498/589/74 505/597/64 497/590/64 +f 496/592/71 503/598/58 495/599/58 +f 495/599/58 510/600/72 502/593/72 +f 517/601/62 524/602/75 516/603/75 +f 515/604/65 522/605/76 514/606/76 +f 513/607/66 520/608/77 512/609/77 +f 518/610/78 525/611/62 517/601/62 +f 516/603/75 523/612/65 515/613/65 +f 514/606/76 521/614/66 513/607/66 +f 512/609/77 519/615/55 511/616/55 +f 511/616/55 526/617/78 518/610/78 +f 533/618/66 540/619/77 532/620/77 +f 531/621/55 538/622/78 530/623/78 +f 529/624/62 536/625/75 528/626/75 +f 534/627/76 541/628/66 533/618/66 +f 532/620/77 539/629/55 531/630/55 +f 530/623/78 537/631/62 529/624/62 +f 528/626/75 535/632/65 527/633/65 +f 527/633/65 542/634/76 534/627/76 +f 437/508/55 438/517/56 426/509/56 +f 444/511/57 445/519/58 433/512/58 +f 441/514/59 442/524/60 430/515/60 +f 438/517/56 439/526/61 427/518/61 +f 445/519/58 446/528/62 434/520/62 +f 435/521/63 436/529/64 424/522/64 +f 442/524/60 443/530/65 431/525/65 +f 439/526/61 440/531/66 428/527/66 +f 446/528/62 435/521/63 423/523/63 +f 436/529/64 437/508/55 425/510/55 +f 443/530/65 444/511/57 432/513/57 +f 440/531/66 441/635/59 429/532/59 +f 453/533/56 461/543/56 460/534/67 +f 451/536/63 459/636/63 458/537/68 +f 449/539/57 457/546/57 456/540/69 +f 454/542/70 462/549/70 461/543/56 +f 452/535/67 460/534/67 459/544/63 +f 450/538/68 458/537/68 457/546/57 +f 448/541/69 456/540/69 455/547/59 +f 447/548/59 455/547/59 462/549/70 +f 469/550/57 477/560/57 476/551/69 +f 467/553/59 475/637/59 474/554/70 +f 465/556/56 473/563/56 472/557/67 +f 470/559/68 478/566/68 477/560/57 +f 468/552/69 476/551/69 475/561/59 +f 466/555/70 474/554/70 473/563/56 +f 464/558/67 472/557/67 471/564/63 +f 463/565/63 471/564/63 478/566/68 +f 485/567/64 493/577/64 492/568/71 +f 483/570/58 491/638/58 490/571/72 +f 481/573/60 489/580/60 488/574/73 +f 486/576/74 494/583/74 493/577/64 +f 484/569/71 492/568/71 491/578/58 +f 482/572/72 490/571/72 489/580/60 +f 480/575/73 488/574/73 487/581/61 +f 479/582/61 487/581/61 494/583/74 +f 501/584/60 509/594/60 508/585/73 +f 499/587/61 507/639/61 506/588/74 +f 497/590/64 505/597/64 504/591/71 +f 502/593/72 510/600/72 509/594/60 +f 500/586/73 508/585/73 507/595/61 +f 498/589/74 506/588/74 505/597/64 +f 496/592/71 504/591/71 503/598/58 +f 495/599/58 503/598/58 510/600/72 +f 517/601/62 525/611/62 524/602/75 +f 515/604/65 523/640/65 522/605/76 +f 513/607/66 521/614/66 520/608/77 +f 518/610/78 526/617/78 525/611/62 +f 516/603/75 524/602/75 523/612/65 +f 514/606/76 522/605/76 521/614/66 +f 512/609/77 520/608/77 519/615/55 +f 511/616/55 519/615/55 526/617/78 +f 533/618/66 541/628/66 540/619/77 +f 531/621/55 539/641/55 538/622/78 +f 529/624/62 537/631/62 536/625/75 +f 534/627/76 542/634/76 541/628/66 +f 532/620/77 540/619/77 539/629/55 +f 530/623/78 538/622/78 537/631/62 +f 528/626/75 536/625/75 535/632/65 +f 527/633/65 535/632/65 542/634/76 +o Grip +v 0.000000 2.250000 -3.375000 +v -0.625000 2.082532 -3.375000 +v -1.082532 1.625000 -3.375000 +v -1.250000 1.000000 -3.375000 +v -1.082532 0.375000 -3.375000 +v -0.625000 -0.082532 -3.375000 +v 0.000000 -0.250000 -3.375000 +v 0.625000 -0.082532 -3.375000 +v 1.082531 0.375000 -3.375000 +v 1.250000 1.000000 -3.375000 +v 1.082532 1.624999 -3.375000 +v 0.625001 2.082531 -3.375000 +v -0.125000 1.750400 -4.125000 +v 0.125000 0.750400 -4.125000 +v 0.125000 0.250400 -4.625000 +v -0.125000 0.750400 -4.125000 +v -0.125000 0.250400 -4.625000 +v -0.375000 0.750400 -4.125000 +v 0.375000 0.750400 -4.125000 +v -0.375000 0.250400 -4.625000 +v 0.375000 0.250400 -4.625000 +v -0.375000 0.000400 -5.375000 +v 0.375000 0.000400 -5.375000 +v -0.125000 2.125400 -4.125000 +v 0.125000 2.125400 -4.125000 +v -0.125000 1.875400 -4.125000 +v 0.125000 1.875400 -4.125000 +v -0.375000 1.875400 -4.125000 +v 0.375000 1.875400 -4.125000 +v 0.375000 1.875400 -3.500000 +v -0.375000 1.875400 -3.500000 +v 0.125000 1.875400 -3.500000 +v -0.125000 1.875400 -3.500000 +v 0.125000 2.125400 -3.500000 +v -0.125000 2.125400 -3.500000 +v 0.375000 -0.249600 -3.500000 +v -0.375000 -0.249600 -3.500000 +v 0.375000 1.875400 -4.125000 +v -0.375000 1.875400 -4.125000 +v 0.125000 1.875400 -4.125000 +v -0.125000 1.875400 -4.125000 +v 0.125000 2.125400 -4.125000 +v -0.125000 2.125400 -4.125000 +v 0.375000 -0.249600 -0.750000 +v -0.375000 -0.249600 -0.750000 +v 0.375000 0.000400 -5.375000 +v -0.375000 0.000400 -5.375000 +v 0.375000 0.250400 -4.625000 +v -0.375000 0.250400 -4.625000 +v 0.375000 0.750400 -4.125000 +v -0.375000 0.750400 -4.125000 +v 0.375000 -0.999600 0.000000 +v -0.375000 -0.999600 0.000000 +v 0.375000 -0.999600 -2.125000 +v -0.375000 -0.999600 -2.125000 +v -0.375000 0.000400 -0.750000 +v 0.375000 0.000400 -0.750000 +v -0.375000 -0.249600 0.000000 +v 0.375000 -0.249600 0.000000 +v -0.375000 -0.749600 0.000000 +v 0.375000 -0.749600 0.000000 +v -0.375000 -0.649119 0.375000 +v 0.375000 -0.649119 0.375000 +v -0.375000 -0.374600 0.649519 +v 0.375000 -0.374600 0.649519 +v -0.375000 0.000400 0.750000 +v 0.375000 0.000400 0.750000 +v -0.375000 0.375400 0.649519 +v 0.375000 0.375400 0.649519 +v -0.375000 0.649919 0.375000 +v 0.375000 0.649919 0.375000 +v -0.375000 0.750400 0.000000 +v 0.375000 0.750400 0.000000 +v -0.375000 0.649919 -0.375000 +v 0.375000 0.649919 -0.375000 +v -0.375000 0.375401 -0.649519 +v 0.375000 0.375400 -0.649519 +v 0.375000 -1.749600 -4.875000 +v -0.375000 -1.749600 -4.875000 +v 0.375000 -0.999600 -5.000000 +v -0.375000 -0.999600 -5.000000 +v 0.375000 -1.374600 -4.375000 +v -0.375000 -1.374600 -4.375000 +v 0.375000 0.000400 -6.375000 +v -0.375000 0.000400 -6.375000 +v 0.375000 -2.124600 -7.750000 +v -0.375000 -2.124600 -7.750000 +v 0.375000 -4.624600 -8.500000 +v -0.375000 -4.624600 -8.500000 +v 0.375000 -5.374600 -8.500000 +v -0.375000 -5.374600 -8.500000 +v 0.375000 -5.374600 -5.500000 +v -0.375000 -5.374600 -5.500000 +v 0.375000 -4.124600 -5.500000 +v -0.375000 -4.124600 -5.500000 +v -0.625000 -0.999600 -5.250000 +v -0.625000 -1.749600 -5.125000 +v -0.625000 -0.249600 -5.625000 +v -0.625000 -0.249600 -6.125000 +v -0.625000 -2.124600 -7.500000 +v -0.625000 -4.624600 -8.250000 +v -0.625000 -5.124600 -8.250000 +v -0.625000 -5.124600 -5.750000 +v -0.625000 -4.124600 -5.750000 +v 0.625000 -1.749600 -5.125000 +v 0.625000 -0.999600 -5.250000 +v 0.625000 -0.249600 -5.625000 +v 0.625000 -0.249600 -6.125000 +v 0.625000 -2.124600 -7.500000 +v 0.625000 -4.624600 -8.250000 +v 0.625000 -5.124600 -8.250000 +v 0.625000 -5.124600 -5.750000 +v 0.625000 -4.124600 -5.750000 +v 0.000000 -5.374600 -7.250000 +v -0.176777 -5.374600 -7.176777 +v -0.250000 -5.374600 -7.000000 +v -0.176777 -5.374600 -6.823223 +v 0.000000 -5.374600 -6.750000 +v 0.176777 -5.374600 -6.823223 +v 0.250000 -5.374600 -7.000000 +v 0.176777 -5.374600 -7.176777 +v 0.000000 -5.874600 -7.250000 +v -0.176777 -5.874600 -7.176777 +v -0.250000 -5.874600 -7.000000 +v -0.176777 -5.874600 -6.823223 +v 0.000000 -5.874600 -6.750000 +v 0.176777 -5.874600 -6.823223 +v 0.250000 -5.874600 -7.000000 +v 0.176777 -5.874600 -7.176777 +v 0.000000 -6.749600 -7.000000 +v 0.108253 -6.687100 -7.000000 +v 0.108253 -6.562100 -7.000000 +v 0.000000 -6.499600 -7.000000 +v -0.108253 -6.562100 -7.000000 +v -0.108253 -6.687100 -7.000000 +v 0.000000 -6.665866 -7.312500 +v 0.108253 -6.611740 -7.281250 +v 0.108253 -6.503487 -7.218750 +v 0.000000 -6.449360 -7.187500 +v -0.108253 -6.503487 -7.218750 +v -0.108253 -6.611740 -7.281250 +v 0.000000 -6.437100 -7.541266 +v 0.108253 -6.405850 -7.487139 +v 0.108253 -6.343350 -7.378886 +v 0.000000 -6.312100 -7.324759 +v -0.108253 -6.343350 -7.378886 +v -0.108253 -6.405850 -7.487139 +v 0.000000 -6.124600 -7.625000 +v 0.108253 -6.124600 -7.562500 +v 0.108253 -6.124600 -7.437500 +v 0.000000 -6.124600 -7.375000 +v -0.108253 -6.124600 -7.437500 +v -0.108253 -6.124600 -7.562500 +v 0.000000 -5.812100 -7.541266 +v 0.108253 -5.843350 -7.487139 +v 0.108253 -5.905850 -7.378886 +v 0.000000 -5.937100 -7.324759 +v -0.108253 -5.905850 -7.378886 +v -0.108253 -5.843350 -7.487139 +v 0.000000 -5.583334 -7.312500 +v 0.108253 -5.637461 -7.281250 +v 0.108253 -5.745714 -7.218750 +v 0.000000 -5.799841 -7.187500 +v -0.108253 -5.745714 -7.218750 +v -0.108253 -5.637461 -7.281250 +v 0.000000 -5.499600 -7.000000 +v 0.108253 -5.562100 -7.000000 +v 0.108253 -5.687100 -7.000000 +v 0.000000 -5.749600 -7.000000 +v -0.108253 -5.687100 -7.000000 +v -0.108253 -5.562100 -7.000000 +v 0.000000 -5.583334 -6.687500 +v 0.108253 -5.637461 -6.718750 +v 0.108253 -5.745714 -6.781250 +v 0.000000 -5.799841 -6.812500 +v -0.108253 -5.745714 -6.781250 +v -0.108253 -5.637461 -6.718750 +v 0.000000 -5.812100 -6.458734 +v 0.108253 -5.843350 -6.512861 +v 0.108253 -5.905850 -6.621114 +v 0.000000 -5.937100 -6.675241 +v -0.108253 -5.905850 -6.621114 +v -0.108253 -5.843350 -6.512861 +v 0.000000 -6.124600 -6.375000 +v 0.108253 -6.124600 -6.437500 +v 0.108253 -6.124600 -6.562500 +v 0.000000 -6.124600 -6.625000 +v -0.108253 -6.124600 -6.562500 +v -0.108253 -6.124600 -6.437500 +v 0.000000 -6.437100 -6.458734 +v 0.108253 -6.405850 -6.512861 +v 0.108253 -6.343350 -6.621114 +v 0.000000 -6.312100 -6.675241 +v -0.108253 -6.343350 -6.621114 +v -0.108253 -6.405850 -6.512861 +v 0.000000 -6.665866 -6.687500 +v 0.108253 -6.611740 -6.718750 +v 0.108253 -6.503487 -6.781250 +v 0.000000 -6.449360 -6.812500 +v -0.108253 -6.503487 -6.781250 +v -0.108253 -6.611740 -6.718750 +v 0.250000 -0.999600 -0.625000 +v -0.250000 -0.999600 -0.625000 +v 0.250000 -1.499600 -1.375000 +v -0.250000 -1.499600 -1.375000 +v 0.250000 -3.249600 -2.375000 +v -0.250000 -3.249600 -2.375000 +v 0.250000 -2.499600 -1.625000 +v -0.250000 -2.499600 -1.625000 +v 0.250000 -3.249600 -3.375000 +v -0.250000 -3.249600 -3.375000 +v 0.250000 -2.124600 -4.375000 +v -0.250000 -2.124600 -4.375000 +v 0.250000 -2.999600 -3.875000 +v -0.250000 -2.999600 -3.875000 +v 0.250000 -1.749600 -4.875000 +v -0.250000 -1.749600 -4.875000 +v 0.250000 -0.999600 -2.125000 +v -0.250000 -0.999600 -2.125000 +v 0.250000 -1.499600 -1.500000 +v -0.250000 -1.499600 -1.500000 +v 0.250000 -2.499600 -1.750000 +v -0.250000 -2.499600 -1.750000 +v 0.250000 -3.124600 -2.375000 +v -0.250000 -3.124600 -2.375000 +v 0.250000 -3.124600 -3.375000 +v -0.250000 -3.124600 -3.375000 +v 0.250000 -2.874600 -3.875000 +v -0.250000 -2.874600 -3.875000 +v 0.250000 -2.124600 -4.250000 +v -0.250000 -2.124600 -4.250000 +v 0.250000 -1.499600 -3.875000 +v -0.250000 -1.499600 -3.875000 +v 0.250000 -1.124600 -3.375000 +v -0.250000 -1.124600 -3.375000 +v 0.250000 -1.374600 -4.375000 +v -0.250000 -1.374600 -4.375000 +v 0.250000 -0.999600 -2.250000 +v -0.250000 -0.999600 -2.250000 +v 0.250000 -1.124600 -2.250000 +v -0.250000 -1.124600 -2.250000 +v 0.250000 -1.124600 -3.250000 +v -0.250000 -1.124600 -3.250000 +v 0.250000 -1.249600 -3.250000 +v -0.250000 -1.249600 -3.250000 +v 0.250000 -1.499600 -3.000000 +v -0.250000 -1.499600 -3.000000 +v 0.250000 -1.499600 -2.875000 +v -0.250000 -1.499600 -2.875000 +v 0.250000 -1.874600 -3.250000 +v -0.250000 -1.874600 -3.250000 +v 0.250000 -1.874600 -3.125000 +v -0.250000 -1.874600 -3.125000 +v 0.250000 -2.624600 -3.250000 +v -0.250000 -2.624600 -3.250000 +v 0.250000 -2.624600 -3.125000 +v -0.250000 -2.624600 -3.125000 +v 0.250000 -2.999600 -3.000000 +v -0.250000 -2.999600 -3.000000 +v 0.250000 -2.999600 -2.875000 +v -0.250000 -2.999600 -2.875000 +v -0.125000 0.250400 -4.625000 +v -0.125000 0.750400 -4.125000 +v 0.125000 0.250400 -4.625000 +v 0.125000 0.750400 -4.125000 +v -0.125000 1.750400 -4.125000 +v 0.125000 1.750400 -4.125000 +v -0.125000 0.750400 -4.000000 +v 0.125000 0.750400 -4.000000 +v -0.125000 1.750400 -4.000000 +v 0.125000 1.750400 -4.000000 +v 0.125000 0.125400 -4.625000 +v -0.125000 0.125400 -4.625000 +v -0.125000 0.062900 -5.187500 +v 0.125000 -0.062100 -5.187500 +v -0.125000 -0.062100 -5.187500 +v 0.125000 0.062900 -5.187500 +v 0.000000 2.250000 -3.375000 +v -0.625000 2.082532 -3.375000 +v -1.082532 1.625000 -3.375000 +v -1.250000 1.000000 -3.375000 +v -1.082532 0.375000 -3.375000 +v -0.625000 -0.082532 -3.375000 +v 0.000000 -0.250000 -3.375000 +v 0.625000 -0.082532 -3.375000 +v 1.082531 0.375000 -3.375000 +v 1.250000 1.000000 -3.375000 +v 1.082532 1.624999 -3.375000 +v 0.625001 2.082531 -3.375000 +v -0.312500 1.541266 -3.808012 +v -0.541265 1.937500 -3.625000 +v -0.937500 0.458735 -3.625000 +v 0.000000 -0.082531 -3.625000 +v -1.082531 1.000000 -3.625000 +v -0.625000 1.000000 -3.808012 +v 0.000000 1.000000 -3.875000 +v 0.625000 1.000000 -3.808013 +v 1.082531 1.000000 -3.625000 +v 0.000000 0.375000 -3.808013 +v 0.000000 1.625000 -3.808012 +v 0.000000 2.082531 -3.625000 +v 0.312500 0.458734 -3.808013 +v 0.541265 0.062500 -3.625000 +v -0.541266 0.687500 -3.808013 +v 0.541266 1.312500 -3.808012 +v 0.937500 1.541265 -3.625000 +v 0.312500 1.541266 -3.808012 +v 0.541266 1.937500 -3.625000 +v -0.937500 1.541266 -3.625000 +v -0.312500 0.458734 -3.808013 +v -0.541266 0.062500 -3.625000 +v -0.541266 1.312500 -3.808013 +v 0.541266 0.687500 -3.808012 +v 0.937500 0.458734 -3.625000 +v 0.125000 1.750400 -4.125000 +v -0.125000 0.062900 -5.187500 +v 0.125000 0.062900 -5.187500 +v 0.250000 -0.999600 -2.125000 +v -0.250000 -0.999600 -2.125000 +v 0.250000 -1.499600 -1.500000 +v -0.250000 -1.499600 -1.500000 +v 0.250000 -2.499600 -1.750000 +v -0.250000 -2.499600 -1.750000 +v 0.250000 -3.124600 -2.375000 +v -0.250000 -3.124600 -2.375000 +v 0.250000 -3.124600 -3.375000 +v -0.250000 -3.124600 -3.375000 +v 0.250000 -2.874600 -3.875000 +v -0.250000 -2.874600 -3.875000 +v 0.250000 -2.124600 -4.250000 +v -0.250000 -2.124600 -4.250000 +v 0.250000 -1.499600 -3.875000 +v -0.250000 -1.499600 -3.875000 +v 0.250000 -1.124600 -3.375000 +v -0.250000 -1.124600 -3.375000 +v 0.250000 -0.999600 -0.625000 +v -0.250000 -0.999600 -0.625000 +v 0.250000 -1.499600 -1.375000 +v -0.250000 -1.499600 -1.375000 +v 0.250000 -3.249600 -2.375000 +v -0.250000 -3.249600 -2.375000 +v 0.250000 -2.499600 -1.625000 +v -0.250000 -2.499600 -1.625000 +v 0.250000 -3.249600 -3.375000 +v -0.250000 -3.249600 -3.375000 +v 0.250000 -2.124600 -4.375000 +v -0.250000 -2.124600 -4.375000 +v 0.250000 -2.999600 -3.875000 +v -0.250000 -2.999600 -3.875000 +v 0.250000 -1.749600 -4.875000 +v -0.250000 -1.749600 -4.875000 +v 0.250000 -0.999600 -2.250000 +v -0.250000 -0.999600 -2.250000 +v 0.250000 -1.124600 -2.250000 +v -0.250000 -1.124600 -2.250000 +v 0.250000 -1.499600 -2.875000 +v -0.250000 -1.499600 -2.875000 +v 0.250000 -1.874600 -3.125000 +v -0.250000 -1.874600 -3.125000 +v 0.250000 -2.624600 -3.125000 +v -0.250000 -2.624600 -3.125000 +v 0.250000 -2.999600 -2.875000 +v -0.250000 -2.999600 -2.875000 +v 0.250000 -1.124600 -3.250000 +v -0.250000 -1.124600 -3.250000 +v 0.250000 -1.249600 -3.250000 +v -0.250000 -1.249600 -3.250000 +v 0.250000 -1.499600 -3.000000 +v -0.250000 -1.499600 -3.000000 +v 0.250000 -1.874600 -3.250000 +v -0.250000 -1.874600 -3.250000 +v 0.250000 -2.624600 -3.250000 +v -0.250000 -2.624600 -3.250000 +v 0.250000 -2.999600 -3.000000 +v -0.250000 -2.999600 -3.000000 +v 0.250000 -2.999600 -2.875000 +v -0.250000 -2.999600 -2.875000 +v 0.375000 -0.249600 -0.750000 +v -0.375000 -0.249600 -0.750000 +v -0.375000 0.000400 -0.750000 +v 0.375000 0.000400 -0.750000 +v -0.375000 -0.749600 0.000000 +v 0.375000 -0.749600 0.000000 +v -0.375000 -0.649119 0.375000 +v 0.375000 -0.649119 0.375000 +v -0.375000 -0.374600 0.649519 +v 0.375000 -0.374600 0.649519 +v -0.375000 0.000400 0.750000 +v 0.375000 0.000400 0.750000 +v -0.375000 0.375400 0.649519 +v 0.375000 0.375400 0.649519 +v -0.375000 0.649919 0.375000 +v 0.375000 0.649919 0.375000 +v -0.375000 0.750400 0.000000 +v 0.375000 0.750400 0.000000 +v -0.375000 0.649919 -0.375000 +v 0.375000 0.649919 -0.375000 +v -0.375000 0.375401 -0.649519 +v 0.375000 0.375400 -0.649519 +v 0.000000 -5.874600 -7.250000 +v -0.176777 -5.874600 -7.176777 +v -0.250000 -5.874600 -7.000000 +v -0.176777 -5.874600 -6.823223 +v 0.000000 -5.874600 -6.750000 +v 0.176777 -5.874600 -6.823223 +v 0.250000 -5.874600 -7.000000 +v 0.176777 -5.874600 -7.176777 +vt 0.934680 0.880438 +vt 0.931495 0.899911 +vt 0.923804 0.891845 +vt 0.582523 0.542432 +vt 0.546218 0.595502 +vt 0.509914 0.436291 +vt 0.735294 0.393617 +vt 0.714286 0.414894 +vt 0.714286 0.393617 +vt 0.735294 0.436170 +vt 0.714286 0.436170 +vt 0.714286 0.372340 +vt 0.735294 0.414894 +vt 0.714286 0.393617 +vt 0.714286 0.414894 +vt 0.735294 0.372340 +vt 0.714286 0.372340 +vt 0.634454 0.457447 +vt 0.705882 0.414894 +vt 0.705882 0.436170 +vt 0.714286 0.255319 +vt 0.621849 0.191489 +vt 0.714286 0.191489 +vt 0.668067 0.000000 +vt 0.596639 0.063830 +vt 0.596639 -0.000000 +vt 0.592222 0.490252 +vt 0.601192 0.467541 +vt 0.613445 0.500594 +vt 0.592201 0.552331 +vt 0.588915 0.521276 +vt 0.613445 0.500574 +vt 0.588235 -0.000000 +vt 0.760504 0.063830 +vt 0.743697 0.000000 +vt 0.760504 0.000000 +vt 0.743697 0.063830 +vt 0.668067 0.063830 +vt 0.596639 0.191489 +vt 0.621849 0.191489 +vt 0.596639 0.148936 +vt 0.752101 0.234043 +vt 0.735294 0.276596 +vt 0.920106 0.839533 +vt 0.907815 0.860279 +vt 0.895524 0.839533 +vt 0.909863 0.860279 +vt 0.911912 0.901772 +vt 0.913960 0.901772 +vt 0.924203 0.932891 +vt 0.924203 0.927704 +vt 0.940590 0.932891 +vt 0.940590 0.927704 +vt 0.948784 0.922518 +vt 0.948784 0.917331 +vt 0.956978 0.886212 +vt 0.948784 0.860280 +vt 0.965172 0.870653 +vt 0.956978 0.855093 +vt 0.940591 0.844720 +vt 0.908984 0.898791 +vt 0.918921 0.926465 +vt 0.895073 0.911370 +vt 0.948730 0.923950 +vt 0.959164 0.903823 +vt 0.965623 0.923950 +vt 0.956183 0.934013 +vt 0.939291 0.934013 +vt 0.920404 0.919780 +vt 0.940291 0.936564 +vt 0.939463 0.942858 +vt 0.921233 0.913486 +vt 0.930348 0.907192 +vt 0.927862 0.905094 +vt 0.927862 0.884114 +vt 0.925376 0.882016 +vt 0.932834 0.846350 +vt 0.937806 0.829566 +vt 0.940292 0.831664 +vt 0.935589 0.833136 +vt 0.938209 0.853039 +vt 0.932968 0.833136 +vt 0.940829 0.853039 +vt 0.938209 0.892846 +vt 0.935589 0.912750 +vt 0.932968 0.912750 +vt 0.940829 0.926019 +vt 0.919867 0.932653 +vt 0.940829 0.932653 +vt 0.919867 0.939288 +vt 0.743697 0.468085 +vt 0.747899 0.489362 +vt 0.743697 0.489362 +vt 0.781513 0.457447 +vt 0.747899 0.468085 +vt 0.747899 0.457447 +vt 0.747899 0.500000 +vt 0.781513 0.489362 +vt 0.781513 0.500000 +vt 0.815126 0.457447 +vt 0.798319 0.468085 +vt 0.798319 0.457447 +vt 0.815126 0.500000 +vt 0.798319 0.489362 +vt 0.815126 0.489362 +vt 0.819328 0.489362 +vt 0.815126 0.468085 +vt 0.819328 0.468085 +vt 0.798319 0.500000 +vt 0.714286 0.191489 +vt 0.735294 0.276596 +vt 0.752101 0.234043 +vt 0.668067 0.127660 +vt 0.940838 0.879572 +vt 0.919857 0.892852 +vt 0.919857 0.879572 +vt 0.923804 0.880437 +vt 0.926989 0.872371 +vt 0.931495 0.872371 +vt 0.934680 0.891845 +vt 0.926989 0.899911 +vt 0.525258 0.581282 +vt 0.509914 0.542432 +vt 0.504297 0.489362 +vt 0.525258 0.397441 +vt 0.546218 0.383221 +vt 0.567179 0.397441 +vt 0.582523 0.436291 +vt 0.588140 0.489362 +vt 0.567179 0.581282 +vt 0.735294 0.414894 +vt 0.735294 0.372340 +vt 0.735294 0.393617 +vt 0.705882 0.457447 +vt 0.634454 0.393617 +vt 0.705882 0.393617 +vt 0.621849 0.255319 +vt 0.613445 0.459228 +vt 0.637952 0.500594 +vt 0.637952 0.521277 +vt 0.634669 0.552301 +vt 0.625699 0.575012 +vt 0.613445 0.583325 +vt 0.601192 0.575012 +vt 0.592222 0.552301 +vt 0.588939 0.521277 +vt 0.588915 0.500573 +vt 0.613445 0.459168 +vt 0.625711 0.467489 +vt 0.634689 0.490222 +vt 0.637976 0.521277 +vt 0.634689 0.552331 +vt 0.625710 0.575064 +vt 0.613445 0.583385 +vt 0.601180 0.575064 +vt 0.588235 0.063830 +vt 0.668067 0.127660 +vt 0.764706 0.127660 +vt 0.743697 0.095745 +vt 0.760504 0.063830 +vt 0.596639 0.127660 +vt 0.764706 0.127660 +vt 0.777311 0.212766 +vt 0.954930 0.886212 +vt 0.910972 0.900049 +vt 0.957177 0.902565 +vt 0.930348 0.844252 +vt 0.940829 0.892846 +vt 0.781513 0.468085 +vt 0.777311 0.212766 +vt 0.743697 0.095745 +vt 0.596639 0.191489 +vt 0.596639 0.148936 +vt 0.596639 0.127660 +vt 0.940838 0.892852 +vt 0.798319 0.393617 +vt 0.781513 0.414894 +vt 0.781513 0.393617 +vt 0.546219 0.702128 +vt 0.567179 0.702128 +vt 0.564371 0.728663 +vt 0.556699 0.748088 +vt 0.546219 0.755198 +vt 0.535738 0.748088 +vt 0.528066 0.728663 +vt 0.525258 0.702128 +vt 0.528066 0.675592 +vt 0.535738 0.656167 +vt 0.546219 0.649057 +vt 0.556699 0.656167 +vt 0.564371 0.675592 +vt 0.525258 0.794048 +vt 0.514778 0.748088 +vt 0.528066 0.781733 +vt 0.509914 0.702128 +vt 0.509914 0.755198 +vt 0.504297 0.702128 +vt 0.514778 0.656167 +vt 0.528066 0.622522 +vt 0.509914 0.649057 +vt 0.525258 0.610207 +vt 0.546219 0.595987 +vt 0.567179 0.610207 +vt 0.546219 0.610207 +vt 0.582523 0.649057 +vt 0.564371 0.622522 +vt 0.588140 0.702128 +vt 0.577659 0.656167 +vt 0.582523 0.755198 +vt 0.582523 0.702128 +vt 0.567179 0.794048 +vt 0.577659 0.748088 +vt 0.546219 0.808268 +vt 0.564371 0.781733 +vt 0.546219 0.794048 +vt 0.815126 0.436170 +vt 0.798319 0.457447 +vt 0.798319 0.436170 +vt 0.815126 0.414894 +vt 0.823529 0.393617 +vt 0.823529 0.457447 +vt 0.743697 0.436170 +vt 0.743697 0.414894 +vt 0.747899 0.436170 +vt 0.781513 0.457447 +vt 0.743697 0.457447 +vt 0.747899 0.414894 +vt 0.743697 0.393617 +vt 0.985219 0.872592 +vt 0.998667 0.899832 +vt 0.985219 0.899832 +vt 0.969536 0.872592 +vt 0.969536 0.899832 +vt 0.951493 0.872592 +vt 0.951493 0.899832 +vt 0.974790 0.500000 +vt 1.000000 0.340426 +vt 1.000000 0.500000 +vt 0.974790 0.585106 +vt 1.000000 0.585106 +vt 0.974790 0.340426 +vt 1.000000 0.127660 +vt 0.974790 0.127660 +vt 1.000000 0.063830 +vt 0.974790 0.063830 +vt 0.873950 0.000000 +vt 0.974790 0.000000 +vt 0.848740 0.063830 +vt 0.823529 0.170213 +vt 0.823529 0.063830 +vt 0.848740 0.372340 +vt 0.823529 0.372340 +vt 0.852941 0.436170 +vt 0.873950 0.500000 +vt 0.865546 0.521277 +vt 0.873950 0.170213 +vt 0.882353 0.085106 +vt 0.873950 0.063830 +vt 0.882353 0.170213 +vt 0.857143 0.372340 +vt 0.941176 0.340426 +vt 0.966387 0.085106 +vt 0.974790 0.063830 +vt 0.974790 0.127660 +vt 0.966387 0.127660 +vt 0.949580 0.340426 +vt 0.852941 0.436170 +vt 0.873950 0.500000 +vt 0.861345 0.436170 +vt 0.899160 0.521277 +vt 0.890756 0.500000 +vt 0.848740 0.372340 +vt 0.865546 0.521277 +vt 0.890756 0.500000 +vt 0.861345 0.436170 +vt 0.873950 0.170213 +vt 0.882353 0.085106 +vt 0.882353 0.170213 +vt 0.873950 0.063830 +vt 0.966387 0.085106 +vt 0.857143 0.372340 +vt 0.949580 0.340426 +vt 0.966387 0.127660 +vt 0.899160 0.521277 +vt 0.941176 0.340426 +vt 0.938253 0.871237 +vt 0.942758 0.901045 +vt 0.938253 0.901045 +vt 0.929242 0.871237 +vt 0.933747 0.901045 +vt 0.929242 0.901045 +vt 0.915726 0.871237 +vt 0.920231 0.901045 +vt 0.915726 0.901045 +vt 0.942758 0.871237 +vt 0.947263 0.901045 +vt 0.933747 0.871237 +vt 0.924737 0.871237 +vt 0.924737 0.901045 +vt 0.920231 0.871237 +vt 0.911221 0.871237 +vt 0.911221 0.901045 +vt 0.924858 0.844613 +vt 0.932902 0.852863 +vt 0.925788 0.852747 +vt 0.932088 0.860294 +vt 0.926546 0.860224 +vt 0.931393 0.867370 +vt 0.927334 0.867251 +vt 0.931232 0.905426 +vt 0.936772 0.905464 +vt 0.932013 0.912379 +vt 0.932773 0.919801 +vt 0.941314 0.916674 +vt 0.933711 0.927895 +vt 0.941340 0.855839 +vt 0.933698 0.844647 +vt 0.939032 0.861938 +vt 0.934877 0.872565 +vt 0.936721 0.891739 +vt 0.934716 0.900487 +vt 0.939499 0.893403 +vt 0.938901 0.910890 +vt 0.942419 0.895402 +vt 0.945733 0.875189 +vt 0.942533 0.877527 +vt 0.936866 0.867331 +vt 0.939599 0.879435 +vt 0.939470 0.879434 +vt 0.942423 0.877529 +vt 0.945644 0.897355 +vt 0.945687 0.897480 +vt 0.939552 0.893329 +vt 0.936796 0.891537 +vt 0.936854 0.881422 +vt 0.936659 0.881419 +vt 0.936793 0.867170 +vt 0.941296 0.855827 +vt 0.945613 0.875201 +vt 0.938835 0.910782 +vt 0.942461 0.895422 +vt 0.936735 0.905259 +vt 0.931373 0.867015 +vt 0.934781 0.872296 +vt 0.932081 0.860036 +vt 0.938974 0.861853 +vt 0.932908 0.852672 +vt 0.933563 0.927590 +vt 0.941215 0.916660 +vt 0.932644 0.919514 +vt 0.931891 0.912038 +vt 0.934710 0.900165 +vt 0.927378 0.866867 +vt 0.925840 0.852489 +vt 0.933720 0.844504 +vt 0.925584 0.919504 +vt 0.926374 0.912111 +vt 0.927031 0.905078 +vt 0.931107 0.904919 +vt 0.921813 0.866837 +vt 0.926593 0.859917 +vt 0.917274 0.855510 +vt 0.924917 0.844387 +vt 0.917183 0.916706 +vt 0.924813 0.927669 +vt 0.919467 0.910598 +vt 0.923576 0.900002 +vt 0.921828 0.880695 +vt 0.923880 0.871874 +vt 0.919033 0.878935 +vt 0.919683 0.861354 +vt 0.916099 0.876875 +vt 0.912751 0.897456 +vt 0.915948 0.895082 +vt 0.921610 0.905207 +vt 0.918879 0.893157 +vt 0.919006 0.892966 +vt 0.916053 0.894886 +vt 0.912853 0.874859 +vt 0.912751 0.875116 +vt 0.918920 0.879213 +vt 0.921625 0.891181 +vt 0.921781 0.890971 +vt 0.921742 0.905171 +vt 0.917244 0.916662 +vt 0.912840 0.897242 +vt 0.919597 0.861631 +vt 0.915993 0.877138 +vt 0.921726 0.867150 +vt 0.921700 0.881012 +vt 0.923754 0.899952 +vt 0.926506 0.912277 +vt 0.919562 0.910560 +vt 0.925686 0.919686 +vt 0.917188 0.855762 +vt 0.923787 0.872246 +vt 0.927216 0.905237 +vt 0.924888 0.927895 +vt 0.924921 0.817369 +vt 0.935774 0.842139 +vt 0.924921 0.842139 +vt 0.935774 0.883358 +vt 0.924921 0.883358 +vt 0.935774 0.908127 +vt 0.924921 0.908127 +vt 0.935775 0.948185 +vt 0.924921 0.948185 +vt 0.935775 0.955055 +vt 0.924921 0.955055 +vt 0.982186 0.872592 +vt 0.995635 0.899832 +vt 0.982186 0.899832 +vt 0.960502 0.872592 +vt 0.948474 0.872592 +vt 0.960502 0.899832 +vt 0.948474 0.899832 +vt 0.926957 0.872592 +vt 0.926956 0.899832 +vt 0.904134 0.872592 +vt 0.881955 0.899832 +vt 0.881955 0.872592 +vt 0.862560 0.899832 +vt 0.862560 0.872592 +vt 0.916934 0.861053 +vt 0.931341 0.843442 +vt 0.931838 0.838411 +vt 0.947240 0.853506 +vt 0.947737 0.848474 +vt 0.954692 0.863569 +vt 0.954196 0.868601 +vt 0.651260 0.255319 +vt 0.663866 0.319149 +vt 0.651260 0.319149 +vt 0.638655 0.255319 +vt 0.638655 0.319149 +vt 0.626050 0.319149 +vt 0.613445 0.255319 +vt 0.613445 0.319149 +vt 0.600840 0.255319 +vt 0.600840 0.319149 +vt 0.588235 0.255319 +vt 0.588235 0.319149 +vt 0.939465 0.872592 +vt 0.939465 0.899832 +vt 0.917947 0.872592 +vt 0.917947 0.899832 +vt 0.898929 0.872592 +vt 0.898929 0.899832 +vt 0.876750 0.872592 +vt 0.876750 0.899832 +vt 0.859528 0.872592 +vt 0.859528 0.899832 +vt 0.924921 0.944741 +vt 0.935775 0.937872 +vt 0.935775 0.944741 +vt 0.924921 0.937872 +vt 0.935775 0.918441 +vt 0.924921 0.918441 +vt 0.935775 0.893671 +vt 0.924921 0.893671 +vt 0.935775 0.852452 +vt 0.924921 0.852452 +vt 0.935774 0.827682 +vt 0.663866 0.255319 +vt 0.676471 0.319149 +vt 0.676471 0.255319 +vt 0.689076 0.319149 +vt 0.689076 0.255319 +vt 0.701681 0.319149 +vt 0.621849 0.255319 +vt 0.613445 0.191489 +vt 0.621849 0.191489 +vt 0.798319 0.414894 +vt 0.735294 0.436170 +vt 0.735294 0.414894 +vt 0.781513 0.436170 +vt 0.998667 0.872592 +vt 0.848740 0.170213 +vt 0.947263 0.871237 +vt 0.935774 0.817369 +vt 0.995635 0.872592 +vt 0.904134 0.899832 +vt 0.918921 0.862311 +vt 0.626050 0.255319 +vt 0.924921 0.827682 +vt 0.701681 0.255319 +vt 0.613445 0.255319 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.8000 0.6000 +vn 0.0000 -0.9864 0.1644 +vn 0.0000 0.8506 -0.5257 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.0000 -1.0000 +vn -0.2624 0.0000 -0.9649 +vn -0.2272 0.1312 -0.9649 +vn -0.1312 0.2272 -0.9649 +vn 0.0000 0.2624 -0.9649 +vn 0.1312 0.2272 -0.9649 +vn 0.2272 0.1312 -0.9649 +vn 0.2624 0.0000 -0.9649 +vn 0.2272 -0.1312 -0.9649 +vn 0.1312 -0.2272 -0.9649 +vn 0.0000 -0.2624 -0.9649 +vn -0.1312 -0.2272 -0.9649 +vn -0.2272 -0.1312 -0.9649 +vn 0.4154 0.7195 -0.5565 +vn 0.5690 0.3285 -0.7538 +vn 0.3285 0.5690 -0.7538 +vn 0.6571 0.0000 -0.7538 +vn 0.7195 0.4154 -0.5565 +vn 0.8308 0.0000 -0.5565 +vn 0.5690 -0.3285 -0.7538 +vn 0.3285 -0.5690 -0.7538 +vn 0.7195 -0.4154 -0.5565 +vn 0.4154 -0.7195 -0.5565 +vn 0.0000 -0.8308 -0.5565 +vn -0.4154 -0.7195 -0.5565 +vn 0.0000 -0.6571 -0.7538 +vn -0.7195 -0.4154 -0.5565 +vn -0.3285 -0.5690 -0.7538 +vn -0.8308 0.0000 -0.5565 +vn -0.5690 -0.3285 -0.7538 +vn -0.7195 0.4154 -0.5565 +vn -0.6571 0.0000 -0.7538 +vn -0.4154 0.7195 -0.5565 +vn -0.5690 0.3285 -0.7538 +vn 0.0000 0.8308 -0.5565 +vn -0.3285 0.5690 -0.7538 +vn 0.0000 0.6571 -0.7538 +vn 0.0000 0.9487 -0.3162 +vn 0.0000 -0.6697 0.7426 +vn 0.0000 -0.0384 0.9992 +vn 0.0000 0.7071 0.7071 +vn 0.3998 0.8007 -0.4460 +vn -0.3523 0.3839 -0.8535 +vn -0.3998 0.8007 -0.4460 +vn 0.7731 0.6107 0.1713 +vn -0.7731 0.6107 0.1713 +vn 0.3523 0.3839 -0.8535 +vn -0.3686 0.1318 -0.9202 +vn 0.3686 0.1318 -0.9202 +vn -0.3913 -0.6507 -0.6507 +vn 0.3913 -0.6507 -0.6507 +vn -0.3913 -0.6507 0.6507 +vn 0.3913 -0.6507 0.6507 +vn -0.3919 -0.1212 0.9120 +vn 0.5418 -0.3062 0.7827 +vn -0.5418 -0.3062 0.7827 +vn 0.9324 0.1009 0.3470 +vn 0.9109 0.3617 0.1984 +vn -0.9054 -0.3002 0.3002 +vn -0.9341 -0.0434 0.3543 +vn -0.9051 -0.0217 0.4246 +vn -0.8991 0.1963 -0.3913 +vn -0.9054 -0.3002 -0.3002 +vn -0.9098 0.0646 -0.4100 +vn -0.9324 0.1009 0.3470 +vn -0.9109 0.3617 0.1984 +vn -0.9043 0.1413 0.4028 +vn -0.9142 0.3796 -0.1418 +vn 0.9142 0.3796 -0.1418 +vn 0.9043 0.1413 0.4028 +vn 0.3919 -0.1212 0.9120 +vn 0.9054 -0.3002 0.3002 +vn 0.9341 -0.0434 0.3543 +vn 0.9054 -0.3002 -0.3002 +vn 0.9051 -0.0217 0.4246 +vn 0.9098 0.0646 -0.4100 +vn 0.8991 0.1963 -0.3913 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.8303 -0.4827 -0.2786 +vn 0.8303 -0.5573 0.0000 +vn 0.9016 0.3745 0.2162 +vn 0.9016 0.4324 0.0000 +vn 0.0000 0.8660 0.5000 +vn -0.9016 0.3745 0.2162 +vn -0.9016 0.4324 0.0000 +vn -0.8303 -0.5573 0.0000 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.5000 -0.8660 +vn 0.8303 -0.2786 -0.4827 +vn 0.0000 0.5000 0.8660 +vn -0.9016 0.2162 0.3745 +vn -0.8303 -0.4827 -0.2786 +vn -0.8303 -0.2786 -0.4827 +vn 0.8303 0.0000 -0.5573 +vn 0.9016 0.2162 0.3745 +vn 0.9016 0.0000 0.4324 +vn -0.9016 0.0000 0.4324 +vn -0.8303 0.0000 -0.5573 +vn 0.0000 0.5000 -0.8660 +vn 0.9016 -0.2162 0.3745 +vn 0.0000 -0.5000 0.8660 +vn -0.9016 -0.2162 0.3745 +vn 0.8303 0.4827 -0.2786 +vn 0.8303 0.2786 -0.4827 +vn 0.9016 -0.3745 0.2162 +vn 0.0000 -0.8660 0.5000 +vn -0.9016 -0.3745 0.2162 +vn -0.8303 0.2786 -0.4827 +vn -0.8303 0.4827 -0.2786 +vn 0.0000 0.8660 -0.5000 +vn 0.8303 0.5573 0.0000 +vn 0.9016 -0.4324 0.0000 +vn -0.8303 0.5573 0.0000 +vn 0.8303 0.4827 0.2786 +vn 0.9016 -0.3745 -0.2162 +vn -0.9016 -0.3745 -0.2162 +vn -0.9016 -0.4324 0.0000 +vn 0.8303 0.2786 0.4827 +vn -0.9016 -0.2162 -0.3745 +vn -0.8303 0.4827 0.2786 +vn -0.8303 0.2786 0.4827 +vn 0.8303 0.0000 0.5573 +vn 0.9016 -0.2162 -0.3745 +vn 0.9016 0.0000 -0.4324 +vn -0.9016 0.0000 -0.4324 +vn -0.8303 0.0000 0.5573 +vn 0.9016 0.2162 -0.3745 +vn -0.9016 0.2162 -0.3745 +vn 0.8303 -0.4827 0.2786 +vn 0.8303 -0.2786 0.4827 +vn 0.9016 0.3745 -0.2162 +vn -0.9016 0.3745 -0.2162 +vn -0.8303 -0.2786 0.4827 +vn -0.8303 -0.4827 0.2786 +vn 0.0000 0.5547 0.8320 +vn 0.0000 0.2898 0.9571 +vn 0.0000 -0.2898 0.9571 +vn 0.0000 -0.7237 0.6901 +vn 0.0000 -0.4927 0.8702 +vn 0.0000 -0.6618 -0.7497 +vn 0.0000 -0.8000 -0.6000 +vn 0.0000 -0.7264 -0.6872 +vn 0.0000 -0.9732 -0.2297 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.5760 0.8174 +vn 0.0000 -0.8320 0.5547 +vn 0.0000 -0.9659 0.2588 +vn 0.0000 0.9732 0.2297 +vn 0.0000 0.9239 -0.3827 +vn -0.5773 -0.5773 -0.5773 +vn 0.6302 0.2971 -0.7173 +vn 0.5773 -0.5773 -0.5773 +vn 0.0000 0.4927 -0.8702 +vn 0.0000 -0.3198 -0.9475 +vn 0.0000 -0.7808 -0.6247 +vn 0.5623 0.6708 0.4835 +vn -0.6589 0.6399 -0.3955 +vn -0.5623 0.6708 0.4835 +vn -0.6302 0.2971 -0.7173 +vn 0.6589 0.6399 -0.3955 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 -0.0985 -0.9951 +vn 0.0000 0.2898 -0.9571 +vn 0.0000 -0.2898 -0.9571 +vn 0.0000 -0.8816 -0.4718 +vn 0.0000 0.1305 -0.9914 +s off +f 948/642/79 946/643/79 944/644/79 +f 553/645/80 543/646/80 547/647/80 +f 582/648/81 576/649/81 574/650/81 +f 576/649/82 585/651/82 577/652/82 +f 572/653/82 582/648/82 574/650/82 +f 585/654/83 575/655/83 577/656/83 +f 575/655/82 581/657/82 573/658/82 +f 579/659/80 574/660/80 575/661/80 +f 579/662/82 586/663/82 578/664/82 +f 597/665/79 594/666/79 595/667/79 +f 607/668/81 605/669/81 601/670/81 +f 618/671/83 598/672/83 600/673/83 +f 594/666/80 602/674/80 595/667/80 +f 620/675/84 625/676/84 621/677/84 +f 597/665/85 624/678/85 596/679/85 +f 600/680/83 587/681/83 602/682/83 +f 578/664/81 590/683/81 592/684/81 +f 761/685/83 747/686/83 745/687/83 +f 763/688/83 751/689/83 747/686/83 +f 765/690/83 749/691/83 751/689/83 +f 767/692/83 753/693/83 749/691/83 +f 769/694/83 757/695/83 753/693/83 +f 771/696/83 755/697/83 757/695/83 +f 755/697/83 775/698/83 759/699/83 +f 779/700/83 775/698/83 777/701/83 +f 746/702/81 760/703/81 744/704/81 +f 774/705/81 754/706/81 758/707/81 +f 774/705/81 778/708/81 776/709/81 +f 785/710/83 783/711/83 781/712/83 +f 787/713/83 791/714/83 783/711/83 +f 789/715/83 795/716/83 791/714/83 +f 793/717/83 799/718/83 795/716/83 +f 799/718/83 801/719/83 803/720/83 +f 800/721/81 798/722/81 802/723/81 +f 796/724/81 794/725/81 798/722/81 +f 794/725/81 788/726/81 790/727/81 +f 786/728/81 790/727/81 788/726/81 +f 782/729/81 784/730/81 780/731/81 +f 809/732/79 812/733/79 808/734/79 +f 807/735/83 813/736/83 809/737/83 +f 808/738/81 810/739/81 805/740/81 +f 819/741/83 814/742/83 806/743/83 +f 816/744/81 815/745/81 818/746/81 +f 816/747/80 817/748/80 819/749/80 +f 805/740/81 815/745/81 804/750/81 +f 814/742/83 807/735/83 806/743/83 +f 579/751/83 593/752/83 591/753/83 +f 578/664/81 586/663/81 596/754/81 +f 916/755/79 919/756/79 917/757/79 +f 944/644/79 943/758/79 942/759/79 +f 942/759/79 949/760/79 948/642/79 +f 948/642/79 947/761/79 946/643/79 +f 946/643/79 945/762/79 944/644/79 +f 944/644/79 942/759/79 948/642/79 +f 543/646/80 544/763/80 545/764/80 +f 545/764/80 546/765/80 543/646/80 +f 546/765/80 547/647/80 543/646/80 +f 547/647/80 548/766/80 549/767/80 +f 549/767/80 550/768/80 551/769/80 +f 551/769/80 552/770/80 553/645/80 +f 553/645/80 554/771/80 543/646/80 +f 547/647/80 549/767/80 551/769/80 +f 551/769/80 553/645/80 547/647/80 +f 582/648/81 584/772/81 576/649/81 +f 576/649/82 584/772/82 585/651/82 +f 572/653/82 580/773/82 582/648/82 +f 585/654/83 583/774/83 575/655/83 +f 575/655/82 583/774/82 581/657/82 +f 575/661/80 573/775/80 579/659/80 +f 579/659/80 578/776/80 574/660/80 +f 578/776/80 572/777/80 574/660/80 +f 574/660/80 576/649/80 577/652/80 +f 574/660/80 577/652/80 575/661/80 +f 579/662/82 587/778/82 586/663/82 +f 597/665/79 596/679/79 594/666/79 +f 605/669/81 603/779/81 601/670/81 +f 601/670/81 586/780/81 599/781/81 +f 599/781/81 619/782/81 601/670/81 +f 619/782/81 617/783/81 601/670/81 +f 617/783/81 615/784/81 601/670/81 +f 615/784/81 613/785/81 601/670/81 +f 613/785/81 611/786/81 601/670/81 +f 611/786/81 609/787/81 601/670/81 +f 609/787/81 607/668/81 601/670/81 +f 598/672/83 587/788/83 600/673/83 +f 600/673/83 602/789/83 604/790/83 +f 604/790/83 606/791/83 600/673/83 +f 606/791/83 608/792/83 600/673/83 +f 608/792/83 610/793/83 600/673/83 +f 610/793/83 612/794/83 600/673/83 +f 612/794/83 614/795/83 600/673/83 +f 614/795/83 616/796/83 600/673/83 +f 616/796/83 618/671/83 600/673/83 +f 594/666/80 603/797/80 602/674/80 +f 620/675/84 624/678/84 625/676/84 +f 597/665/85 625/676/85 624/678/85 +f 587/681/83 579/751/83 597/798/83 +f 579/751/83 623/799/83 625/800/83 +f 597/798/83 579/751/83 625/800/83 +f 623/799/83 621/801/83 625/800/83 +f 597/798/83 595/802/83 587/681/83 +f 595/802/83 602/682/83 587/681/83 +f 580/773/81 572/653/81 592/684/81 +f 572/653/81 578/664/81 592/684/81 +f 578/664/81 622/803/81 590/683/81 +f 622/803/81 588/804/81 590/683/81 +f 761/685/83 763/688/83 747/686/83 +f 763/688/83 765/690/83 751/689/83 +f 765/690/83 767/692/83 749/691/83 +f 767/692/83 769/694/83 753/693/83 +f 769/694/83 771/696/83 757/695/83 +f 771/696/83 773/805/83 755/697/83 +f 755/697/83 773/805/83 775/698/83 +f 779/700/83 759/699/83 775/698/83 +f 746/702/81 762/806/81 760/703/81 +f 774/705/81 772/807/81 754/706/81 +f 774/705/81 758/707/81 778/708/81 +f 785/710/83 787/713/83 783/711/83 +f 787/713/83 789/715/83 791/714/83 +f 789/715/83 793/717/83 795/716/83 +f 793/717/83 797/808/83 799/718/83 +f 799/718/83 797/808/83 801/719/83 +f 800/721/81 796/724/81 798/722/81 +f 796/724/81 792/809/81 794/725/81 +f 794/725/81 792/809/81 788/726/81 +f 786/728/81 782/729/81 790/727/81 +f 782/729/81 786/728/81 784/730/81 +f 809/732/79 813/736/79 812/733/79 +f 807/735/83 811/810/83 813/736/83 +f 808/738/81 812/733/81 810/739/81 +f 819/741/83 817/748/83 814/742/83 +f 816/744/81 804/750/81 815/745/81 +f 816/747/80 818/746/80 817/748/80 +f 805/740/81 810/739/81 815/745/81 +f 814/742/83 811/810/83 807/735/83 +f 589/811/83 623/799/83 591/753/83 +f 623/799/83 579/751/83 591/753/83 +f 579/751/83 573/658/83 593/752/83 +f 573/658/83 581/657/83 593/752/83 +f 620/675/81 622/803/81 624/812/81 +f 622/803/81 578/664/81 624/812/81 +f 586/663/81 601/813/81 603/814/81 +f 603/814/81 594/815/81 586/663/81 +f 594/815/81 596/754/81 586/663/81 +f 596/754/81 624/812/81 578/664/81 +f 916/755/79 918/816/79 919/756/79 +s 1 +f 563/817/86 556/818/87 561/819/87 +f 838/820/88 837/821/89 854/822/90 +f 832/823/91 838/820/88 854/822/90 +f 842/824/92 838/820/88 832/823/91 +f 849/825/93 838/820/88 842/824/92 +f 847/826/94 838/820/88 849/825/93 +f 839/827/95 855/828/96 838/820/88 +f 844/829/97 838/820/88 855/828/96 +f 841/830/98 838/820/88 844/829/97 +f 852/831/99 838/820/88 841/830/98 +f 846/832/100 838/820/88 852/831/99 +f 837/821/89 838/820/88 846/832/100 +f 839/827/95 838/820/88 847/826/94 +f 831/833/101 848/834/102 850/835/103 +f 840/836/104 830/837/105 829/838/106 +f 829/838/106 856/839/107 840/836/104 +f 845/840/108 828/841/109 827/842/110 +f 826/843/111 845/840/108 827/842/110 +f 825/844/112 835/845/113 826/843/111 +f 824/846/114 853/847/115 825/844/112 +f 823/848/116 834/849/117 824/846/114 +f 822/850/118 836/851/119 823/848/116 +f 821/852/120 851/853/121 822/850/118 +f 820/854/122 833/855/123 821/852/120 +f 850/835/103 820/854/122 831/833/101 +f 847/826/94 850/835/103 848/834/102 +f 840/836/104 847/826/94 848/834/102 +f 840/836/104 855/828/96 839/827/95 +f 845/840/108 855/828/96 856/839/107 +f 845/840/108 841/830/98 844/829/97 +f 835/845/113 852/831/99 841/830/98 +f 846/832/100 853/847/115 834/849/117 +f 834/849/117 837/821/89 846/832/100 +f 836/851/119 854/822/90 837/821/89 +f 851/853/121 832/823/91 854/822/90 +f 843/856/124 832/823/91 833/855/123 +f 843/856/124 849/825/93 842/824/92 +f 858/857/125 562/858/86 559/859/86 +f 859/860/125 563/817/86 565/861/125 +f 564/862/125 859/860/125 565/861/125 +f 568/863/88 569/864/88 555/865/88 +f 555/865/88 560/866/87 570/867/88 +f 560/866/87 559/859/86 562/858/86 +f 561/819/87 857/868/88 571/869/88 +f 874/870/126 877/871/84 875/872/126 +f 872/873/127 875/872/126 873/874/127 +f 870/875/128 873/874/127 871/876/128 +f 626/877/129 629/878/130 627/879/131 +f 588/880/132 627/879/131 589/881/133 +f 628/882/134 631/883/135 629/878/130 +f 630/884/136 633/885/137 631/883/135 +f 632/886/138 635/887/139 633/888/137 +f 634/889/140 637/890/141 635/891/139 +f 637/890/141 620/892/142 621/893/143 +f 622/894/144 649/895/145 588/896/132 +f 637/897/141 645/898/146 635/899/139 +f 646/900/147 639/901/148 642/902/149 +f 635/899/139 644/903/150 633/904/137 +f 631/905/135 644/903/150 643/906/151 +f 629/907/130 643/906/151 642/902/149 +f 623/908/152 640/909/153 638/910/154 +f 627/911/131 642/902/149 641/912/155 +f 623/908/152 639/901/148 621/913/143 +f 627/911/131 640/909/153 589/914/133 +f 637/897/141 639/901/148 646/900/147 +f 650/915/156 649/895/145 648/916/157 +f 636/917/158 654/918/159 655/919/160 +f 632/886/138 654/918/159 634/920/140 +f 630/884/136 653/921/161 632/886/138 +f 636/917/158 647/922/162 620/892/142 +f 628/923/134 652/924/163 630/884/136 +f 626/925/129 651/926/164 628/923/134 +f 622/894/144 647/922/162 648/916/157 +f 588/896/132 650/915/156 626/925/129 +f 667/927/165 660/928/80 659/929/165 +f 665/930/166 658/931/83 657/932/166 +f 670/933/81 663/934/167 662/935/81 +f 668/936/80 661/937/168 660/928/80 +f 666/938/83 659/929/165 658/931/83 +f 664/939/88 657/932/166 656/940/88 +f 671/941/167 656/940/88 663/934/167 +f 669/942/168 662/935/81 661/943/168 +f 672/944/79 679/945/169 673/946/170 +f 673/946/170 680/947/171 674/948/172 +f 674/948/172 681/949/173 675/950/82 +f 675/951/82 682/952/174 676/953/175 +f 682/952/174 677/954/176 676/953/175 +f 677/954/176 678/955/177 672/956/79 +f 684/957/178 679/945/169 678/958/177 +f 685/959/179 680/947/171 679/945/169 +f 680/947/171 687/960/180 681/949/173 +f 687/961/180 682/952/174 681/962/173 +f 688/963/181 683/964/182 682/952/174 +f 689/965/183 678/955/177 683/964/182 +f 690/966/88 685/959/179 684/957/178 +f 691/967/184 686/968/185 685/959/179 +f 692/969/186 687/960/180 686/968/185 +f 687/961/180 694/970/187 688/963/181 +f 688/963/181 695/971/188 689/965/183 +f 695/971/188 684/972/178 689/965/183 +f 696/973/189 691/967/184 690/966/88 +f 691/967/184 698/974/190 692/969/186 +f 692/969/186 699/975/191 693/976/80 +f 693/977/80 700/978/192 694/970/187 +f 700/978/192 695/971/188 694/970/187 +f 695/971/188 696/979/189 690/980/88 +f 696/973/189 703/981/193 697/982/194 +f 703/981/193 698/974/190 697/982/194 +f 704/983/195 699/975/191 698/974/190 +f 705/984/196 700/978/192 699/985/191 +f 706/986/197 701/987/198 700/978/192 +f 707/988/199 696/979/189 701/987/198 +f 708/989/82 703/981/193 702/990/200 +f 709/991/201 704/983/195 703/981/193 +f 710/992/202 705/993/196 704/983/195 +f 711/994/79 706/986/197 705/984/196 +f 706/986/197 713/995/203 707/988/199 +f 713/995/203 702/996/200 707/988/199 +f 708/989/82 715/997/204 709/991/201 +f 709/991/201 716/998/205 710/992/202 +f 710/992/202 717/999/177 711/1000/79 +f 711/994/79 718/1001/206 712/1002/207 +f 718/1001/206 713/995/203 712/1002/207 +f 713/995/203 714/1003/173 708/1004/82 +f 720/1005/180 715/997/204 714/1006/173 +f 721/1007/208 716/998/205 715/997/204 +f 716/998/205 723/1008/178 717/999/177 +f 723/1009/178 718/1001/206 717/1010/177 +f 724/1011/209 719/1012/210 718/1001/206 +f 725/1013/211 714/1003/173 719/1012/210 +f 726/1014/80 721/1007/208 720/1005/180 +f 727/1015/212 722/1016/213 721/1007/208 +f 728/1017/214 723/1008/178 722/1016/213 +f 723/1009/178 730/1018/215 724/1011/209 +f 724/1011/209 731/1019/216 725/1013/211 +f 731/1019/216 720/1020/180 725/1013/211 +f 732/1021/191 727/1015/212 726/1014/80 +f 727/1015/212 734/1022/217 728/1017/214 +f 734/1022/217 729/1023/88 728/1017/214 +f 729/1024/88 736/1025/218 730/1018/215 +f 736/1025/218 731/1019/216 730/1018/215 +f 731/1019/216 732/1026/191 726/1027/80 +f 732/1021/191 739/1028/219 733/1029/220 +f 739/1028/219 734/1022/217 733/1029/220 +f 740/1030/221 735/1031/189 734/1022/217 +f 735/1032/189 742/1033/222 736/1025/218 +f 742/1033/222 737/1034/223 736/1025/218 +f 743/1035/224 732/1026/191 737/1034/223 +f 672/944/79 739/1028/219 738/1036/196 +f 673/946/170 740/1030/221 739/1028/219 +f 674/948/172 741/1037/200 740/1030/221 +f 675/951/82 742/1033/222 741/1038/200 +f 742/1033/222 677/954/176 743/1035/224 +f 677/954/176 738/1039/196 743/1035/224 +f 905/1040/225 902/1041/226 903/1042/226 +f 903/1042/226 900/1043/227 901/1044/227 +f 901/1044/227 898/1045/228 899/1046/228 +f 899/1046/228 896/1047/229 897/1048/229 +f 897/1048/229 894/1049/80 895/1050/80 +f 889/1051/230 892/1052/231 888/1053/230 +f 888/1053/230 891/1054/232 889/1051/230 +f 887/1055/233 890/1056/232 886/1057/233 +f 883/1058/234 886/1057/233 882/1059/234 +f 885/1060/229 880/1061/235 881/1062/235 +f 882/1059/234 885/1060/229 883/1058/234 +f 881/1062/235 878/1063/236 879/1064/236 +f 750/1065/81 762/806/81 746/702/81 +f 766/1066/81 750/1065/81 748/1067/81 +f 768/1068/81 748/1067/81 752/1069/81 +f 756/1070/81 768/1068/81 752/1069/81 +f 754/706/81 770/1071/81 756/1070/81 +f 935/1072/173 936/1073/82 934/1074/173 +f 933/1075/180 934/1074/173 932/1076/180 +f 930/1077/80 933/1075/180 932/1076/180 +f 929/1078/191 930/1077/80 928/1079/191 +f 927/1080/196 928/1079/191 926/1081/196 +f 925/1082/237 926/1081/196 924/1083/237 +f 868/1084/238 871/876/128 869/1085/238 +f 866/1086/239 869/1085/238 867/1087/239 +f 813/736/240 810/739/241 812/733/242 +f 864/1088/243 867/1087/239 865/1089/243 +f 862/1090/244 865/1089/243 863/1091/244 +f 860/1092/245 863/1091/244 861/1093/245 +f 818/746/246 814/742/247 817/748/248 +f 811/810/249 815/745/250 810/739/241 +f 906/1094/88 909/1095/251 907/1096/88 +f 908/1097/251 911/1098/252 909/1095/251 +f 910/1099/252 913/1100/253 911/1098/252 +f 912/1101/253 915/1102/254 913/1100/253 +f 914/1103/254 917/1104/255 915/1102/254 +f 937/1105/82 938/1106/200 936/1073/82 +f 939/1107/200 940/1108/189 938/1106/200 +f 941/1109/189 922/1110/256 940/1108/189 +f 921/1111/88 923/1112/256 920/1113/88 +f 563/817/86 557/1114/86 556/818/87 +f 831/833/101 830/837/105 848/834/102 +f 840/836/104 848/834/102 830/837/105 +f 829/838/106 828/841/109 856/839/107 +f 845/840/108 856/839/107 828/841/109 +f 826/843/111 835/845/113 845/840/108 +f 825/844/112 853/847/115 835/845/113 +f 824/846/114 834/849/117 853/847/115 +f 823/848/116 836/851/119 834/849/117 +f 822/850/118 851/853/121 836/851/119 +f 821/852/120 833/855/123 851/853/121 +f 820/854/122 843/856/124 833/855/123 +f 850/835/103 843/856/124 820/854/122 +f 847/826/94 849/825/93 850/835/103 +f 840/836/104 839/827/95 847/826/94 +f 840/836/104 856/839/107 855/828/96 +f 845/840/108 844/829/97 855/828/96 +f 845/840/108 835/845/113 841/830/98 +f 835/845/113 853/847/115 852/831/99 +f 846/832/100 852/831/99 853/847/115 +f 834/849/117 836/851/119 837/821/89 +f 836/851/119 851/853/121 854/822/90 +f 851/853/121 833/855/123 832/823/91 +f 843/856/124 842/824/92 832/823/91 +f 843/856/124 850/835/103 849/825/93 +f 858/857/125 564/862/125 562/858/86 +f 859/860/125 557/1114/86 563/817/86 +f 564/862/125 858/857/125 859/860/125 +f 568/863/88 566/1115/88 567/1116/88 +f 569/864/88 571/869/88 857/868/88 +f 568/863/88 567/1116/88 569/864/88 +f 555/865/88 570/867/88 568/863/88 +f 569/864/88 857/868/88 555/865/88 +f 555/865/88 558/1117/87 560/866/87 +f 560/866/87 558/1117/87 559/859/86 +f 561/819/87 556/818/87 857/868/88 +f 874/870/126 876/1118/84 877/871/84 +f 872/873/127 874/870/126 875/872/126 +f 870/875/128 872/873/127 873/874/127 +f 626/877/129 628/882/134 629/878/130 +f 588/880/132 626/877/129 627/879/131 +f 628/882/134 630/884/136 631/883/135 +f 630/884/136 632/886/138 633/885/137 +f 632/886/138 634/920/140 635/887/139 +f 634/889/140 636/1119/158 637/890/141 +f 637/890/141 636/1119/158 620/892/142 +f 622/894/144 648/916/157 649/895/145 +f 637/897/141 646/900/147 645/898/146 +f 639/901/148 638/910/154 642/902/149 +f 638/910/154 640/909/153 641/912/155 +f 641/912/155 642/902/149 638/910/154 +f 642/902/149 643/906/151 646/900/147 +f 643/906/151 644/903/150 645/898/146 +f 646/900/147 643/906/151 645/898/146 +f 635/899/139 645/898/146 644/903/150 +f 631/905/135 633/904/137 644/903/150 +f 629/907/130 631/905/135 643/906/151 +f 623/908/152 589/914/133 640/909/153 +f 627/911/131 629/907/130 642/902/149 +f 623/908/152 638/910/154 639/901/148 +f 627/911/131 641/912/155 640/909/153 +f 637/897/141 621/913/143 639/901/148 +f 648/916/157 647/922/162 651/926/164 +f 647/922/162 655/919/160 651/926/164 +f 655/919/160 654/918/159 652/924/163 +f 654/918/159 653/921/161 652/924/163 +f 652/924/163 651/926/164 655/919/160 +f 651/926/164 650/915/156 648/916/157 +f 636/917/158 634/920/140 654/918/159 +f 632/886/138 653/921/161 654/918/159 +f 630/884/136 652/924/163 653/921/161 +f 636/917/158 655/919/160 647/922/162 +f 628/923/134 651/926/164 652/924/163 +f 626/925/129 650/915/156 651/926/164 +f 622/894/144 620/892/142 647/922/162 +f 588/896/132 649/895/145 650/915/156 +f 667/927/165 668/936/80 660/928/80 +f 665/930/166 666/938/83 658/931/83 +f 670/933/81 671/941/167 663/934/167 +f 668/936/80 669/1120/168 661/937/168 +f 666/938/83 667/927/165 659/929/165 +f 664/939/88 665/930/166 657/932/166 +f 671/941/167 664/939/88 656/940/88 +f 669/942/168 670/933/81 662/935/81 +f 672/944/79 678/958/177 679/945/169 +f 673/946/170 679/945/169 680/947/171 +f 674/948/172 680/947/171 681/949/173 +f 675/951/82 681/962/173 682/952/174 +f 682/952/174 683/964/182 677/954/176 +f 677/954/176 683/964/182 678/955/177 +f 684/957/178 685/959/179 679/945/169 +f 685/959/179 686/968/185 680/947/171 +f 680/947/171 686/968/185 687/960/180 +f 687/961/180 688/963/181 682/952/174 +f 688/963/181 689/965/183 683/964/182 +f 689/965/183 684/972/178 678/955/177 +f 690/966/88 691/967/184 685/959/179 +f 691/967/184 692/969/186 686/968/185 +f 692/969/186 693/976/80 687/960/180 +f 687/961/180 693/977/80 694/970/187 +f 688/963/181 694/970/187 695/971/188 +f 695/971/188 690/980/88 684/972/178 +f 696/973/189 697/982/194 691/967/184 +f 691/967/184 697/982/194 698/974/190 +f 692/969/186 698/974/190 699/975/191 +f 693/977/80 699/985/191 700/978/192 +f 700/978/192 701/987/198 695/971/188 +f 695/971/188 701/987/198 696/979/189 +f 696/973/189 702/990/200 703/981/193 +f 703/981/193 704/983/195 698/974/190 +f 704/983/195 705/993/196 699/975/191 +f 705/984/196 706/986/197 700/978/192 +f 706/986/197 707/988/199 701/987/198 +f 707/988/199 702/996/200 696/979/189 +f 708/989/82 709/991/201 703/981/193 +f 709/991/201 710/992/202 704/983/195 +f 710/992/202 711/1000/79 705/993/196 +f 711/994/79 712/1002/207 706/986/197 +f 706/986/197 712/1002/207 713/995/203 +f 713/995/203 708/1004/82 702/996/200 +f 708/989/82 714/1006/173 715/997/204 +f 709/991/201 715/997/204 716/998/205 +f 710/992/202 716/998/205 717/999/177 +f 711/994/79 717/1010/177 718/1001/206 +f 718/1001/206 719/1012/210 713/995/203 +f 713/995/203 719/1012/210 714/1003/173 +f 720/1005/180 721/1007/208 715/997/204 +f 721/1007/208 722/1016/213 716/998/205 +f 716/998/205 722/1016/213 723/1008/178 +f 723/1009/178 724/1011/209 718/1001/206 +f 724/1011/209 725/1013/211 719/1012/210 +f 725/1013/211 720/1020/180 714/1003/173 +f 726/1014/80 727/1015/212 721/1007/208 +f 727/1015/212 728/1017/214 722/1016/213 +f 728/1017/214 729/1023/88 723/1008/178 +f 723/1009/178 729/1024/88 730/1018/215 +f 724/1011/209 730/1018/215 731/1019/216 +f 731/1019/216 726/1027/80 720/1020/180 +f 732/1021/191 733/1029/220 727/1015/212 +f 727/1015/212 733/1029/220 734/1022/217 +f 734/1022/217 735/1031/189 729/1023/88 +f 729/1024/88 735/1032/189 736/1025/218 +f 736/1025/218 737/1034/223 731/1019/216 +f 731/1019/216 737/1034/223 732/1026/191 +f 732/1021/191 738/1036/196 739/1028/219 +f 739/1028/219 740/1030/221 734/1022/217 +f 740/1030/221 741/1037/200 735/1031/189 +f 735/1032/189 741/1038/200 742/1033/222 +f 742/1033/222 743/1035/224 737/1034/223 +f 743/1035/224 738/1039/196 732/1026/191 +f 672/944/79 673/946/170 739/1028/219 +f 673/946/170 674/948/172 740/1030/221 +f 674/948/172 675/950/82 741/1037/200 +f 675/951/82 676/953/175 742/1033/222 +f 742/1033/222 676/953/175 677/954/176 +f 677/954/176 672/956/79 738/1039/196 +f 905/1040/225 904/1121/225 902/1041/226 +f 903/1042/226 902/1041/226 900/1043/227 +f 901/1044/227 900/1043/227 898/1045/228 +f 899/1046/228 898/1045/228 896/1047/229 +f 897/1048/229 896/1047/229 894/1049/80 +f 889/1051/230 893/1122/231 892/1052/231 +f 888/1053/230 890/1056/232 891/1054/232 +f 887/1055/233 891/1054/232 890/1056/232 +f 883/1058/234 887/1055/233 886/1057/233 +f 885/1060/229 884/1123/229 880/1061/235 +f 882/1059/234 884/1123/229 885/1060/229 +f 881/1062/235 880/1061/235 878/1063/236 +f 750/1065/81 764/1124/81 762/806/81 +f 766/1066/81 764/1124/81 750/1065/81 +f 768/1068/81 766/1066/81 748/1067/81 +f 756/1070/81 770/1071/81 768/1068/81 +f 754/706/81 772/807/81 770/1071/81 +f 935/1072/173 937/1105/82 936/1073/82 +f 933/1075/180 935/1072/173 934/1074/173 +f 930/1077/80 931/1125/80 933/1075/180 +f 929/1078/191 931/1125/80 930/1077/80 +f 927/1080/196 929/1078/191 928/1079/191 +f 925/1082/237 927/1080/196 926/1081/196 +f 868/1084/238 870/875/128 871/876/128 +f 866/1086/239 868/1084/238 869/1085/238 +f 813/736/240 811/810/249 810/739/241 +f 864/1088/243 866/1086/239 867/1087/239 +f 862/1090/244 864/1088/243 865/1089/243 +f 860/1092/245 862/1090/244 863/1091/244 +f 818/746/246 815/745/250 814/742/247 +f 811/810/249 814/742/247 815/745/250 +f 906/1094/88 908/1097/251 909/1095/251 +f 908/1097/251 910/1099/252 911/1098/252 +f 910/1099/252 912/1101/253 913/1100/253 +f 912/1101/253 914/1103/254 915/1102/254 +f 914/1103/254 916/1126/255 917/1104/255 +f 937/1105/82 939/1107/200 938/1106/200 +f 939/1107/200 941/1109/189 940/1108/189 +f 941/1109/189 923/1127/256 922/1110/256 +f 921/1111/88 922/1128/256 923/1112/256 diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index 26f12b89f..cb6d4f4b3 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -42,6 +42,8 @@ "block.crateClose": {"category": "block", "sounds": [{"name": "block/crateClose", "stream": false}]}, "block.storageOpen": {"category": "block", "sounds": [{"name": "block/storageOpen", "stream": false}]}, "block.storageClose": {"category": "block", "sounds": [{"name": "block/storageClose", "stream": false}]}, + "block.openC": {"category": "block", "sounds": ["block/openC1", "block/openC2", "block/openCSqueaky"]}, + "block.closeC": {"category": "block", "sounds": ["block/closeC1", "block/closeC2", "block/closeC3"]}, "door.TransitionSealOpen": {"category": "block", "sounds": [{"name": "block/door/transition_seal_open", "stream": true}]}, @@ -157,6 +159,7 @@ "weapon.extinguisher": {"category": "player", "sounds": [{"name": "weapon/extinguisher", "stream": false}]}, "weapon.robin_explosion": {"category": "player", "sounds": [{"name": "weapon/robin_explosion", "stream": false}]}, "weapon.shotgunPump": {"category": "player", "sounds": [{"name": "weapon/shotgunShootPump", "stream": false}]}, + "weapon.explosionMedium": {"category": "player", "sounds": [{"name": "weapon/explosion_medium", "stream": false}]}, "weapon.dFlash": {"category": "player", "sounds": [{"name": "weapon/dFlash", "stream": false}]}, diff --git a/src/main/resources/assets/hbm/sounds/block/closeC1.ogg b/src/main/resources/assets/hbm/sounds/block/closeC1.ogg new file mode 100644 index 000000000..5a3508689 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/closeC1.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/closeC2.ogg b/src/main/resources/assets/hbm/sounds/block/closeC2.ogg new file mode 100644 index 000000000..16b0d0035 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/closeC2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/closeC3.ogg b/src/main/resources/assets/hbm/sounds/block/closeC3.ogg new file mode 100644 index 000000000..60a79c215 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/closeC3.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/openC1.ogg b/src/main/resources/assets/hbm/sounds/block/openC1.ogg new file mode 100644 index 000000000..755263e3d Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/openC1.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/openC2.ogg b/src/main/resources/assets/hbm/sounds/block/openC2.ogg new file mode 100644 index 000000000..e85591c59 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/openC2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/openCSqueaky.ogg b/src/main/resources/assets/hbm/sounds/block/openCSqueaky.ogg new file mode 100644 index 000000000..72b16728b Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/openCSqueaky.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/explosion_medium.ogg b/src/main/resources/assets/hbm/sounds/weapon/explosion_medium.ogg new file mode 100644 index 000000000..60bff3b54 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/explosion_medium.ogg differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_tar.png b/src/main/resources/assets/hbm/textures/blocks/block_tar.png new file mode 100644 index 000000000..b39ce7232 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/block_tar.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/deep_cobble_burning.png b/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.burning.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/deep_cobble_burning.png rename to src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.burning.png diff --git a/src/main/resources/assets/hbm/textures/blocks/deep_cobble.png b/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.normal.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/deep_cobble.png rename to src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.normal.png diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.steaming.png b/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.steaming.png new file mode 100644 index 000000000..1b8ec5496 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.steaming.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_arty_mini_nuke_multi.png b/src/main/resources/assets/hbm/textures/items/ammo_arty_mini_nuke_multi.png new file mode 100644 index 000000000..5f84d965f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_arty_mini_nuke_multi.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_arty_phosphorus_multi.png b/src/main/resources/assets/hbm/textures/items/ammo_arty_phosphorus_multi.png new file mode 100644 index 000000000..01c9c9f67 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_arty_phosphorus_multi.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/bio_revolver.png b/src/main/resources/assets/hbm/textures/models/weapons/bio_revolver.png new file mode 100644 index 000000000..03122ca35 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/bio_revolver.png differ