FILES ----- terrestrial_worlds.config weather.config biomes\surface\tundra.biome biomes\surface_detached\prism.biome biomes\surface_detached\steamspring.biome [NEW] dungeons\microdungeons\biomes\prism\prismcavewithchest1.json [NEW] dungeons\microdungeons\biomes\prism\prismcrystalsabovepool1.json [NEW] dungeons\microdungeons\biomes\prism\prismhillterrain1.json [NEW] dungeons\microdungeons\biomes\prism\prismhillterrain2.json [NEW] dungeons\microdungeons\biomes\prism\prismhillterrain3.json [NEW] dungeons\microdungeons\biomes\prism\prismhillterrain4.json [NEW] dungeons\microdungeons\biomes\prism\prismhillterrain5.json [NEW] dungeons\microdungeons\biomes\prism\prismhillterrainpool1.json [NEW] dungeons\microdungeons\biomes\prism\prismmicrodungeons.dungeon [NEW] dungeons\microdungeons\biomes\prism\prismpitwithchest1.json [NEW] dungeons\microdungeons\biomes\prism\prismshallowpoolwithcritter1.json [NEW] dungeons\microdungeons\biomes\prism\prismshallowpoolwithcritterandchest1.json [NEW] dungeons\microdungeons\biomes\prism\prismsmalloverhang1.json [NEW] dungeons\microdungeons\biomes\prism\prismsteps1.json [NEW] dungeons\microdungeons\biomes\prism\prismwidetunnel1.json [NEW] dungeons\microdungeons\underground\openbackslopetemplate.json [NEW] dungeons\microdungeons\underground\openforwardslopetemplate.json dungeons\microdungeons\underground\openmediumtemplate.json dungeons\microdungeons\underground\tunnelmediumtemplate.json dungeons\microdungeons\underground\undergroundmicrodungeons.dungeon items\active\weapons\weapon.lua [NEW] items\active\weapons\melee\altabilities\broadsword\bladecharge\bladecharge.altability [NEW] items\active\weapons\melee\altabilities\broadsword\bladecharge\bladecharge.lua items\active\weapons\melee\broadsword\broadsword.animation items\active\weapons\melee\broadsword\broadsword.lua items\active\weapons\melee\broadsword\commonbroadsword.activeitem items\active\weapons\ranged\gun.animation items\active\weapons\ranged\gun.lua items\active\weapons\ranged\altabilities\altfire.lua [NEW] items\active\weapons\ranged\altabilities\bouncingshot\bouncingshot.altability items\active\weapons\ranged\altabilities\explosiveburst\explosiveburst.lua items\active\weapons\ranged\assaultrifle\commonassaultrifle.activeitem items\active\weapons\ranged\assaultrifle\rareassaultrifle.activeitem items\active\weapons\ranged\assaultrifle\uncommonassaultrifle.activeitem items\active\weapons\ranged\grenadelauncher\commongrenadelauncher.activeitem items\active\weapons\ranged\grenadelauncher\raregrenadelauncher.activeitem items\active\weapons\ranged\grenadelauncher\uncommongrenadelauncher.activeitem items\active\weapons\ranged\machinepistol\commonmachinepistol.activeitem items\active\weapons\ranged\machinepistol\raremachinepistol.activeitem items\active\weapons\ranged\machinepistol\uncommonmachinepistol.activeitem items\active\weapons\ranged\pistol\commonpistol.activeitem items\active\weapons\ranged\pistol\rarepistol.activeitem items\active\weapons\ranged\pistol\uncommonpistol.activeitem items\active\weapons\ranged\rocketlauncher\commonrocketlauncher.activeitem items\active\weapons\ranged\rocketlauncher\rarerocketlauncher.activeitem items\active\weapons\ranged\rocketlauncher\uncommonrocketlauncher.activeitem items\active\weapons\ranged\shotgun\commonshotgun.activeitem items\active\weapons\ranged\shotgun\rareshotgun.activeitem items\active\weapons\ranged\shotgun\uncommonshotgun.activeitem items\active\weapons\ranged\sniperrifle\commonsniperrifle.activeitem items\active\weapons\ranged\sniperrifle\raresniperrifle.activeitem items\active\weapons\ranged\sniperrifle\uncommonsniperrifle.activeitem items\active\weapons\ranged\sniperrifle\barrel\9.png [NEW] items\armors\biome\prism\bsleeve.png [NEW] items\armors\biome\prism\chestf.png [NEW] items\armors\biome\prism\chestm.png [NEW] items\armors\biome\prism\fsleeve.png [NEW] items\armors\biome\prism\head.png [NEW] items\armors\biome\prism\icons.png [NEW] items\armors\biome\prism\mask.png [NEW] items\armors\biome\prism\pants.png [NEW] items\armors\biome\prism\prism.chest [NEW] items\armors\biome\prism\prism.head [NEW] items\armors\biome\prism\prism.legs items\buildscripts\buildweapon.lua items\generic\crafting\prisiliteore.item items\materials\bars.matitem items\materials\copperwindow.matitem items\materials\crosshatch.matitem items\materials\glass.matitem items\materials\heavyironbars.matitem items\materials\woodenwindow1.matitem items\materials\woodenwindow2.matitem npcs\merchantpools.config [NEW] npcs\subbiometenants\prism.npctype objects\biome\colourful\rainbowdoor\rainbowdoor.object [NEW] objects\biome\frozen\frozenmistprimer\capsulebigicon.png [NEW] objects\biome\frozen\frozenmistprimer\frozenmistprimer.frames [NEW] objects\biome\frozen\frozenmistprimer\frozenmistprimer.object [NEW] objects\biome\frozen\frozenmistprimer\frozenmistprimer.png objects\biome\prism\prismbed\prismbed.object objects\biome\prism\prismchair\prismchair.object [NEW] objects\biome\prism\prismdoor\prismdoor.frames [NEW] objects\biome\prism\prismdoor\prismdoor.object [NEW] objects\biome\prism\prismdoor\prismdoor.png [NEW] objects\biome\prism\prismdoor\prismdooricon.png [NEW] objects\biome\prism\prismdoor\prismdoor_notrans.png [NEW] objects\biome\prism\prismlamp1\prismlamp1.frames [NEW] objects\biome\prism\prismlamp1\prismlamp1.object [NEW] objects\biome\prism\prismlamp1\prismlamp1.png [NEW] objects\biome\prism\prismlamp1\prismlamp1icon.png [NEW] objects\biome\prism\prismlamp2\prismlamp2.frames [NEW] objects\biome\prism\prismlamp2\prismlamp2.object [NEW] objects\biome\prism\prismlamp2\prismlamp2.png [NEW] objects\biome\prism\prismlamp2\prismlamp2icon.png [NEW] objects\biome\prism\prismlamp3\prismlamp3.frames [NEW] objects\biome\prism\prismlamp3\prismlamp3.object [NEW] objects\biome\prism\prismlamp3\prismlamp3.png [NEW] objects\biome\prism\prismlamp3\prismlamp3icon.png objects\biome\prism\prismrock1\prismrock1.object objects\biome\prism\prismrock2\prismrock2.object objects\biome\prism\prismrock3\prismrock3.object objects\biome\prism\prismrock4\prismrock4.animation objects\biome\prism\prismrock4\prismrock4.object objects\biome\prism\prismrock4\prismrock4icon.png [NEW] objects\biome\prism\prismrock5\prismrock5.animation [NEW] objects\biome\prism\prismrock5\prismrock5.frames [NEW] objects\biome\prism\prismrock5\prismrock5.object [NEW] objects\biome\prism\prismrock5\prismrock5.png [NEW] objects\biome\prism\prismrock5\prismrock5icon.png [NEW] objects\biome\prism\prismrock6\prismrock6.animation [NEW] objects\biome\prism\prismrock6\prismrock6.frames [NEW] objects\biome\prism\prismrock6\prismrock6.object [NEW] objects\biome\prism\prismrock6\prismrock6.png [NEW] objects\biome\prism\prismrock6\prismrock6icon.png [NEW] objects\biome\prism\prismrock7\prismrock7.animation [NEW] objects\biome\prism\prismrock7\prismrock7.frames [NEW] objects\biome\prism\prismrock7\prismrock7.object [NEW] objects\biome\prism\prismrock7\prismrock7.png [NEW] objects\biome\prism\prismrock7\prismrock7icon.png [NEW] objects\biome\prism\prismrock8\prismrock8.animation [NEW] objects\biome\prism\prismrock8\prismrock8.frames [NEW] objects\biome\prism\prismrock8\prismrock8.object [NEW] objects\biome\prism\prismrock8\prismrock8.png [NEW] objects\biome\prism\prismrock8\prismrock8icon.png [NEW] objects\biome\prism\prismrockhumanoid\prismrockhumanoid.animation [NEW] objects\biome\prism\prismrockhumanoid\prismrockhumanoid.frames [NEW] objects\biome\prism\prismrockhumanoid\prismrockhumanoid.object [NEW] objects\biome\prism\prismrockhumanoid\prismrockhumanoid.png [NEW] objects\biome\prism\prismrockhumanoid\prismrockhumanoidicon.png [NEW] objects\biome\prism\prismrockpenguin\prismrockpenguin.animation [NEW] objects\biome\prism\prismrockpenguin\prismrockpenguin.frames [NEW] objects\biome\prism\prismrockpenguin\prismrockpenguin.object [NEW] objects\biome\prism\prismrockpenguin\prismrockpenguin.png [NEW] objects\biome\prism\prismrockpenguin\prismrockpenguinicon.png [NEW] objects\biome\prism\prismrockrunes\prismrockrunes.animation [NEW] objects\biome\prism\prismrockrunes\prismrockrunes.frames [NEW] objects\biome\prism\prismrockrunes\prismrockrunes.object [NEW] objects\biome\prism\prismrockrunes\prismrockrunes.png [NEW] objects\biome\prism\prismrockrunes\prismrockrunesicon.png objects\biome\prism\prismtable\prismtable.object objects\biome\prism\prismtable\prismtable_flip_notrans.png objects\biome\steamspring\steamclock\steamclock.object [NEW] objects\wired\lightsensor\unwiredlightsensor.lua [NEW] parallax\images\tile\sandsteps\base\1.png parallax\underground\underground1d.parallax [NEW] particles\bouncyspark.particle [NEW] particles\charge.particle [NEW] plants\trees\prism\foliage\purewhitey\crown1.png [NEW] plants\trees\prism\foliage\purewhitey\crown2.png [NEW] plants\trees\prism\foliage\purewhitey\crown3.png [NEW] plants\trees\prism\foliage\purewhitey\purewhitey.modularfoliage [NEW] plants\trees\prism\foliage\purewhitey\saplingicon.png [NEW] plants\trees\prism\stem\purewhite\base1.png [NEW] plants\trees\prism\stem\purewhite\base2.png [NEW] plants\trees\prism\stem\purewhite\base3.png [NEW] plants\trees\prism\stem\purewhite\branch1.png [NEW] plants\trees\prism\stem\purewhite\branch2.png [NEW] plants\trees\prism\stem\purewhite\branch3.png [NEW] plants\trees\prism\stem\purewhite\crown1.png [NEW] plants\trees\prism\stem\purewhite\crown2.png [NEW] plants\trees\prism\stem\purewhite\crown3.png [NEW] plants\trees\prism\stem\purewhite\middle1.png [NEW] plants\trees\prism\stem\purewhite\middle2.png [NEW] plants\trees\prism\stem\purewhite\middle3.png [NEW] plants\trees\prism\stem\purewhite\middle4.png [NEW] plants\trees\prism\stem\purewhite\purewhite.modularstem [NEW] plants\trees\prism\stem\purewhite\saplingicon.png projectiles\guns\bullets\standardbullet\standardbullet.projectile [NEW] recipes\biomes\prism\prismbed.recipe [NEW] recipes\biomes\prism\prismchair.recipe [NEW] recipes\biomes\prism\prismdoor.recipe [NEW] recipes\biomes\prism\prismlamp1.recipe [NEW] recipes\biomes\prism\prismlamp2.recipe [NEW] recipes\biomes\prism\prismlamp3.recipe [NEW] recipes\biomes\prism\prismtable.recipe [NEW] sfx\objects\bigclock_loop.wav tech\automobile\humanjeep\jeep\humanjeep.animation tech\boat\boat.animation tech\hoverbike\humanhoverbike\humanhoverbike.animation tech\jetpack\gravitybubble.animation tech\jetpack\jetpack.animation tech\mech\apexmech\apexmech.animation tech\mech\glitchmech\glitchmech.animation tech\mech\humanmech\humanmech.animation [NEW] tenants\sub-biome\prism.tenant treasure\biome.treasurepools DIFFS ----- terrestrial_worlds.config 574c574 < "secondaryRegion" : [ "steamspring" ], --- > "secondaryRegion" : [ "steamspring", "prism" ], weather.config 112,114c112,113 < [0.2, "groundmist"], < [0.4, "snow"], < [0.1, "snowstorm"] --- > [0.5, "snow"], > [0.2, "snowstorm"] biomes\surface\tundra.biome 231a232,245 > "priority" : 1.0, > "variants" : 1, > "distribution" : "/biomes/distributions.config:scatteredLarge", > > "type" : "object", > "objectSets" : [ > { > "pool" : [ [1, "frozenmistprimer" ] ], > "parameters" : { } > } > ] > }, > { > "mode" : "floor", biomes\surface_detached\prism.biome 48a49,57 > "priority" : 1, > "variants" : 1, > "distribution" : "/biomes/distributions.config:mainBiomeMicrodungeon", > > "type" : "microdungeon", > "microdungeons" : [ "prismmicrodungeons" ] > }, > { > "mode" : "floor", 56c65 < "pool" : [ [0.35, "prismrock1" ], [0.35, "prismrock2" ], [0.35, "prismrock3" ] ], --- > "pool" : [ [0.35, "prismrock1" ], [0.35, "prismrock2" ], [0.35, "prismrock3" ], [0.05, "prismrock4" ], [0.05, "prismrock5" ], [0.05, "prismrock6" ], [0.05, "prismrock7" ], [0.05, "prismrock8" ] ], 62a72,83 > "priority" : 1.0, > "variants" : 1, > "distribution" : "/biomes/distributions.config:scatteredLarge", > > "type" : "tree", > "treeFoliageHueShiftMax" : 0, > "treeStemHueShiftMax" : 0, > "treeStemList" : [ "purewhite" ], > "treeFoliageList" : [ "purewhitey" ] > }, > { > "mode" : "floor", 85c106 < "distribution" : "/biomes/distributions.config:undergroundCapsules", --- > "distribution" : "/biomes/distributions.config:denseSmall", 90c111 < "pool" : [ [0.35, "capsulesmall" ], [0.35, "capsulemed" ], [0.35, "capsulebig" ] ], --- > "pool" : [ [0.25, "prismrock1" ], [0.25, "prismrock2" ], [0.25, "prismrock3" ], [0.01, "prismrock4" ], [0.01, "prismrock5" ], [0.01, "prismrock6" ], [0.01, "prismrock7" ], [0.01, "prismrock8" ] ], 92a114 > biomes\surface_detached\steamspring.biome 75a76,89 > "type" : "object", > "objectSets" : [ > { > "pool" : [ [1, "frozenmistprimer" ] ], > "parameters" : { } > } > ] > }, > { > "mode" : "floor", > "priority" : 1.0, > "variants" : 1, > "distribution" : "/biomes/distributions.config:scatteredLarge", > dungeons\microdungeons\underground\openmediumtemplate.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\tunnelmediumtemplate.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\undergroundmicrodungeons.dungeon 8c8 < "anchor" : [ "tunnelBackSlopeTemplate", "tunnelForwardSlopeTemplate", "tunnelWeakBackSlopeTemplate", "tunnelWeakForwardSlopeTemplate", "tunnelMediumTemplate" ], --- > "anchor" : [ "openMediumTemplate", "tunnelBackSlopeTemplate", "tunnelForwardSlopeTemplate", "tunnelWeakBackSlopeTemplate", "tunnelWeakForwardSlopeTemplate", "tunnelMediumTemplate" ], 18c18 < "name" : "buriedLargeTemplate", --- > "name" : "openMediumTemplate", 22c22 < "def" : [ "tmx", "buriedLargeTemplate.json" ] --- > "def" : [ "tmx", "openMediumTemplate.json" ] 26c26 < "name" : "buriedMediumTemplate", --- > "name" : "openForwardSlopeTemplate", 30c30 < "def" : [ "tmx", "buriedMediumTemplate.json" ] --- > "def" : [ "tmx", "openForwardSlopeTemplate.json" ] 34c34 < "name" : "openMediumTemplate", --- > "name" : "openBackSlopeTemplate", 38c38 < "def" : [ "tmx", "openMediumTemplate.json" ] --- > "def" : [ "tmx", "openBackSlopeTemplate.json" ] items\active\weapons\weapon.lua 184c184 < self.fireOffset = animator.partPoint("muzzleFlash", "projectileSource") --- > self.muzzleOffset = item.instanceValue("muzzleOffset") 226c226,232 < animator.rotateGroup("weapon", self.relativeWeaponRotation) --- > animator.resetTransformationGroup("weapon") > animator.resetTransformationGroup("muzzle") > animator.rotateTransformationGroup("weapon", self.relativeWeaponRotation) > animator.translateTransformationGroup("muzzle", self.muzzleOffset) > animator.rotateTransformationGroup("muzzle", self.relativeWeaponRotation) > > world.debugPoint(vec2.add(mcontroller.position(), activeItem.handPosition(self.muzzleOffset)), "yellow") 230c236 < aimAngle, aimDirection = table.unpack(activeItem.aimAngleAndDirection(item.instanceValue("aimOffset"), activeItem.ownerAimPosition())) --- > aimAngle, aimDirection = table.unpack(activeItem.aimAngleAndDirection(self.muzzleOffset[2], activeItem.ownerAimPosition())) 244c250 < return vec2.add(mcontroller.position(), activeItem.handPosition(self.fireOffset)) --- > return vec2.add(mcontroller.position(), activeItem.handPosition(self.muzzleOffset)) items\active\weapons\melee\broadsword\broadsword.animation 24c24 < "image" : "", --- > "image" : "?", 79c79 < "swoosh" : { --- > "physicalswoosh" : { items\active\weapons\melee\broadsword\broadsword.lua 12a13,14 > animator.setGlobalTag("bladeDirectives", "") > items\active\weapons\melee\broadsword\commonbroadsword.activeitem 73c73,74 < "/items/active/weapons/melee/altabilities/broadsword/parry/parry.altability" --- > //"/items/active/weapons/melee/altabilities/broadsword/parry/parry.altability", > "/items/active/weapons/melee/altabilities/broadsword/bladecharge/bladecharge.altability" items\active\weapons\ranged\gun.animation 21c21 < "centered" : false, --- > "centered" : true, 24c24 < "rotationGroup" : "weapon" --- > "transformationGroup" : "weapon" 29c29 < "centered" : false, --- > "centered" : true, 32c32 < "rotationGroup" : "weapon" --- > "transformationGroup" : "weapon" 37c37 < "centered" : false, --- > "centered" : true, 40c40 < "rotationGroup" : "weapon" --- > "transformationGroup" : "weapon" 46,47c46,47 < "centered" : false, < "offset" : [0, 0], // x offset is set dynamically --- > "centered" : true, > "offset" : [0.75, 0], 49,50c49 < "projectileSource" : [0, 0], < "rotationGroup" : "weapon" --- > "transformationGroup" : "muzzle" 76a76,80 > "transformationGroups" : [ > "weapon", > "muzzle" > ], > 80c84 < "offsetPart" : "muzzleFlash", --- > "transformationGroup" : "muzzle", items\active\weapons\ranged\gun.lua 30c30,31 < activeItem.setArmAngle(self.aimAngle + util.toRadians(self.stances.idle.armRotation) + util.toRadians((progress * self.stances.fire.armRotation))) --- > self.relativeArmRotation = util.toRadians(self.stances.idle.armRotation) + util.toRadians(progress * self.stances.fire.armRotation) > self.relativeWeaponRotation = util.toRadians(self.stances.idle.weaponRotation) + util.toRadians(progress * self.stances.cooldown.weaponRotation) 40,41c41,42 < activeItem.setArmAngle(self.aimAngle + util.toRadians(self.stances.idle.armRotation) + util.toRadians((progress * self.stances.cooldown.armRotation))) < animator.rotateGroup("weapon", util.toRadians(self.stances.idle.weaponRotation) + util.toRadians(progress * self.stances.cooldown.weaponRotation), true) --- > self.relativeArmRotation = util.toRadians(self.stances.idle.armRotation) + util.toRadians(progress * self.stances.cooldown.armRotation) > self.relativeWeaponRotation = util.toRadians(self.stances.idle.weaponRotation) + util.toRadians(progress * self.stances.cooldown.weaponRotation) 71d71 < weapon.setStance(self.stances.fire) items\active\weapons\ranged\altabilities\altfire.lua 36,37c36,37 < activeItem.setArmAngle(self.aimAngle + util.toRadians(self.stances.idle.armRotation) + util.toRadians((progress * altFireAttack.stances.cooldown.armRotation))) < animator.rotateGroup("weapon", util.toRadians(self.stances.idle.weaponRotation) + util.toRadians(progress * altFireAttack.stances.cooldown.weaponRotation), true) --- > self.relativeArmRotation = util.toRadians(self.stances.idle.armRotation) + util.toRadians(progress * altFireAttack.stances.cooldown.armRotation) > self.relativeWeaponRotation = util.toRadians(self.stances.idle.weaponRotation) + util.toRadians(progress * altFireAttack.stances.cooldown.weaponRotation) 58,59d57 < < weapon.setStance(altFireAttack.stances.fire) items\active\weapons\ranged\altabilities\explosiveburst\explosiveburst.lua 38,39c38,39 < activeItem.setArmAngle(self.aimAngle + util.toRadians(self.stances.idle.armRotation) + util.toRadians((progress * burstAttack.stances.cooldown.armRotation))) < animator.rotateGroup("weapon", util.toRadians(self.stances.idle.weaponRotation) + util.toRadians(progress * burstAttack.stances.cooldown.weaponRotation), true) --- > self.relativeArmRotation = util.toRadians(self.stances.idle.armRotation) + util.toRadians(progress * burstAttack.stances.cooldown.armRotation) > self.relativeWeaponRotation = util.toRadians(progress * burstAttack.stances.cooldown.weaponRotation) items\active\weapons\ranged\assaultrifle\commonassaultrifle.activeitem 17,34c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0.375], < "projectileSource" : [0,1.0] < } < } < } < }, < "particleEmitters" : { < "muzzleFlash" : { < "particles" : [ < { "particle" : "discardedbullet", "offset" : [5, 1] } < ] < } < }, --- > "animationCustom" : { 39c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-1.0, 0.25], > "muzzleOffset" : [0.0, 0.3125], 53c37 < "knockback" : 5 --- > "knockback" : 5 99,100c83 < "baseOffset" : [-1, -0.75], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], 102c85,86 < "/items/active/weapons/ranged/altabilities/explosiveshot/explosiveshot.altability" --- > "/items/active/weapons/ranged/altabilities/explosiveshot/explosiveshot.altability", > "/items/active/weapons/ranged/altabilities/bouncingshot/bouncingshot.altability" items\active\weapons\ranged\assaultrifle\rareassaultrifle.activeitem 17,27c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0.375], < "projectileSource" : [0,1.0] < } < } < } < }, --- > "animationCustom" : { 32c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-1.0, 0.25], > "muzzleOffset" : [0.0, 0.3125], 52c43 < "knockback" : 5 --- > "knockback" : 5 55d45 < 103,104c93 < "baseOffset" : [-1, -0.75], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\assaultrifle\uncommonassaultrifle.activeitem 17,27c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0.375], < "projectileSource" : [0,1.0] < } < } < } < }, --- > "animationCustom" : { 32c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-1.0, 0.25], > "muzzleOffset" : [0.0, 0.3125], 52c43 < "knockback" : 5 --- > "knockback" : 5 102,103c93 < "baseOffset" : [-1, -0.75], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\grenadelauncher\commongrenadelauncher.activeitem 18c18 < "animatedParts" : { --- > "animatedParts" : { 21,24d20 < "properties" : { < "offset" : [0,0.25], < "projectileSource" : [0,1.0] < }, 34c30 < } --- > } 40,42c36,38 < { "particle" : "rocketbarrelpuff", "offset" : [0.25, 1.0] }, < { "particle" : "rocketbarrelpuff", "offset" : [0.25, 1.0] }, < { "particle" : "rocketbarrelpuff", "offset" : [0.25, 1.0] } --- > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] }, > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] }, > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] } 50c46,47 < "aimOffset" : 0.0, --- > "baseOffset" : [-1.75, 0.5], > "muzzleOffset" : [0.0, 0.125], 106,107c103 < "baseOffset" : [-1.5, -0.625], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\grenadelauncher\raregrenadelauncher.activeitem 21,24d20 < "properties" : { < "offset" : [0,0.25], < "projectileSource" : [0,1.0] < }, 40,42c36,38 < { "particle" : "rocketbarrelpuff", "offset" : [0.25, 1.0] }, < { "particle" : "rocketbarrelpuff", "offset" : [0.25, 1.0] }, < { "particle" : "rocketbarrelpuff", "offset" : [0.25, 1.0] } --- > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] }, > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] }, > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] } 50c46,47 < "aimOffset" : 0.0, --- > "baseOffset" : [-1.75, 0.5], > "muzzleOffset" : [0.0, 0.125], 115,116c112 < "baseOffset" : [-1.5, -0.625], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\grenadelauncher\uncommongrenadelauncher.activeitem 21,24d20 < "properties" : { < "offset" : [0,0.25], < "projectileSource" : [0,1.0] < }, 40,42c36,38 < { "particle" : "rocketbarrelpuff", "offset" : [0.25, 1.0] }, < { "particle" : "rocketbarrelpuff", "offset" : [0.25, 1.0] }, < { "particle" : "rocketbarrelpuff", "offset" : [0.25, 1.0] } --- > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] }, > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] }, > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] } 50c46,47 < "aimOffset" : 0.0, --- > "baseOffset" : [-1.75, 0.5], > "muzzleOffset" : [0.0, 0.125], 115,116c112 < "baseOffset" : [-1.5, -0.625], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\machinepistol\commonmachinepistol.activeitem 17,28c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0.375], < "projectileSource" : [0,0.875] < } < } < } < }, < --- > "animationCustom" : { 33c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-0.375, 0.125], > "muzzleOffset" : [0.0, 0.375], 43,44c33,34 < "knockback" : 10 < }, --- > "knockback" : 10 > }, 89,90c79 < "baseOffset" : [-0.375, -0.75], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\machinepistol\raremachinepistol.activeitem 17,27c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0.375], < "projectileSource" : [0,0.875] < } < } < } < }, --- > "animationCustom" : { 32c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-0.375, 0.125], > "muzzleOffset" : [0.0, 0.375], 48,49c39,40 < "knockback" : 10 < }, --- > "knockback" : 10 > }, 100,101c91 < "baseOffset" : [-0.375, -0.75], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\machinepistol\uncommonmachinepistol.activeitem 17,27c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0.375], < "projectileSource" : [0,0.875] < } < } < } < }, --- > "animationCustom" : { 32c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-0.375, 0.125], > "muzzleOffset" : [0.0, 0.375], 48,49c39,40 < "knockback" : 10 < }, --- > "knockback" : 10 > }, 100,101c91 < "baseOffset" : [-0.375, -0.75], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\pistol\commonpistol.activeitem 17,28c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0.375], < "projectileSource" : [0,0.875] < } < } < } < }, < --- > "animationCustom" : { 33c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-0.25, 0.25], > "muzzleOffset" : [0,0.375], 43,44c33,34 < "knockback" : 15 < }, --- > "knockback" : 15 > }, 89,90c79 < "baseOffset" : [-0.375, -0.75], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\pistol\rarepistol.activeitem 17,27c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0.375], < "projectileSource" : [0,0.875] < } < } < } < }, --- > "animationCustom" : { 32c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-0.25, 0.25], > "muzzleOffset" : [0,0.375], 48,49c39,40 < "knockback" : 15 < }, --- > "knockback" : 15 > }, 98,99c89 < "baseOffset" : [-0.375, -0.75], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\pistol\uncommonpistol.activeitem 17,27c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0.375], < "projectileSource" : [0,0.875] < } < } < } < }, --- > "animationCustom" : { 32c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-0.25, 0.25], > "muzzleOffset" : [0,0.375], 48,49c39,40 < "knockback" : 15 < }, --- > "knockback" : 15 > }, 98,99c89 < "baseOffset" : [-0.375, -0.75], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\rocketlauncher\commonrocketlauncher.activeitem 21,24d20 < "properties" : { < "offset" : [0,1.25], < "projectileSource" : [0.5,0.75] < }, 40,42c36,38 < { "particle" : "rocketbarrelpuff", "offset" : [0, 0.5] }, < { "particle" : "rocketbarrelpuff", "offset" : [0, 0.5] }, < { "particle" : "rocketbarrelpuff", "offset" : [0, 0.5] } --- > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] }, > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] }, > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] } 50c46,47 < "aimOffset" : 0.0, --- > "baseOffset" : [-2.5, 0.375], > "muzzleOffset" : [0.0, 0.125], 60,61c57,58 < "knockback" : 50 < }, --- > "knockback" : 50 > }, 106,107c103 < "baseOffset" : [-2.0, -0.625], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\rocketlauncher\rarerocketlauncher.activeitem 21,24d20 < "properties" : { < "offset" : [0,1.25], < "projectileSource" : [0,0] < }, 40,42c36,38 < { "particle" : "rocketbarrelpuff", "offset" : [0, 0] }, < { "particle" : "rocketbarrelpuff", "offset" : [0, 0] }, < { "particle" : "rocketbarrelpuff", "offset" : [0, 0] } --- > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] }, > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] }, > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] } 50c46,47 < "aimOffset" : 0.0, --- > "baseOffset" : [-2.5, 0.375], > "muzzleOffset" : [0.0, 0.125], 117,118c114 < "baseOffset" : [-2.0, -0.625], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\rocketlauncher\uncommonrocketlauncher.activeitem 21,24d20 < "properties" : { < "offset" : [0,1.25], < "projectileSource" : [0,0] < }, 40,42c36,38 < { "particle" : "rocketbarrelpuff", "offset" : [0, 0] }, < { "particle" : "rocketbarrelpuff", "offset" : [0, 0] }, < { "particle" : "rocketbarrelpuff", "offset" : [0, 0] } --- > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] }, > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] }, > { "particle" : "rocketbarrelpuff", "offset" : [0.0, 0.0] } 50c46,47 < "aimOffset" : 0.0, --- > "baseOffset" : [-2.5, 0.375], > "muzzleOffset" : [0.0, 0.125], 117,118c114 < "baseOffset" : [-2.0, -0.625], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\shotgun\commonshotgun.activeitem 17,27c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0.375], < "projectileSource" : [0,1.0] < } < } < } < }, --- > "animationCustom" : { 32c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-1.25, 0.25], > "muzzleOffset" : [0.0, 0.3125], 44,45c35,36 < "knockback" : 40 < }, --- > "knockback" : 40 > }, 74c65 < "path" : "/items/active/weapons/ranged/shotgun/butt/.png", --- > "path" : "butt/.png", 79c70 < "path" : "/items/active/weapons/ranged/shotgun/middle/.png", --- > "path" : "middle/.png", 84c75 < "path" : "/items/active/weapons/ranged/shotgun/barrel/.png", --- > "path" : "barrel/.png", 90,91c81 < "baseOffset" : [-1, -0.75], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\shotgun\rareshotgun.activeitem 17,27c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0.375], < "projectileSource" : [0,1.0] < } < } < } < }, --- > "animationCustom" : { 32c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-1.25, 0.25], > "muzzleOffset" : [0.0, 0.3125], 102,103c93 < "baseOffset" : [-1, -0.75], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\shotgun\uncommonshotgun.activeitem 17,27c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0.375], < "projectileSource" : [0,1.0] < } < } < } < }, --- > "animationCustom" : { 32c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-1.25, 0.25], > "muzzleOffset" : [0.0, 0.3125], 50,51c41,42 < "knockback" : 40 < }, --- > "knockback" : 40 > }, 102,103c93 < "baseOffset" : [-1, -0.75], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\sniperrifle\commonsniperrifle.activeitem 17,27c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0], < "projectileSource" : [0,1.0] < } < } < } < }, --- > "animationCustom" : { 32c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-1.25, 0.5], > "muzzleOffset" : [0.0, 0.0], 88,89c79 < "baseOffset" : [-1.75, -0.625], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\sniperrifle\raresniperrifle.activeitem 17,27c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0], < "projectileSource" : [0,1.0] < } < } < } < }, --- > "animationCustom" : { 32c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-1.25, 0.5], > "muzzleOffset" : [0.0, 0.0], 99,100c90 < "baseOffset" : [-1.75, -0.625], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\active\weapons\ranged\sniperrifle\uncommonsniperrifle.activeitem 17,27c17 < "animationCustom" : { < "animatedParts" : { < "parts" : { < "muzzleFlash" : { < "properties" : { < "offset" : [0,0], < "projectileSource" : [0,1.0] < } < } < } < }, --- > "animationCustom" : { 32c22,23 < "aimOffset" : 0.0, --- > "baseOffset" : [-1.25, 0.5], > "muzzleOffset" : [0.0, 0.0], 99,100c90 < "baseOffset" : [-1.75, -0.625], < "gunParts" : ["butt", "middle", "barrel", "muzzleFlash"], --- > "gunParts" : ["butt", "middle", "barrel"], items\buildscripts\buildweapon.lua 77c77 < -- set part offsets (for guns) --- > -- set gun part offsets 80,81c80,81 < local iconOffset = {0,0} < local gunPartOffset = builderConfig.baseOffset or {0,0} --- > local imageOffset = {0,0} > local gunPartOffset = {0,0} 86,91c86,87 < local offset = config.animationCustom.animatedParts.parts[part].properties.offset or animationConfig.animatedParts.parts[part].properties.offset or {0,0} < config.animationCustom.animatedParts.parts[part].properties.offset = {offset[1] + gunPartOffset[1], offset[2] + gunPartOffset[2]} < gunPartOffset[1] = gunPartOffset[1] + (imageSize[1] / 8) < < -- Set offset for inventory icon < iconOffset = vec2.add(iconOffset, {imageSize[1] / 2, 0}) --- > imageOffset = vec2.add(imageOffset, {imageSize[1] / 2, 0}) > config.animationCustom.animatedParts.parts[part].properties.offset = {config.baseOffset[1] + imageOffset[1] / 8, config.baseOffset[2]} 93c89 < iconDrawables[part].position = copy(iconOffset) --- > iconDrawables[part].position = copy(imageOffset) 95c91 < iconOffset = vec2.add(iconOffset, {imageSize[1] / 2, 0}) --- > imageOffset = vec2.add(imageOffset, {imageSize[1] / 2, 0}) 96a93 > config.muzzleOffset = vec2.add(config.baseOffset, vec2.add(config.muzzleOffset or {0,0}, vec2.div(imageOffset, 8))) 107,128d103 < -- Set muzzleflash particle emitter and light offset < -- TODO: Replace this with transformGroups < if path(config, "animationCustom", "animatedParts", "parts", "muzzleFlash") then < local muzzleOffset = config.animationCustom.animatedParts.parts.muzzleFlash.properties.offset < < if animationConfig.particleEmitters and animationConfig.particleEmitters.muzzleFlash then < construct(config, "animationCustom", "particleEmitters", "muzzleFlash") < local offsetRegion = config.animationCustom.particleEmitters.muzzleFlash.offsetRegion or animationConfig.particleEmitters.muzzleFlash.offsetRegion or {0,0,0,0} < offsetRegion = { < offsetRegion[1] + muzzleOffset[1], offsetRegion[2] + muzzleOffset[2], < offsetRegion[3] + muzzleOffset[1], offsetRegion[4] + muzzleOffset[2] < } < config.animationCustom.particleEmitters.muzzleFlash.offsetRegion = offsetRegion < end < < if animationConfig.lights and animationConfig.lights.muzzleFlash then < construct(config, "animationCustom", "lights", "muzzleFlash") < local lightPosition = config.animationCustom.lights.muzzleFlash.position or animationConfig.lights.muzzleFlash.position or {0,0} < config.animationCustom.lights.muzzleFlash.position = { lightPosition[1] + muzzleOffset[1], lightPosition[2] + muzzleOffset[2] } < end < end < 147,174d121 < end < < -- offset things with the offsetPart property set < -- TODO: Replace this with transformGroups < local parts = path(config, "animationCustom", "animatedParts", "parts") < if parts then < for _,part in pairs(parts) do < local offsetPart = path(part, "properties", "offsetPart") < if offsetPart then < local partOffset = path(parts, offsetPart, "properties", "offset") or {0,0} < local offset = part.properties.offset or {0,0} < construct(part, "properties", "offset") < part.properties.offset = vec2.add(offset, partOffset) < end < end < local particleEmitters = path(config, "animationCustom", "particleEmitters") < if particleEmitters then < for _,emitter in pairs(particleEmitters) do < local offsetPart = path(emitter, "offsetPart") < if offsetPart then < local offset = path(parts, offsetPart, "properties", "offset") or {0,0} < emitter.offsetRegion = { < emitter.offsetRegion[1] + offset[1], emitter.offsetRegion[2] + offset[2], < emitter.offsetRegion[3] + offset[1], emitter.offsetRegion[4] + offset[2] < } < end < end < end items\generic\crafting\prisiliteore.item 4c4 < "rarity" : "Legendary", --- > "rarity" : "Rare", 6,7c6,7 < "description" : "It's Prisilite Ore!", < "shortdescription" : "Prisilite Ore" --- > "description" : "It's a prism shard!", > "shortdescription" : "Prism Shard" items\materials\bars.matitem 3a4 > "price" : 5, items\materials\copperwindow.matitem 3a4 > "price" : 10, items\materials\crosshatch.matitem 3a4 > "price" : 15, items\materials\glass.matitem 3a4 > "price" : 5, items\materials\heavyironbars.matitem 3a4 > "price" : 10, items\materials\woodenwindow1.matitem 3a4 > "price" : 5, items\materials\woodenwindow2.matitem 3a4 > "price" : 5, npcs\merchantpools.config 173a174,186 > "prismmerchant" : [ > [0, [ > { "item" : { "name" : "woodenwindow1" } }, > { "item" : { "name" : "woodenwindow2" } }, > { "item" : { "name" : "glassmaterial" } }, > { "item" : { "name" : "crosshatch" } }, > { "item" : { "name" : "copperwindow" } }, > { "item" : { "name" : "bars" }, "rarity" : 0.2 }, > { "item" : { "name" : "heavyironbars" }, "rarity" : 0.2 } > > ]] > ], > objects\biome\colourful\rainbowdoor\rainbowdoor.object 16c16 < "glitchDescription" : "Overwhelmed. I am filled withe excitement at the prospect of seeing what lies beyond this door.", --- > "glitchDescription" : "Overwhelmed. I am filled with excitement at the prospect of seeing what lies beyond this door.", objects\biome\prism\prismbed\prismbed.object 10c10 < "price" : 100, --- > "price" : 145, 37,38d36 < "frames" : 1, < "animationCycle" : 0.5, 45d42 < 50,51d46 < "frames" : 1, < "animationCycle" : 0.5, 57d51 < objects\biome\prism\prismchair\prismchair.object 10c10 < "price" : 60, --- > "price" : 90, 25,27d24 < "frames" : 1, < "animationCycle" : 1.0, < "flipImages" : true, 28a26 > "flipImages" : true, 31d28 < 36,37d32 < "frames" : 1, < "animationCycle" : 1.0, 41d35 < objects\biome\prism\prismrock1\prismrock1.object 3c3 < "tags" : [""], --- > "tags" : ["prism"], 36c36 < "smashParticles" : [ { "count" : 5, "particle" : "shadowshard" }, { "count" : 5, "particle" : "shadowrockshard" } ] --- > "smashParticles" : [ { "count" : 5, "particle" : "glassshard" }, { "count" : 5, "particle" : "glassshard" } ] objects\biome\prism\prismrock2\prismrock2.object 3c3 < "tags" : [""], --- > "tags" : ["prism"], 36c36 < "smashParticles" : [ { "count" : 5, "particle" : "shadowshard" }, { "count" : 5, "particle" : "shadowrockshard" } ] --- > "smashParticles" : [ { "count" : 5, "particle" : "glassshard" }, { "count" : 5, "particle" : "glassshard" } ] objects\biome\prism\prismrock3\prismrock3.object 3c3 < "tags" : [""], --- > "tags" : ["prism"], 36c36 < "smashParticles" : [ { "count" : 5, "particle" : "shadowshard" }, { "count" : 5, "particle" : "shadowrockshard" } ] --- > "smashParticles" : [ { "count" : 5, "particle" : "glassshard" }, { "count" : 5, "particle" : "glassshard" } ] objects\biome\prism\prismrock4\prismrock4.animation 60c60 < "emissionRate" : 10, --- > "emissionRate" : 2, 66,76c66,76 < "type" : "textured", < "image" : "/objects/biome/prism/prismrock4/pink.png", < "size" : 2.0, < "initialVelocity" : [0, 0], < "timeToLive" : 0.13, < "fullbright" : true, < "light" : [100, 0, 0], < "layer" : "back", < "position" : [0, 2], < "collidesForeground" : false < } --- > "type" : "textured", > "image" : "/objects/biome/prism/prismrock4/pink.png", > "size" : 2.0, > "initialVelocity" : [0, 0], > "timeToLive" : 0.51, > "fullbright" : true, > "light" : [100, 0, 0], > "layer" : "back", > "position" : [1, 3], > "collidesForeground" : false > } 80,90c80,90 < "type" : "textured", < "image" : "/objects/biome/prism/prismrock4/green.png", < "size" : 2.0, < "initialVelocity" : [0, 0], < "timeToLive" : 0.13, < "fullbright" : true, < "light" : [0, 50, 0], < "layer" : "back", < "position" : [0, 2], < "collidesForeground" : false < } --- > "type" : "textured", > "image" : "/objects/biome/prism/prismrock4/green.png", > "size" : 2.0, > "initialVelocity" : [0, 0], > "timeToLive" : 0.51, > "fullbright" : true, > "light" : [0, 50, 0], > "layer" : "back", > "position" : [1, 3], > "collidesForeground" : false > } 94,104c94,104 < "type" : "textured", < "image" : "/objects/biome/prism/prismrock4/blue.png", < "size" : 2.0, < "initialVelocity" : [0, 0], < "timeToLive" : 0.13, < "fullbright" : true, < "light" : [0, 0, 50], < "layer" : "back", < "position" : [0, 2], < "collidesForeground" : false < } --- > "type" : "textured", > "image" : "/objects/biome/prism/prismrock4/blue.png", > "size" : 2.0, > "initialVelocity" : [0, 0], > "timeToLive" : 0.51, > "fullbright" : true, > "light" : [0, 0, 50], > "layer" : "back", > "position" : [1, 3], > "collidesForeground" : false > } objects\biome\prism\prismrock4\prismrock4.object 3c3 < "tags" : ["apex","apexmansion","pretty","valuable"], --- > "tags" : ["prism"], 6,16c6,19 < "price" : 250, < "description" : "An appropriately glorious monument dedicated to a glorious leader.", < "shortdescription" : "Prism Test Object", < "race" : "apex", < < "apexDescription" : "Our glorious leader...", < "avianDescription" : "A statue built to inspire pride? Or perhaps fear?", < "floranDescription" : "Sssuch a big, tasssty monkey.", < "glitchDescription" : "Humbled. Is the scale correct?", < "humanDescription" : "That's a big statue. He looks stern.", < "hylotlDescription" : "A needless display of power.", --- > "printable" : false, > "description" : "A highly refractive prism.", > "shortdescription" : "Prism Crystal", > "race" : "generic", > > /* > "apexDescription" : "-todo-", > "avianDescription" : "-todo-", > "floranDescription" : "-todo-", > "glitchDescription" : "-todo-", > "humanDescription" : "-todo-", > "hylotlDescription" : "-todo-", > "novakidDescription" : "-todo-", > */ 22c25 < "imagePosition" : [-8, -24], --- > "imagePosition" : [-8, 0], 31c34 < "imagePosition" : [-8, -24], --- > "imagePosition" : [-8, 0], 39c42 < "scripts" : [ "/objects/wired/lightsensor/lightsensor.lua" ], --- > "scripts" : [ "/objects/wired/lightsensor/unwiredlightsensor.lua" ], 46,48c49 < "animationPosition" : [-8, -24], < < "outboundNodes" : [ [0, -1], [0, 1] ], --- > "animationPosition" : [-8, 0], 51c52 < "detectThresholdHigh" : 25 --- > "detectThresholdHigh" : 30 objects\biome\prism\prismtable\prismtable.object 3c3 < "tags" : ["prismtable","commerce"], --- > "tags" : ["prism","commerce"], 10c10 < "price" : 85, --- > "price" : 125, 23,24c23 < "dualImage" : "prismtable.png:", < --- > "image" : "prismtable.png:", 26,27d24 < "frames" : 1, < "animationCycle" : 1.0, 35,36c32 < "dualImage" : "prismtable_flip.png:", < --- > "image" : "prismtable_flip.png:", 38,39d33 < "frames" : 1, < "animationCycle" : 1.0, objects\biome\steamspring\steamclock\steamclock.object 31c31,33 < ] --- > ], > > "soundEffect" : "/sfx/objects/bigclock_loop.wav" parallax\underground\underground1d.parallax 10a11,17 > "kind" : "tile/sandsteps", > "nohueshift" : false, > "lightMapped" : true, > "parallax" : 1.35, > "repeatY" : true > }, > { projectiles\guns\bullets\standardbullet\standardbullet.projectile 3a4 > "physics" : "laser", tech\automobile\humanjeep\jeep\humanjeep.animation 43,44c43 < "zLevel" : 0, < "back" : true --- > "zLevel" : -1 tech\boat\boat.animation 24c24 < "boatfront" : { --- > "boatback" : { 26,27c26,27 < "zLevel" : 2, < "image" : "/tech/boat/boat.png:front", --- > "zLevel" : -1, > "image" : "/tech/boat/boat.png:back", 33c33 < "boatback" : { --- > "boatfront" : { 35,36c35,36 < "zLevel" : 1, < "image" : "/tech/boat/boat.png:back", --- > "zLevel" : 2, > "image" : "/tech/boat/boat.png:front", 39d38 < "back" : true, 48d46 < "back" : true, tech\hoverbike\humanhoverbike\humanhoverbike.animation 43,44c43 < "zLevel" : 0, < "back" : true --- > "zLevel" : -1 tech\jetpack\gravitybubble.animation 26a27,29 > "properties" : { > "zLevel" : -1 > }, 32,33c35 < "image" : "/animations/gravitybubble/gravitybubble.png:", < "back" : true --- > "image" : "/animations/gravitybubble/gravitybubble.png:" tech\jetpack\jetpack.animation 26a27,29 > "properties" : { > zLevel : -1 > }, 32,33c35 < "image" : "/animations/gravitybubble/gravitybubble.png:", < "back" : true --- > "image" : "/animations/gravitybubble/gravitybubble.png:" tech\mech\apexmech\apexmech.animation 89,90c89 < "zLevel" : 0, < "back" : true --- > "zLevel" : -2 139,140c138 < "zLevel" : 1, < "back" : true --- > "zLevel" : -1 tech\mech\glitchmech\glitchmech.animation 89,90c89 < "zLevel" : 0, < "back" : true --- > "zLevel" : -2 139,140c138 < "zLevel" : 1, < "back" : true --- > "zLevel" : -1 tech\mech\humanmech\humanmech.animation 89,90c89 < "zLevel" : 0, < "back" : true --- > "zLevel" : -2 139,140c138 < "zLevel" : 1, < "back" : true --- > "zLevel" : -1 treasure\biome.treasurepools 940a941,979 > {"weight" : 0.3, "item" : "pipehat"}, > {"weight" : 0.3, "item" : "boilerback"}, > {"weight" : 0.3, "item" : "neckruffle"}, > {"weight" : 0.3, "item" : "steamgreylegs"}, > {"weight" : 0.1, "item" : "copperblock"} > ] > }] > ], > > "prismChestTreasure" : [ > [1, { > "fill" : [ > {"pool" : "valuableTreasure"} > ], > "pool" : [ > {"weight" : 0.5, "pool" : "basicTreasure"}, > {"weight" : 0.5, "pool" : "prismTreasure"} > ], > "poolRounds" : [ > [0.05, 1], > [0.40, 2], > [0.30, 3], > [0.15, 4], > [0.10, 5] > ], > "allowDuplication" : false > }] > ], > > "prismTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.3, "item" : "prismbed-recipe"}, > {"weight" : 0.3, "item" : "prismdoor-recipe"}, > {"weight" : 0.3, "item" : "prismchair-recipe"}, > {"weight" : 0.3, "item" : "prismtable-recipe"}, > {"weight" : 0.3, "item" : "prismlamp1-recipe"}, > {"weight" : 0.3, "item" : "prismlamp2-recipe"}, > {"weight" : 0.3, "item" : "prismlamp3-recipe"},