FILES ----- dungeon_worlds.config player.config terrestrial_worlds.config behaviors\monsters\boss\spiderboss\main.behavior behaviors\monsters\critter\flying.behavior behaviors\monsters\modular\actions\swoop.behavior biomes\oredistributions.configfunctions [NEW] biomes\surface_detached\geode.biome dungeons\missions\avianmissions\avianmission1.dungeon dungeons\missions\avianmissions\avianmission1.json interface\chat\chatpane.png [NEW] interface\crafting\craftinganvil.png [NEW] interface\crafting\craftinganvil2.png [NEW] interface\crafting\craftinganvil3.png [NEW] interface\crafting\craftingfarm.png [NEW] interface\crafting\craftingfarm2.png [NEW] interface\crafting\craftingfurniture.png [NEW] interface\crafting\craftingfurniture2.png [NEW] interface\crafting\craftingmedical.png [NEW] interface\crafting\craftingmedical2.png [NEW] interface\crafting\craftingwheel.png [NEW] interface\crafting\craftingwheel2.png [NEW] interface\crafting\inventorstable.png [NEW] interface\crafting\inventorstable2.png [NEW] interface\crafting\inventorstable3.png [NEW] interface\crafting\tabicon_logic.png [NEW] interface\crafting\tabicon_mechanics.png [NEW] interface\crafting\tabicon_sensors.png [NEW] interface\crafting\tabicon_switches.png [NEW] interface\crafting\wiringbody.png interface\games\fossilgame\fossilgame.lua [NEW] interface\statuses\electricblock.png [NEW] interface\statuses\fireblock.png interface\statuses\healblock.png [NEW] interface\statuses\ice.png [NEW] interface\statuses\iceblock.png [NEW] interface\statuses\poisonblock.png interface\windowconfig\craftingfurniture.config interface\windowconfig\spinningwheel.config [NEW] interface\windowconfig\wiringstation.config items\active\grapple\grapple.lua items\active\shields\shield.lua [NEW] items\active\unsorted\geode\geode.activeitem [NEW] items\active\unsorted\geode\geode.animation [NEW] items\active\unsorted\geode\geode.lua [NEW] items\active\unsorted\geode\geode.png [NEW] items\active\unsorted\geode\geodeicon.png items\active\unsorted\parasol\parasol.lua items\active\unsorted\partypopper\partypopper.lua items\active\unsorted\rewardbag\rewardbag.lua items\active\unsorted\translocator\translocator.lua items\active\unsorted\wateringcan\wateringcan.lua items\active\vehiclecontroller\vehiclecontroller.lua items\active\weapons\weapon.lua items\active\weapons\fist\fistweapon.lua items\active\weapons\fist\combofinishers\dashslash.lua items\active\weapons\fist\combofinishers\powerpunch.lua items\active\weapons\fist\combofinishers\snaproot.lua items\active\weapons\fist\combofinishers\uppercut.lua items\active\weapons\melee\meleeweapon.lua items\active\weapons\melee\altabilities\broadsword\traildash\traildash.lua items\active\weapons\melee\altabilities\broadsword\travelingslash\travelingslash.lua items\active\weapons\melee\altabilities\generic\blinkexplosion\blinkexplosion.lua items\active\weapons\melee\altabilities\hammer\elementalpillar\elementalpillar.lua items\active\weapons\melee\altabilities\hammer\groundslam\groundslam.lua items\active\weapons\melee\altabilities\hammer\shockwave\shockwave.lua items\active\weapons\melee\altabilities\spear\barrier\barrier.lua items\active\weapons\melee\altabilities\spear\elementalspin\elementalspin.lua items\active\weapons\melee\altabilities\spear\rocketspear\rocketspear.lua items\active\weapons\melee\hammer\hammer.lua items\active\weapons\melee\mission\nurusspear\nurusspear.lua items\active\weapons\melee\spear\spear.lua items\active\weapons\ranged\gun.lua items\active\weapons\ranged\gunfire.lua items\active\weapons\ranged\altabilities\altfire.lua items\active\weapons\ranged\altabilities\explosiveburst\explosiveburst.lua items\active\weapons\ranged\altabilities\fuelairtrail\fuelairtrail.lua items\active\weapons\ranged\altabilities\guidedrocket\guidedrocket.lua items\active\weapons\ranged\altabilities\homingrocket\homingrocket.lua items\active\weapons\ranged\altabilities\lance\lance.lua items\active\weapons\ranged\altabilities\markedshot\markedshot.lua items\active\weapons\ranged\altabilities\rocketburst\rocketburst.lua items\active\weapons\ranged\boomerang\boomerang.lua items\active\weapons\ranged\flamethrower\flamethrower.lua items\active\weapons\ranged\remotegrenadelauncher\remotegrenadelauncher.lua items\armors\biome\geode\geode\icons.png items\generic\crafting\battery.item [NEW] items\generic\crafting\durasteelore.item [NEW] items\generic\crafting\durasteelore.png items\generic\crafting\titaniumbar.item [NEW] items\generic\other\burnspray.consumable [NEW] items\generic\other\burnsprayicon.png items\generic\other\medkit.consumable items\guns\bows\aegisaltbow\aegisaltbow.gun items\guns\bows\bow\bow.gun items\guns\bows\compoundbow\compoundbow.gun items\guns\bows\cupidsbow\cupidsbow.gun items\guns\bows\feroziumbow\feroziumbow.gun items\guns\bows\ironbow\ironbow.gun items\guns\bows\tungstenbow\tungstenbow.gun items\guns\bows\tungstenbow\tungstenbow.png items\guns\bows\tungstenbow\tungstenbowicon.png items\materials\geodeblock.png items\materials\geodestone.png monsters\capturepod.lua monsters\flocking.lua monsters\groundmovement.lua monsters\grumblestate.lua monsters\monster.lua monsters\returnhomestate.lua monsters\simplerangedattack.lua monsters\tenant.lua monsters\boss\bossmonster.lua monsters\boss\crystalboss\crystalbossreset.lua monsters\boss\crystalboss\diestate.lua monsters\boss\crystalboss\skills\crystaldoublebeamattack.lua monsters\boss\crystalboss\skills\crystalidleattack.lua monsters\boss\crystalboss\skills\crystalmoontantattack.lua monsters\boss\crystalboss\skills\crystalshatterattack.lua monsters\boss\crystalboss\skills\crystalsinebeamattack.lua monsters\boss\crystalboss\skills\crystalsinglebeamattack.lua monsters\boss\missile\missile.lua monsters\boss\penguin\behavior.lua monsters\boss\penguinminiufo\penguinminiufo.lua monsters\boss\penguintank\behavior.lua monsters\boss\penguinufo\diestate.lua monsters\boss\penguinufo\skills\ufomovefireattack.lua monsters\boss\penguinufo\skills\ufopulsecannonattack.lua monsters\boss\penguinufo\skills\uforeinforcementsattack.lua monsters\boss\penguinufo\skills\ufoslamattack.lua monsters\boss\penguinufo\skills\ufospawntanksattack.lua monsters\boss\penguinufo\skills\ufoswoopattack.lua monsters\boss\penguinufo\skills\ufoteleportattack.lua monsters\boss\robotboss\idlestate.lua monsters\boss\robotboss\skills\robotdashattack.lua monsters\boss\robotboss\skills\robotelectricburstattack.lua monsters\boss\robotboss\skills\robotflamethrowerattack.lua monsters\boss\robotboss\skills\robotmissilebarrageattack.lua monsters\boss\robotboss\skills\robotpunchattack.lua monsters\bugs\behavior.lua [NEW] monsters\critter\floatinggeodecritter\body.frames [NEW] monsters\critter\floatinggeodecritter\body.monsterpart [NEW] monsters\critter\floatinggeodecritter\body.png [NEW] monsters\critter\floatinggeodecritter\floatinggeodecritter.animation [NEW] monsters\critter\floatinggeodecritter\floatinggeodecritter.monstertype [NEW] monsters\critter\largegeodecritter\body.frames [NEW] monsters\critter\largegeodecritter\body.monsterpart [NEW] monsters\critter\largegeodecritter\body.png [NEW] monsters\critter\largegeodecritter\largegeodecritter.animation [NEW] monsters\critter\largegeodecritter\largegeodecritter.monstertype [NEW] monsters\critter\smallgeodecritter\body.frames [NEW] monsters\critter\smallgeodecritter\body.monsterpart [NEW] monsters\critter\smallgeodecritter\body.png [NEW] monsters\critter\smallgeodecritter\smallgeodecritter.animation [NEW] monsters\critter\smallgeodecritter\smallgeodecritter.monstertype monsters\dungeon\chicken\behavior.lua monsters\dungeon\cleaningbot\behavior.lua monsters\dungeon\giftmonster\behavior.lua monsters\dungeon\glitchknight\behavior.lua monsters\dungeon\po\behavior.lua monsters\dungeon\repairbot\behavior.lua monsters\dungeon\robotchicken\behavior.lua monsters\dungeon\swarpion\behavior.lua monsters\generated\flying\skills\flyingswoopattack.lua monsters\generated\swimming\attackstate.lua monsters\generated\swimming\fleestate.lua monsters\generated\swimming\flopstate.lua monsters\generated\swimming\swimmingmonster.lua monsters\generated\swimming\wanderstate.lua monsters\generated\swimming\smallfish\fleestate.lua monsters\generated\swimming\smallfish\investigatestate.lua monsters\generated\swimming\smallfish\scatterstate.lua monsters\generated\swimming\smallfish\smallfish.lua monsters\pets\groundpet.lua monsters\pets\idlestate.lua monsters\pets\petbehavior.lua monsters\pets\petcapturepod.lua monsters\pets\wanderstate.lua monsters\pets\actions\begaction.lua monsters\pets\actions\eataction.lua monsters\pets\actions\followaction.lua monsters\pets\actions\inspectaction.lua monsters\pets\actions\pounceaction.lua monsters\pets\actions\sleepaction.lua monsters\pets\actions\starvingaction.lua monsters\pets\petball\petball.lua npcs\bmain.lua objects\explodingsmashable.lua objects\ancient\ancientconsole\ancientconsole.lua objects\ancient\challengedoor\challengedoor.lua objects\apex\apexstoragelocker\apexstoragelocker.object objects\apex\respawnpod\behavior.lua objects\apex\securitycamera\securitycamera.lua objects\apex\turret\turret.lua objects\avian\avianstoragelocker\avianstoragelocker.object objects\avian\earthemblem\earthemblem.object objects\biome\crystalline\crystallinebush1\crystallinebush1.object objects\biome\crystalline\crystallinebush2\crystallinebush2.object objects\biome\crystalline\crystallinebush3\crystallinebush3.object objects\biome\crystalline\crystallinebush4\crystallinebush4.object [NEW] objects\biome\geode\musicalgeodes\musicalgeode.animation [NEW] objects\biome\geode\musicalgeodes\musicalgeode.lua [NEW] objects\biome\geode\musicalgeodes\geodebnatural\geodebnatural.frames [NEW] objects\biome\geode\musicalgeodes\geodebnatural\geodebnatural.object [NEW] objects\biome\geode\musicalgeodes\geodebnatural\geodebnatural.png [NEW] objects\biome\geode\musicalgeodes\geodebnatural\geodebnaturallit.frames [NEW] objects\biome\geode\musicalgeodes\geodebnatural\geodebnaturallit.png [NEW] objects\biome\geode\musicalgeodes\geodebnatural\icongeodebnatural.png [NEW] objects\biome\geode\musicalgeodes\geodebnote\geodebnote.frames [NEW] objects\biome\geode\musicalgeodes\geodebnote\geodebnote.object [NEW] objects\biome\geode\musicalgeodes\geodebnote\geodebnote.png [NEW] objects\biome\geode\musicalgeodes\geodebnote\geodebnotelit.frames [NEW] objects\biome\geode\musicalgeodes\geodebnote\geodebnotelit.png [NEW] objects\biome\geode\musicalgeodes\geodebnote\icongeodebnote.png [NEW] objects\biome\geode\musicalgeodes\geodecnatural\geodecnatural.frames [NEW] objects\biome\geode\musicalgeodes\geodecnatural\geodecnatural.object [NEW] objects\biome\geode\musicalgeodes\geodecnatural\geodecnatural.png [NEW] objects\biome\geode\musicalgeodes\geodecnatural\geodecnaturallit.frames [NEW] objects\biome\geode\musicalgeodes\geodecnatural\geodecnaturallit.png [NEW] objects\biome\geode\musicalgeodes\geodecnatural\icongeodecnatural.png [NEW] objects\biome\geode\musicalgeodes\geodecnote\geodecnote.frames [NEW] objects\biome\geode\musicalgeodes\geodecnote\geodecnote.object [NEW] objects\biome\geode\musicalgeodes\geodecnote\geodecnote.png [NEW] objects\biome\geode\musicalgeodes\geodecnote\geodecnotelit.frames [NEW] objects\biome\geode\musicalgeodes\geodecnote\geodecnotelit.png [NEW] objects\biome\geode\musicalgeodes\geodecnote\icongeodecnote.png [NEW] objects\biome\geode\musicalgeodes\geodednatural\geodednatural.frames [NEW] objects\biome\geode\musicalgeodes\geodednatural\geodednatural.object [NEW] objects\biome\geode\musicalgeodes\geodednatural\geodednatural.png [NEW] objects\biome\geode\musicalgeodes\geodednatural\geodednaturallit.frames [NEW] objects\biome\geode\musicalgeodes\geodednatural\geodednaturallit.png [NEW] objects\biome\geode\musicalgeodes\geodednatural\icongeodednatural.png [NEW] objects\biome\geode\musicalgeodes\geodednote\geodednote.frames [NEW] objects\biome\geode\musicalgeodes\geodednote\geodednote.object [NEW] objects\biome\geode\musicalgeodes\geodednote\geodednote.png [NEW] objects\biome\geode\musicalgeodes\geodednote\geodednotelit.frames [NEW] objects\biome\geode\musicalgeodes\geodednote\geodednotelit.png [NEW] objects\biome\geode\musicalgeodes\geodednote\icongeodednote.png [NEW] objects\biome\geode\musicalgeodes\geodeenote\geodeenote.frames [NEW] objects\biome\geode\musicalgeodes\geodeenote\geodeenote.object [NEW] objects\biome\geode\musicalgeodes\geodeenote\geodeenote.png [NEW] objects\biome\geode\musicalgeodes\geodeenote\geodeenotelit.frames [NEW] objects\biome\geode\musicalgeodes\geodeenote\geodeenotelit.png [NEW] objects\biome\geode\musicalgeodes\geodeenote\icongeodeenote.png [NEW] objects\biome\geode\musicalgeodes\geodefnote\geodefnote.frames [NEW] objects\biome\geode\musicalgeodes\geodefnote\geodefnote.object [NEW] objects\biome\geode\musicalgeodes\geodefnote\geodefnote.png [NEW] objects\biome\geode\musicalgeodes\geodefnote\geodefnotelit.frames [NEW] objects\biome\geode\musicalgeodes\geodefnote\geodefnotelit.png [NEW] objects\biome\geode\musicalgeodes\geodefnote\icongeodefnote.png [NEW] objects\biome\geode\musicalgeodes\geodegnote\geodegnote.frames [NEW] objects\biome\geode\musicalgeodes\geodegnote\geodegnote.object [NEW] objects\biome\geode\musicalgeodes\geodegnote\geodegnote.png [NEW] objects\biome\geode\musicalgeodes\geodegnote\geodegnotelit.frames [NEW] objects\biome\geode\musicalgeodes\geodegnote\geodegnotelit.png [NEW] objects\biome\geode\musicalgeodes\geodegnote\icongeodegnote.png [NEW] objects\biome\geode\musicalgeodes\geodehighanatural\geodehighanatural.frames [NEW] objects\biome\geode\musicalgeodes\geodehighanatural\geodehighanatural.object [NEW] objects\biome\geode\musicalgeodes\geodehighanatural\geodehighanatural.png [NEW] objects\biome\geode\musicalgeodes\geodehighanatural\geodehighanaturallit.frames [NEW] objects\biome\geode\musicalgeodes\geodehighanatural\geodehighanaturallit.png [NEW] objects\biome\geode\musicalgeodes\geodehighanatural\icongeodehighanatural.png [NEW] objects\biome\geode\musicalgeodes\geodehighanote\geodehighanote.frames [NEW] objects\biome\geode\musicalgeodes\geodehighanote\geodehighanote.object [NEW] objects\biome\geode\musicalgeodes\geodehighanote\geodehighanote.png [NEW] objects\biome\geode\musicalgeodes\geodehighanote\geodehighanotelit.frames [NEW] objects\biome\geode\musicalgeodes\geodehighanote\geodehighanotelit.png [NEW] objects\biome\geode\musicalgeodes\geodehighanote\icongeodehighanote.png [NEW] objects\biome\geode\musicalgeodes\geodelowanatural\geodelowanatural.frames [NEW] objects\biome\geode\musicalgeodes\geodelowanatural\geodelowanatural.object [NEW] objects\biome\geode\musicalgeodes\geodelowanatural\geodelowanatural.png [NEW] objects\biome\geode\musicalgeodes\geodelowanatural\geodelowanaturallit.frames [NEW] objects\biome\geode\musicalgeodes\geodelowanatural\geodelowanaturallit.png [NEW] objects\biome\geode\musicalgeodes\geodelowanatural\icongeodelowanatural.png [NEW] objects\biome\geode\musicalgeodes\geodelowanote\geodelowanote.frames [NEW] objects\biome\geode\musicalgeodes\geodelowanote\geodelowanote.object [NEW] objects\biome\geode\musicalgeodes\geodelowanote\geodelowanote.png [NEW] objects\biome\geode\musicalgeodes\geodelowanote\geodelowanotelit.frames [NEW] objects\biome\geode\musicalgeodes\geodelowanote\geodelowanotelit.png [NEW] objects\biome\geode\musicalgeodes\geodelowanote\icongeodelowanote.png [NEW] objects\biome\geologicalsample\aegisaltsample\aegisaltsample.frames [NEW] objects\biome\geologicalsample\aegisaltsample\aegisaltsample.object [NEW] objects\biome\geologicalsample\aegisaltsample\aegisaltsample.png [NEW] objects\biome\geologicalsample\aegisaltsample\icon.png [NEW] objects\biome\geologicalsample\coalsample\coalsample.frames [NEW] objects\biome\geologicalsample\coalsample\coalsample.object [NEW] objects\biome\geologicalsample\coalsample\coalsample.png [NEW] objects\biome\geologicalsample\coalsample\icon.png [NEW] objects\biome\geologicalsample\coppersample\coppersample.frames [NEW] objects\biome\geologicalsample\coppersample\coppersample.object [NEW] objects\biome\geologicalsample\coppersample\coppersample.png [NEW] objects\biome\geologicalsample\coppersample\icon.png [NEW] objects\biome\geologicalsample\corefragmentsample\corefragmentsample.frames [NEW] objects\biome\geologicalsample\corefragmentsample\corefragmentsample.object [NEW] objects\biome\geologicalsample\corefragmentsample\corefragmentsample.png [NEW] objects\biome\geologicalsample\corefragmentsample\icon.png [NEW] objects\biome\geologicalsample\diamondsample\diamondsample.frames [NEW] objects\biome\geologicalsample\diamondsample\diamondsample.object [NEW] objects\biome\geologicalsample\diamondsample\diamondsample.png [NEW] objects\biome\geologicalsample\diamondsample\icon.png [NEW] objects\biome\geologicalsample\durasteelsample\durasteelsample.frames [NEW] objects\biome\geologicalsample\durasteelsample\durasteelsample.object [NEW] objects\biome\geologicalsample\durasteelsample\durasteelsample.png [NEW] objects\biome\geologicalsample\durasteelsample\icon.png [NEW] objects\biome\geologicalsample\geodebluesample\geodebluesample.frames [NEW] objects\biome\geologicalsample\geodebluesample\geodebluesample.object [NEW] objects\biome\geologicalsample\geodebluesample\geodebluesample.png [NEW] objects\biome\geologicalsample\geodebluesample\icon.png [NEW] objects\biome\geologicalsample\geodegreensample\geodegreensample.frames [NEW] objects\biome\geologicalsample\geodegreensample\geodegreensample.object [NEW] objects\biome\geologicalsample\geodegreensample\geodegreensample.png [NEW] objects\biome\geologicalsample\geodegreensample\icon.png [NEW] objects\biome\geologicalsample\geodeorangesample\geodeorangesample.frames [NEW] objects\biome\geologicalsample\geodeorangesample\geodeorangesample.object [NEW] objects\biome\geologicalsample\geodeorangesample\geodeorangesample.png [NEW] objects\biome\geologicalsample\geodeorangesample\icon.png [NEW] objects\biome\geologicalsample\geodepurplesample\geodepurplesample.frames [NEW] objects\biome\geologicalsample\geodepurplesample\geodepurplesample.object [NEW] objects\biome\geologicalsample\geodepurplesample\geodepurplesample.png [NEW] objects\biome\geologicalsample\geodepurplesample\icon.png [NEW] objects\biome\geologicalsample\geoderedsample\geoderedsample.frames [NEW] objects\biome\geologicalsample\geoderedsample\geoderedsample.object [NEW] objects\biome\geologicalsample\geoderedsample\geoderedsample.png [NEW] objects\biome\geologicalsample\geoderedsample\icon.png [NEW] objects\biome\geologicalsample\geodeyellowsample\geodeyellowsample.frames [NEW] objects\biome\geologicalsample\geodeyellowsample\geodeyellowsample.object [NEW] objects\biome\geologicalsample\geodeyellowsample\geodeyellowsample.png [NEW] objects\biome\geologicalsample\geodeyellowsample\icon.png [NEW] objects\biome\geologicalsample\goldsample\goldsample.frames [NEW] objects\biome\geologicalsample\goldsample\goldsample.object [NEW] objects\biome\geologicalsample\goldsample\goldsample.png [NEW] objects\biome\geologicalsample\goldsample\icon.png [NEW] objects\biome\geologicalsample\ironsample\icon.png [NEW] objects\biome\geologicalsample\ironsample\ironsample.frames [NEW] objects\biome\geologicalsample\ironsample\ironsample.object [NEW] objects\biome\geologicalsample\ironsample\ironsample.png [NEW] objects\biome\geologicalsample\platinumsample\icon.png [NEW] objects\biome\geologicalsample\platinumsample\platinumsample.frames [NEW] objects\biome\geologicalsample\platinumsample\platinumsample.object [NEW] objects\biome\geologicalsample\platinumsample\platinumsample.png [NEW] objects\biome\geologicalsample\plutoniumsample\icon.png [NEW] objects\biome\geologicalsample\plutoniumsample\plutoniumsample.frames [NEW] objects\biome\geologicalsample\plutoniumsample\plutoniumsample.object [NEW] objects\biome\geologicalsample\plutoniumsample\plutoniumsample.png [NEW] objects\biome\geologicalsample\prisilitesample\icon.png [NEW] objects\biome\geologicalsample\prisilitesample\prisilitesample.frames [NEW] objects\biome\geologicalsample\prisilitesample\prisilitesample.object [NEW] objects\biome\geologicalsample\prisilitesample\prisilitesample.png [NEW] objects\biome\geologicalsample\rubiumsample\icon.png [NEW] objects\biome\geologicalsample\rubiumsample\rubiumsample.frames [NEW] objects\biome\geologicalsample\rubiumsample\rubiumsample.object [NEW] objects\biome\geologicalsample\rubiumsample\rubiumsample.png [NEW] objects\biome\geologicalsample\solariumsample\icon.png [NEW] objects\biome\geologicalsample\solariumsample\solariumsample.frames [NEW] objects\biome\geologicalsample\solariumsample\solariumsample.object [NEW] objects\biome\geologicalsample\solariumsample\solariumsample.png [NEW] objects\biome\geologicalsample\titaniumsample\icon.png [NEW] objects\biome\geologicalsample\titaniumsample\titaniumsample.frames [NEW] objects\biome\geologicalsample\titaniumsample\titaniumsample.object [NEW] objects\biome\geologicalsample\titaniumsample\titaniumsample.png [NEW] objects\biome\geologicalsample\tungstensample\icon.png [NEW] objects\biome\geologicalsample\tungstensample\tungstensample.frames [NEW] objects\biome\geologicalsample\tungstensample\tungstensample.object [NEW] objects\biome\geologicalsample\tungstensample\tungstensample.png [NEW] objects\biome\geologicalsample\uraniumsample\icon.png [NEW] objects\biome\geologicalsample\uraniumsample\uraniumsample.frames [NEW] objects\biome\geologicalsample\uraniumsample\uraniumsample.object [NEW] objects\biome\geologicalsample\uraniumsample\uraniumsample.png [NEW] objects\biome\geologicalsample\violiumsample\icon.png [NEW] objects\biome\geologicalsample\violiumsample\violiumsample.frames [NEW] objects\biome\geologicalsample\violiumsample\violiumsample.object [NEW] objects\biome\geologicalsample\violiumsample\violiumsample.png objects\colony\colonydeed\colonydeed.lua objects\colony\colonydeed\scanning.lua objects\colony\colonydeed\timer.lua [NEW] objects\crafting\acceleratoraddon\acceleratoraddon.frames [NEW] objects\crafting\acceleratoraddon\acceleratoraddon.object [NEW] objects\crafting\acceleratoraddon\acceleratoraddon.png [NEW] objects\crafting\acceleratoraddon\acceleratoraddonicon.png objects\crafting\alloyfurnace\alloyfurnace.object objects\crafting\apothecary\apothecary.object objects\crafting\farmtable\farmtable.object objects\crafting\ironanvil\ironanvil.object [NEW] objects\crafting\manipulatoraddon\manipulatoraddon.frames [NEW] objects\crafting\manipulatoraddon\manipulatoraddon.object [NEW] objects\crafting\manipulatoraddon\manipulatoraddon.png [NEW] objects\crafting\manipulatoraddon\manipulatoraddonicon.png objects\crafting\metalworkstation\metalworkstation.object objects\crafting\pixelcompressor\pixelcompressor.object objects\crafting\scifianvil\scifianvil.object objects\crafting\scififurnace\scififurnace.object [NEW] objects\crafting\separatoraddon\separatoraddon.frames [NEW] objects\crafting\separatoraddon\separatoraddon.object [NEW] objects\crafting\separatoraddon\separatoraddon.png [NEW] objects\crafting\separatoraddon\separatoraddonicon.png objects\crafting\upgradeablecraftingobjects\upgradeablecraftingobject.lua objects\crafting\upgradeablecraftingobjects\craftinganvil\craftinganvil.animation objects\crafting\upgradeablecraftingobjects\craftinganvil\craftinganvil.object objects\crafting\upgradeablecraftingobjects\craftinganvil\craftinganvil.png [NEW] objects\crafting\upgradeablecraftingobjects\craftinganvil\craftinganvil3.frames [NEW] objects\crafting\upgradeablecraftingobjects\craftinganvil\craftinganvil3.png [NEW] objects\crafting\upgradeablecraftingobjects\craftinganvil\craftinganvil3icon.png [NEW] objects\crafting\upgradeablecraftingobjects\craftinganvil\craftinganvil3lit.frames [NEW] objects\crafting\upgradeablecraftingobjects\craftinganvil\craftinganvil3lit.png objects\crafting\upgradeablecraftingobjects\craftinganvil\default.frames objects\crafting\upgradeablecraftingobjects\craftingfarm\craftingfarm.object objects\crafting\upgradeablecraftingobjects\craftingfurniture\craftingfurniture.object objects\crafting\upgradeablecraftingobjects\craftingfurniture\craftingfurniture2.png objects\crafting\upgradeablecraftingobjects\craftingfurniture\craftingfurniture2icon.png objects\crafting\upgradeablecraftingobjects\craftingmedical\craftingmedical.object objects\crafting\upgradeablecraftingobjects\craftingmedical\craftingmedical2icon.png objects\crafting\upgradeablecraftingobjects\craftingmedical\craftingmedicalicon.png objects\crafting\upgradeablecraftingobjects\craftingwheel\craftingwheel.object objects\crafting\upgradeablecraftingobjects\inventorstable\inventorstable.animation objects\crafting\upgradeablecraftingobjects\inventorstable\inventorstable.object objects\crafting\upgradeablecraftingobjects\inventorstable\inventorstable2.png objects\crafting\upgradeablecraftingobjects\inventorstable\inventorstable2icon.png [NEW] objects\crafting\upgradeablecraftingobjects\inventorstable\inventorstable3.frames objects\crafting\upgradeablecraftingobjects\inventorstable\inventorstable3.png objects\crafting\upgradeablecraftingobjects\inventorstable\inventorstable3icon.png [NEW] objects\crafting\upgradeablecraftingobjects\inventorstable\inventorstable3lit.frames [NEW] objects\crafting\upgradeablecraftingobjects\inventorstable\inventorstable3lit.png objects\crafting\upgradeablecraftingobjects\inventorstable\inventorstableicon.png objects\crafting\wiringstation\wiringstation.object objects\crafting\woodencraftingtable\woodencraftingtable.object objects\farmables\flowerred\flowerred.object objects\farmables\toxictop\toxictopseed.object objects\farmables\toxictop\wildtoxictopseed.object objects\farmables\wartweed\wartweedseed.object objects\farmables\wartweed\wildwartweedseed.object objects\farmables\wheat\wheatseed.object objects\farmables\wheat\wildwheatseed.object objects\floran\floranbench\floranbench.object objects\floran\floranbonedisplay1\floranbonedisplay1.object objects\floran\floranstoragelocker\floranstoragelocker.object objects\generic\arcadegame\arcadegameobject.lua objects\generic\foodbowl\foodbowl.lua objects\glitch\anvil\anvil.object objects\glitch\glitchstoragelocker\glitchstoragelocker.object objects\holiday\giftmonsterbox\giftmonsterbox.lua objects\human\bunkerrobotfactory\behavior.lua objects\human\humanstoragelocker\humanstoragelocker.object objects\hylotl\hylotlredalert\hylotlredalert.lua objects\hylotl\hylotlstoragelocker\hylotlstoragelocker.object [NEW] objects\mission\avianmission\avianartifactaltar\avianartifactaltar.animation [NEW] objects\mission\avianmission\avianartifactaltar\avianartifactaltar.frames [NEW] objects\mission\avianmission\avianartifactaltar\avianartifactaltar.lua [NEW] objects\mission\avianmission\avianartifactaltar\avianartifactaltar.object [NEW] objects\mission\avianmission\avianartifactaltar\avianartifactaltar.png objects\mission\lunarbaselaser\lunarbaselaser.lua objects\mission\proximitywallsensor\proximitywallsensor.lua objects\mission\templepressureplatform\templepressureplatform.object objects\mission\templepressureplatform\templepressureplatform.png objects\noisy\noisy.lua objects\novakid\novakidstoragelocker\novakidstoragelocker.object objects\outpost\customsign\customsign.lua objects\outpost\frogfurnishing\frogfurnishing.lua objects\outpost\penguinbay\penguinbay.lua objects\outpost\repairo\repairo.lua objects\outpost\signstore\signdispenser.lua objects\outpost\signstore\signstoreobject.lua [NEW] objects\protectorate\objects\protectoratehallpodium.png objects\scripts\autofill.lua objects\spawner\monsterspawner.lua objects\spawner\shippetspawner.lua objects\spawner\spawners\spawner.lua objects\themed\island\hulagirl\hulagirl.lua objects\themed\saloon\saloondoor\saloondoor.lua objects\wired\alarm\alarm.lua objects\wired\door\door.lua objects\wired\door\trapdoor.lua objects\wired\drain\drain.lua objects\wired\forcepad\forcepad.lua objects\wired\invisiblesound\invisiblesound.lua objects\wired\ironbeacon\decoyprincess.lua objects\wired\ironbeacon\ironbeacon.lua objects\wired\ironbeacon\jellyboss.lua objects\wired\ironbeacon\robot.lua objects\wired\landmine\landmine.lua objects\wired\light\light.lua objects\wired\lightsensor\lightsensor.lua objects\wired\lightsensor\unwiredlightsensor.lua objects\wired\liquidsensor\liquidsensor.lua objects\wired\logic\countdowntimer.lua objects\wired\logic\delay.lua objects\wired\logic\dlatch.lua objects\wired\logic\logic.lua objects\wired\logic\timer.lua objects\wired\momentaryswitch\momentaryswitch.lua objects\wired\movingplatform\movingplatform.lua objects\wired\projectiletrap\projectiletrap.lua objects\wired\proximitysensor\proximitysensor.lua objects\wired\proximitysensor\proximitysensor.object objects\wired\shieldgenerator\shieldgenerator.lua objects\wired\standingturret\standingturret.lua objects\wired\standingturret\standingturret.object objects\wired\switch\persistentswitch.lua objects\wired\switch\switch.lua objects\wired\switch\switchwithinput.lua objects\wired\switch\switchwithinputalwayslit.lua [NEW] plants\trees\forestceiling\stems\geodevine\geodevine.modularstem [NEW] plants\trees\forestceiling\stems\geodevine\geodevinebase1.png [NEW] plants\trees\forestceiling\stems\geodevine\geodevinebase2.png [NEW] plants\trees\forestceiling\stems\geodevine\geodevineend1.png [NEW] plants\trees\forestceiling\stems\geodevine\geodevineend2.png [NEW] plants\trees\forestceiling\stems\geodevine\geodevinemid1.png [NEW] plants\trees\forestceiling\stems\geodevine\geodevinemid2.png [NEW] plants\trees\geode\foliage\geodefoliage\branch1.png [NEW] plants\trees\geode\foliage\geodefoliage\branch2.png [NEW] plants\trees\geode\foliage\geodefoliage\branch3.png [NEW] plants\trees\geode\foliage\geodefoliage\crown1.png [NEW] plants\trees\geode\foliage\geodefoliage\crown2.png [NEW] plants\trees\geode\foliage\geodefoliage\crown3.png [NEW] plants\trees\geode\foliage\geodefoliage\geodefoliage.modularfoliage [NEW] plants\trees\geode\foliage\geodefoliage\saplingicon.png [NEW] plants\trees\geode\stem\base1.png [NEW] plants\trees\geode\stem\base2.png [NEW] plants\trees\geode\stem\base3.png [NEW] plants\trees\geode\stem\crown1.png [NEW] plants\trees\geode\stem\crown2.png [NEW] plants\trees\geode\stem\crown3.png [NEW] plants\trees\geode\stem\geode.modularstem [NEW] plants\trees\geode\stem\middle1.png [NEW] plants\trees\geode\stem\middle2.png [NEW] plants\trees\geode\stem\middle3.png [NEW] plants\trees\geode\stem\middle4.png [NEW] plants\trees\geode\stem\saplingicon.png projectiles\activeitems\boomerang\boomerangprojectile.lua projectiles\activeitems\boomerang\lunarangprojectile.lua projectiles\activeitems\boomerang\wormerangprojectile.lua projectiles\activeitems\chakram\chakramprojectile.lua projectiles\activeitems\chakram\hoverchakramprojectile.lua projectiles\activeitems\delaybullet\delaybullet.lua projectiles\activeitems\fuelaircloud\fuelaircloud.lua projectiles\activeitems\fuelaircloud\newcloud.png projectiles\activeitems\guidedrocket\guidedrocket.lua projectiles\activeitems\translocatordisc\translocatordisc.lua projectiles\boss\spiderboss\ixolingspawn.lua projectiles\explosions\globeexplosions\redglobeexplosion\redglobeexplosion.projectile projectiles\explosions\lightblockexplosion\lightblockexplosion.projectile projectiles\explosions\vlightblockexplosion\vlightblockexplosion.projectile projectiles\guns\arrows\chargedicearrow\chargedicearrow.projectile projectiles\guns\arrows\icebolt\icebolt.projectile projectiles\guns\arrows\ironarrow\ironarrow.projectile projectiles\guns\arrows\woodenarrow\woodenarrow.projectile projectiles\guns\rockets\homingrocket\homingrocket.lua projectiles\guns\rockets\minirocket\minirocket.lua projectiles\guns\unsorted\icethrower\icethrower.projectile projectiles\homingarrow\homingarrow.lua projectiles\staves\racialstaves\crystal\cardinalschalcedony\chalcedonyspawner.projectile projectiles\staves\racialstaves\crystal\quetzalcoatlsquartz\quartzpulse\quartzpulse.projectile projectiles\swoosh\spear\frostspearswoosh\frostspearswoosh.projectile projectiles\throwable\capturepod\capturepod.lua quests\scripts\main.lua quests\scripts\generated\clothing.lua quests\scripts\generated\collect_fine.lua quests\scripts\generated\collect_gift.lua quests\scripts\generated\common.lua quests\scripts\generated\fetch.lua quests\scripts\generated\gift.lua quests\scripts\generated\new_stock.lua quests\scripts\generated\recruit_guard.lua quests\scripts\generated\secret_note.lua quests\scripts\generated\themed_build.lua recipes\anvil1\armor\tier2\apextier2chest.recipe recipes\anvil1\armor\tier2\apextier2head.recipe recipes\anvil1\armor\tier2\apextier2pants.recipe recipes\anvil1\armor\tier2\aviantier2chest.recipe recipes\anvil1\armor\tier2\aviantier2head.recipe recipes\anvil1\armor\tier2\aviantier2pants.recipe recipes\anvil1\armor\tier2\florantier2chest.recipe recipes\anvil1\armor\tier2\florantier2head.recipe recipes\anvil1\armor\tier2\florantier2pants.recipe recipes\anvil1\armor\tier2\glitchtier2chest.recipe recipes\anvil1\armor\tier2\glitchtier2head.recipe recipes\anvil1\armor\tier2\glitchtier2pants.recipe recipes\anvil1\armor\tier2\humantier2chest.recipe recipes\anvil1\armor\tier2\humantier2head.recipe recipes\anvil1\armor\tier2\humantier2pants.recipe recipes\anvil1\armor\tier2\hylotltier2chest.recipe recipes\anvil1\armor\tier2\hylotltier2head.recipe recipes\anvil1\armor\tier2\hylotltier2pants.recipe recipes\anvil1\armor\tier2\novatier2chest.recipe recipes\anvil1\armor\tier2\novatier2head.recipe recipes\anvil1\armor\tier2\novatier2pants.recipe recipes\anvil2\armor\tier3\apextier3chest.recipe recipes\anvil2\armor\tier3\apextier3head.recipe recipes\anvil2\armor\tier3\apextier3pants.recipe recipes\anvil2\armor\tier3\aviantier3chest.recipe recipes\anvil2\armor\tier3\aviantier3head.recipe recipes\anvil2\armor\tier3\aviantier3pants.recipe recipes\anvil2\armor\tier3\florantier3chest.recipe recipes\anvil2\armor\tier3\florantier3head.recipe recipes\anvil2\armor\tier3\florantier3pants.recipe recipes\anvil2\armor\tier3\glitchtier3chest.recipe recipes\anvil2\armor\tier3\glitchtier3head.recipe recipes\anvil2\armor\tier3\glitchtier3pants.recipe recipes\anvil2\armor\tier3\humantier3chest.recipe recipes\anvil2\armor\tier3\humantier3head.recipe recipes\anvil2\armor\tier3\humantier3pants.recipe recipes\anvil2\armor\tier3\hylotltier3chest.recipe recipes\anvil2\armor\tier3\hylotltier3head.recipe recipes\anvil2\armor\tier3\hylotltier3pants.recipe recipes\anvil2\armor\tier3\novatier3chest.recipe recipes\anvil2\armor\tier3\novatier3head.recipe recipes\anvil2\armor\tier3\novatier3pants.recipe recipes\anvil2\armor\tier4\apextier4chest.recipe recipes\anvil2\armor\tier4\apextier4head.recipe recipes\anvil2\armor\tier4\apextier4pants.recipe recipes\anvil2\armor\tier4\aviantier4chest.recipe recipes\anvil2\armor\tier4\aviantier4head.recipe recipes\anvil2\armor\tier4\aviantier4pants.recipe recipes\anvil2\armor\tier4\florantier4chest.recipe recipes\anvil2\armor\tier4\florantier4head.recipe recipes\anvil2\armor\tier4\florantier4pants.recipe recipes\anvil2\armor\tier4\glitchtier4chest.recipe recipes\anvil2\armor\tier4\glitchtier4head.recipe recipes\anvil2\armor\tier4\glitchtier4pants.recipe recipes\anvil2\armor\tier4\humantier4chest.recipe recipes\anvil2\armor\tier4\humantier4head.recipe recipes\anvil2\armor\tier4\humantier4pants.recipe recipes\anvil2\armor\tier4\hylotltier4chest.recipe recipes\anvil2\armor\tier4\hylotltier4head.recipe recipes\anvil2\armor\tier4\hylotltier4pants.recipe recipes\anvil2\armor\tier4\novatier4chest.recipe recipes\anvil2\armor\tier4\novatier4head.recipe recipes\anvil2\armor\tier4\novatier4pants.recipe [NEW] recipes\cookingtable1\unlocks\tier2\applecrumble.recipe [NEW] recipes\cookingtable1\unlocks\tier2\baconpancakes.recipe [NEW] recipes\cookingtable1\unlocks\tier2\beakseedbread.recipe [NEW] recipes\cookingtable1\unlocks\tier2\beakseedjam.recipe [NEW] recipes\cookingtable1\unlocks\tier2\beakseedtart.recipe [NEW] recipes\cookingtable1\unlocks\tier2\bonbonbonbons.recipe [NEW] recipes\cookingtable1\unlocks\tier2\cactusjuice.recipe [NEW] recipes\cookingtable1\unlocks\tier2\candiedcorn.recipe [NEW] recipes\cookingtable1\unlocks\tier2\candyapple.recipe [NEW] recipes\cookingtable1\unlocks\tier2\carrotbread.recipe [NEW] recipes\cookingtable1\unlocks\tier2\carrotcake.recipe [NEW] recipes\cookingtable1\unlocks\tier2\carrotjuice.recipe [NEW] recipes\cookingtable1\unlocks\tier2\carrotsoup.recipe [NEW] recipes\cookingtable1\unlocks\tier2\cheeseburger.recipe [NEW] recipes\cookingtable1\unlocks\tier2\chocolatecake.recipe [NEW] recipes\cookingtable1\unlocks\tier2\coffeecake.recipe [NEW] recipes\cookingtable1\unlocks\tier2\cornpeckers.recipe [NEW] recipes\cookingtable1\unlocks\tier2\feathercrownjam.recipe [NEW] recipes\cookingtable1\unlocks\tier2\featherfood.recipe [NEW] recipes\cookingtable1\unlocks\tier2\flatwhite.recipe [NEW] recipes\cookingtable1\unlocks\tier2\fluffyruffs.recipe [NEW] recipes\cookingtable1\unlocks\tier2\gardensalad.recipe [NEW] recipes\cookingtable1\unlocks\tier2\hamburger.recipe [NEW] recipes\cookingtable1\unlocks\tier2\kiwijam.recipe [NEW] recipes\cookingtable1\unlocks\tier2\kiwijuice.recipe [NEW] recipes\cookingtable1\unlocks\tier2\mocha.recipe [NEW] recipes\cookingtable1\unlocks\tier2\mushroombread.recipe [NEW] recipes\cookingtable1\unlocks\tier2\mushroomquiche.recipe [NEW] recipes\cookingtable1\unlocks\tier2\mushroomrice.recipe [NEW] recipes\cookingtable1\unlocks\tier2\omelette.recipe [NEW] recipes\cookingtable1\unlocks\tier2\pasty.recipe [NEW] recipes\cookingtable1\unlocks\tier2\pearlpeajam.recipe [NEW] recipes\cookingtable1\unlocks\tier2\pearlpeapancakes.recipe [NEW] recipes\cookingtable1\unlocks\tier2\pizza.recipe [NEW] recipes\cookingtable1\unlocks\tier2\pizzaslice.recipe [NEW] recipes\cookingtable1\unlocks\tier2\porridge.recipe [NEW] recipes\cookingtable1\unlocks\tier2\quichelorraine.recipe [NEW] recipes\cookingtable1\unlocks\tier2\relish.recipe [NEW] recipes\cookingtable1\unlocks\tier2\ricepudding.recipe [NEW] recipes\cookingtable1\unlocks\tier2\roastdinner.recipe [NEW] recipes\cookingtable1\unlocks\tier2\specialrice.recipe [NEW] recipes\cookingtable1\unlocks\tier2\spikycookies.recipe [NEW] recipes\cookingtable1\unlocks\tier2\stickyribs.recipe [NEW] recipes\cookingtable1\unlocks\tier2\stuffedtomato.recipe [NEW] recipes\cookingtable1\unlocks\tier2\sweetmeat.recipe [NEW] recipes\cookingtable1\unlocks\tier2\tomatojuice.recipe [NEW] recipes\cookingtable1\unlocks\tier2\tomatosoup.recipe [NEW] recipes\cookingtable1\unlocks\tier3\2kbpotage.recipe [NEW] recipes\cookingtable1\unlocks\tier3\apegrapes.recipe [NEW] recipes\cookingtable1\unlocks\tier3\apexfritter.recipe [NEW] recipes\cookingtable1\unlocks\tier3\automatoshake.recipe [NEW] recipes\cookingtable1\unlocks\tier3\automatostew.recipe [NEW] recipes\cookingtable1\unlocks\tier3\bananacon.recipe [NEW] recipes\cookingtable1\unlocks\tier3\bananacreamdonut.recipe [NEW] recipes\cookingtable1\unlocks\tier3\bananacreampie.recipe [NEW] recipes\cookingtable1\unlocks\tier3\bananaicecream.recipe [NEW] recipes\cookingtable1\unlocks\tier3\batteredbanana.recipe [NEW] recipes\cookingtable1\unlocks\tier3\cactiicecream.recipe [NEW] recipes\cookingtable1\unlocks\tier3\campfirebanana.recipe [NEW] recipes\cookingtable1\unlocks\tier3\candyautomato.recipe [NEW] recipes\cookingtable1\unlocks\tier3\choconut.recipe [NEW] recipes\cookingtable1\unlocks\tier3\coconuticecream.recipe [NEW] recipes\cookingtable1\unlocks\tier3\coconutrice.recipe [NEW] recipes\cookingtable1\unlocks\tier3\desertsalsa.recipe [NEW] recipes\cookingtable1\unlocks\tier3\fishinabone.recipe [NEW] recipes\cookingtable1\unlocks\tier3\fruitsalad.recipe [NEW] recipes\cookingtable1\unlocks\tier3\grapejuice.recipe [NEW] recipes\cookingtable1\unlocks\tier3\luckydip.recipe [NEW] recipes\cookingtable1\unlocks\tier3\pineapplejam.recipe [NEW] recipes\cookingtable1\unlocks\tier3\pineapplejuice.recipe [NEW] recipes\cookingtable1\unlocks\tier3\pineapplepizzaslice.recipe [NEW] recipes\cookingtable1\unlocks\tier3\snowcone.recipe [NEW] recipes\cookingtable1\unlocks\tier3\spookydonut.recipe [NEW] recipes\cookingtable1\unlocks\tier3\spookypie.recipe [NEW] recipes\cookingtable1\unlocks\tier3\stuffedautomato.recipe [NEW] recipes\cookingtable1\unlocks\tier3\sweetpunch.recipe [NEW] recipes\cookingtable1\unlocks\tier3\thornjuice.recipe [NEW] recipes\cookingtable1\unlocks\tier3\tropicalpunch.recipe [NEW] recipes\cookingtable1\unlocks\tier4\alienfruitjam.recipe [NEW] recipes\cookingtable1\unlocks\tier4\bloodypuss.recipe [NEW] recipes\cookingtable1\unlocks\tier4\brineapple.recipe [NEW] recipes\cookingtable1\unlocks\tier4\cyanider.recipe [NEW] recipes\cookingtable1\unlocks\tier4\oceanrisotto.recipe [NEW] recipes\cookingtable1\unlocks\tier4\oceansalsa.recipe [NEW] recipes\cookingtable1\unlocks\tier4\oceansurprise.recipe [NEW] recipes\cookingtable1\unlocks\tier4\oculemonmeringue.recipe [NEW] recipes\cookingtable1\unlocks\tier4\oculemonstew.recipe [NEW] recipes\cookingtable1\unlocks\tier4\pussplumpudding.recipe [NEW] recipes\cookingtable1\unlocks\tier4\pussplumtart.recipe [NEW] recipes\cookingtable1\unlocks\tier4\reefjuice.recipe [NEW] recipes\cookingtable1\unlocks\tier4\reefpodsurprise.recipe [NEW] recipes\cookingtable1\unlocks\tier4\reefshake.recipe [NEW] recipes\cookingtable1\unlocks\tier4\ricecake.recipe [NEW] recipes\cookingtable1\unlocks\tier4\saltsalad.recipe [NEW] recipes\cookingtable1\unlocks\tier4\seafoodgratin.recipe [NEW] recipes\cookingtable1\unlocks\tier4\soggysack.recipe [NEW] recipes\cookingtable1\unlocks\tier4\stuffeddirturchin.recipe [NEW] recipes\cookingtable1\unlocks\tier4\sushi.recipe [NEW] recipes\cookingtable1\unlocks\tier4\toxicjamdonut.recipe [NEW] recipes\cookingtable1\unlocks\tier4\toxicjuice.recipe [NEW] recipes\cookingtable1\unlocks\tier4\toxictart.recipe [NEW] recipes\cookingtable1\unlocks\tier4\toxictopjam.recipe recipes\farmtable1\hunting\bow.recipe [NEW] recipes\farmtable1\hunting\tungstenbow.recipe [NEW] recipes\farmtable2\hunting\compoundbow.recipe recipes\furnace2\bars\durasteelbar.recipe recipes\furniture2\beds\tier4bed.recipe recipes\furniture2\decorative\tier4chair.recipe recipes\furniture2\decorative\tier4table.recipe recipes\furniture2\doors\tier4door.recipe recipes\furniture2\lights\tier4light.recipe [NEW] recipes\inventorstable3\acceleratoraddon.recipe [NEW] recipes\inventorstable3\manipulatoraddon.recipe [NEW] recipes\inventorstable3\separatoraddon.recipe recipes\inventorstable3\wiringstation.recipe [NEW] recipes\medicaltable2\healing\burnspray.recipe [NEW] recipes\medicaltable2\healing\nanowrap.recipe [NEW] recipes\old\biomes\geode\geodebed.recipe [NEW] recipes\old\biomes\geode\geodebnote.recipe [NEW] recipes\old\biomes\geode\geodeceilinglight.recipe [NEW] recipes\old\biomes\geode\geodechair.recipe [NEW] recipes\old\biomes\geode\geodecnote.recipe [NEW] recipes\old\biomes\geode\geodednote.recipe [NEW] recipes\old\biomes\geode\geodedoor.recipe [NEW] recipes\old\biomes\geode\geodeenote.recipe [NEW] recipes\old\biomes\geode\geodefnote.recipe [NEW] recipes\old\biomes\geode\geodehighanote.recipe [NEW] recipes\old\biomes\geode\geodelowanote.recipe [NEW] recipes\old\biomes\geode\geodeplantpot.recipe [NEW] recipes\oldandunused\apex\tier1\apextier1axe.recipe [NEW] recipes\oldandunused\apex\tier1\apextier1broadsword.recipe [NEW] recipes\oldandunused\apex\tier1\apextier1dagger.recipe [NEW] recipes\oldandunused\apex\tier1\apextier1hammer.recipe [NEW] recipes\oldandunused\apex\tier1\apextier1shortsword.recipe [NEW] recipes\oldandunused\apex\tier1\apextier1spear.recipe [NEW] recipes\oldandunused\apex\tier10\tier10axe.recipe [NEW] recipes\oldandunused\apex\tier10\tier10broadsword.recipe [NEW] recipes\oldandunused\apex\tier10\tier10dagger.recipe [NEW] recipes\oldandunused\apex\tier10\tier10hammer.recipe [NEW] recipes\oldandunused\apex\tier10\tier10shortsword.recipe [NEW] recipes\oldandunused\apex\tier10\tier10spear.recipe [NEW] recipes\oldandunused\apex\tier2\apextier2axe.recipe [NEW] recipes\oldandunused\apex\tier2\apextier2broadsword.recipe [NEW] recipes\oldandunused\apex\tier2\apextier2dagger.recipe [NEW] recipes\oldandunused\apex\tier2\apextier2hammer.recipe [NEW] recipes\oldandunused\apex\tier2\apextier2shortsword.recipe [NEW] recipes\oldandunused\apex\tier2\apextier2spear.recipe [NEW] recipes\oldandunused\apex\tier3\apextier3axe.recipe [NEW] recipes\oldandunused\apex\tier3\apextier3broadsword.recipe [NEW] recipes\oldandunused\apex\tier3\apextier3dagger.recipe [NEW] recipes\oldandunused\apex\tier3\apextier3hammer.recipe [NEW] recipes\oldandunused\apex\tier3\apextier3shortsword.recipe [NEW] recipes\oldandunused\apex\tier3\apextier3spear.recipe [NEW] recipes\oldandunused\apex\tier4\apextier4axe.recipe [NEW] recipes\oldandunused\apex\tier4\apextier4broadsword.recipe [NEW] recipes\oldandunused\apex\tier4\apextier4dagger.recipe [NEW] recipes\oldandunused\apex\tier4\apextier4hammer.recipe [NEW] recipes\oldandunused\apex\tier4\apextier4shortsword.recipe [NEW] recipes\oldandunused\apex\tier4\apextier4spear.recipe [NEW] recipes\oldandunused\apex\tier5\tier5axe.recipe [NEW] recipes\oldandunused\apex\tier5\tier5broadsword.recipe [NEW] recipes\oldandunused\apex\tier5\tier5dagger.recipe [NEW] recipes\oldandunused\apex\tier5\tier5hammer.recipe [NEW] recipes\oldandunused\apex\tier5\tier5shortsword.recipe [NEW] recipes\oldandunused\apex\tier5\tier5spear.recipe [NEW] recipes\oldandunused\apex\tier6\tier6axe.recipe [NEW] recipes\oldandunused\apex\tier6\tier6broadsword.recipe [NEW] recipes\oldandunused\apex\tier6\tier6dagger.recipe [NEW] recipes\oldandunused\apex\tier6\tier6hammer.recipe [NEW] recipes\oldandunused\apex\tier6\tier6shortsword.recipe [NEW] recipes\oldandunused\apex\tier6\tier6spear.recipe [NEW] recipes\oldandunused\apex\tier7\tier7axe.recipe [NEW] recipes\oldandunused\apex\tier7\tier7broadsword.recipe [NEW] recipes\oldandunused\apex\tier7\tier7dagger.recipe [NEW] recipes\oldandunused\apex\tier7\tier7hammer.recipe [NEW] recipes\oldandunused\apex\tier7\tier7shortsword.recipe [NEW] recipes\oldandunused\apex\tier7\tier7spear.recipe [NEW] recipes\oldandunused\apex\tier8\tier8axe.recipe [NEW] recipes\oldandunused\apex\tier8\tier8broadsword.recipe [NEW] recipes\oldandunused\apex\tier8\tier8dagger.recipe [NEW] recipes\oldandunused\apex\tier8\tier8hammer.recipe [NEW] recipes\oldandunused\apex\tier8\tier8shortsword.recipe [NEW] recipes\oldandunused\apex\tier8\tier8spear.recipe [NEW] recipes\oldandunused\apex\tier9\tier9axe.recipe [NEW] recipes\oldandunused\apex\tier9\tier9broadsword.recipe [NEW] recipes\oldandunused\apex\tier9\tier9dagger.recipe [NEW] recipes\oldandunused\apex\tier9\tier9hammer.recipe [NEW] recipes\oldandunused\apex\tier9\tier9shortsword.recipe [NEW] recipes\oldandunused\apex\tier9\tier9spear.recipe [NEW] recipes\oldandunused\avian\tier1\aviantier1axe.recipe [NEW] recipes\oldandunused\avian\tier1\aviantier1broadsword.recipe [NEW] recipes\oldandunused\avian\tier1\aviantier1dagger.recipe [NEW] recipes\oldandunused\avian\tier1\aviantier1hammer.recipe [NEW] recipes\oldandunused\avian\tier1\aviantier1shortsword.recipe [NEW] recipes\oldandunused\avian\tier1\aviantier1spear.recipe [NEW] recipes\oldandunused\avian\tier10\tier10axe.recipe [NEW] recipes\oldandunused\avian\tier10\tier10broadsword.recipe [NEW] recipes\oldandunused\avian\tier10\tier10dagger.recipe [NEW] recipes\oldandunused\avian\tier10\tier10hammer.recipe [NEW] recipes\oldandunused\avian\tier10\tier10shortsword.recipe [NEW] recipes\oldandunused\avian\tier10\tier10spear.recipe [NEW] recipes\oldandunused\avian\tier2\aviantier2axe.recipe [NEW] recipes\oldandunused\avian\tier2\aviantier2broadsword.recipe [NEW] recipes\oldandunused\avian\tier2\aviantier2dagger.recipe [NEW] recipes\oldandunused\avian\tier2\aviantier2hammer.recipe [NEW] recipes\oldandunused\avian\tier2\aviantier2shortsword.recipe [NEW] recipes\oldandunused\avian\tier2\aviantier2spear.recipe [NEW] recipes\oldandunused\avian\tier3\aviantier3axe.recipe [NEW] recipes\oldandunused\avian\tier3\aviantier3broadsword.recipe [NEW] recipes\oldandunused\avian\tier3\aviantier3dagger.recipe [NEW] recipes\oldandunused\avian\tier3\aviantier3hammer.recipe [NEW] recipes\oldandunused\avian\tier3\aviantier3shortsword.recipe [NEW] recipes\oldandunused\avian\tier3\aviantier3spear.recipe [NEW] recipes\oldandunused\avian\tier4\aviantier4axe.recipe [NEW] recipes\oldandunused\avian\tier4\aviantier4broadsword.recipe [NEW] recipes\oldandunused\avian\tier4\aviantier4dagger.recipe [NEW] recipes\oldandunused\avian\tier4\aviantier4hammer.recipe [NEW] recipes\oldandunused\avian\tier4\aviantier4shortsword.recipe [NEW] recipes\oldandunused\avian\tier4\aviantier4spear.recipe [NEW] recipes\oldandunused\avian\tier5\tier5axe.recipe [NEW] recipes\oldandunused\avian\tier5\tier5broadsword.recipe [NEW] recipes\oldandunused\avian\tier5\tier5dagger.recipe [NEW] recipes\oldandunused\avian\tier5\tier5hammer.recipe [NEW] recipes\oldandunused\avian\tier5\tier5shortsword.recipe [NEW] recipes\oldandunused\avian\tier5\tier5spear.recipe [NEW] recipes\oldandunused\avian\tier6\tier6axe.recipe [NEW] recipes\oldandunused\avian\tier6\tier6broadsword.recipe [NEW] recipes\oldandunused\avian\tier6\tier6dagger.recipe [NEW] recipes\oldandunused\avian\tier6\tier6hammer.recipe [NEW] recipes\oldandunused\avian\tier6\tier6shortsword.recipe [NEW] recipes\oldandunused\avian\tier6\tier6spear.recipe [NEW] recipes\oldandunused\avian\tier7\tier7axe.recipe [NEW] recipes\oldandunused\avian\tier7\tier7broadsword.recipe [NEW] recipes\oldandunused\avian\tier7\tier7dagger.recipe [NEW] recipes\oldandunused\avian\tier7\tier7hammer.recipe [NEW] recipes\oldandunused\avian\tier7\tier7shortsword.recipe [NEW] recipes\oldandunused\avian\tier7\tier7spear.recipe [NEW] recipes\oldandunused\avian\tier8\tier8axe.recipe [NEW] recipes\oldandunused\avian\tier8\tier8broadsword.recipe [NEW] recipes\oldandunused\avian\tier8\tier8dagger.recipe [NEW] recipes\oldandunused\avian\tier8\tier8hammer.recipe [NEW] recipes\oldandunused\avian\tier8\tier8shortsword.recipe [NEW] recipes\oldandunused\avian\tier8\tier8spear.recipe [NEW] recipes\oldandunused\avian\tier9\tier9axe.recipe [NEW] recipes\oldandunused\avian\tier9\tier9broadsword.recipe [NEW] recipes\oldandunused\avian\tier9\tier9dagger.recipe [NEW] recipes\oldandunused\avian\tier9\tier9hammer.recipe [NEW] recipes\oldandunused\avian\tier9\tier9shortsword.recipe [NEW] recipes\oldandunused\avian\tier9\tier9spear.recipe [NEW] recipes\oldandunused\floran\tier1\florantier1axe.recipe [NEW] recipes\oldandunused\floran\tier1\florantier1broadsword.recipe [NEW] recipes\oldandunused\floran\tier1\florantier1dagger.recipe [NEW] recipes\oldandunused\floran\tier1\florantier1hammer.recipe [NEW] recipes\oldandunused\floran\tier1\florantier1shortsword.recipe [NEW] recipes\oldandunused\floran\tier1\florantier1spear.recipe [NEW] recipes\oldandunused\floran\tier10\tier10axe.recipe [NEW] recipes\oldandunused\floran\tier10\tier10broadsword.recipe [NEW] recipes\oldandunused\floran\tier10\tier10dagger.recipe [NEW] recipes\oldandunused\floran\tier10\tier10hammer.recipe [NEW] recipes\oldandunused\floran\tier10\tier10shortsword.recipe [NEW] recipes\oldandunused\floran\tier10\tier10spear.recipe [NEW] recipes\oldandunused\floran\tier2\florantier2axe.recipe [NEW] recipes\oldandunused\floran\tier2\florantier2broadsword.recipe [NEW] recipes\oldandunused\floran\tier2\florantier2dagger.recipe [NEW] recipes\oldandunused\floran\tier2\florantier2hammer.recipe [NEW] recipes\oldandunused\floran\tier2\florantier2shortsword.recipe [NEW] recipes\oldandunused\floran\tier2\florantier2spear.recipe [NEW] recipes\oldandunused\floran\tier3\florantier3axe.recipe [NEW] recipes\oldandunused\floran\tier3\florantier3broadsword.recipe [NEW] recipes\oldandunused\floran\tier3\florantier3dagger.recipe [NEW] recipes\oldandunused\floran\tier3\florantier3hammer.recipe [NEW] recipes\oldandunused\floran\tier3\florantier3shortsword.recipe [NEW] recipes\oldandunused\floran\tier3\florantier3spear.recipe [NEW] recipes\oldandunused\floran\tier4\florantier4axe.recipe [NEW] recipes\oldandunused\floran\tier4\florantier4broadsword.recipe [NEW] recipes\oldandunused\floran\tier4\florantier4dagger.recipe [NEW] recipes\oldandunused\floran\tier4\florantier4hammer.recipe [NEW] recipes\oldandunused\floran\tier4\florantier4shortsword.recipe [NEW] recipes\oldandunused\floran\tier4\florantier4spear.recipe [NEW] recipes\oldandunused\floran\tier5\tier5axe.recipe [NEW] recipes\oldandunused\floran\tier5\tier5broadsword.recipe [NEW] recipes\oldandunused\floran\tier5\tier5dagger.recipe [NEW] recipes\oldandunused\floran\tier5\tier5hammer.recipe [NEW] recipes\oldandunused\floran\tier5\tier5shortsword.recipe [NEW] recipes\oldandunused\floran\tier5\tier5spear.recipe [NEW] recipes\oldandunused\floran\tier6\tier6axe.recipe [NEW] recipes\oldandunused\floran\tier6\tier6broadsword.recipe [NEW] recipes\oldandunused\floran\tier6\tier6dagger.recipe [NEW] recipes\oldandunused\floran\tier6\tier6hammer.recipe [NEW] recipes\oldandunused\floran\tier6\tier6shortsword.recipe [NEW] recipes\oldandunused\floran\tier6\tier6spear.recipe [NEW] recipes\oldandunused\floran\tier7\tier7axe.recipe [NEW] recipes\oldandunused\floran\tier7\tier7broadsword.recipe [NEW] recipes\oldandunused\floran\tier7\tier7dagger.recipe [NEW] recipes\oldandunused\floran\tier7\tier7hammer.recipe [NEW] recipes\oldandunused\floran\tier7\tier7shortsword.recipe [NEW] recipes\oldandunused\floran\tier7\tier7spear.recipe [NEW] recipes\oldandunused\floran\tier8\tier8axe.recipe [NEW] recipes\oldandunused\floran\tier8\tier8broadsword.recipe [NEW] recipes\oldandunused\floran\tier8\tier8dagger.recipe [NEW] recipes\oldandunused\floran\tier8\tier8hammer.recipe [NEW] recipes\oldandunused\floran\tier8\tier8shortsword.recipe [NEW] recipes\oldandunused\floran\tier8\tier8spear.recipe [NEW] recipes\oldandunused\floran\tier9\tier9axe.recipe [NEW] recipes\oldandunused\floran\tier9\tier9broadsword.recipe [NEW] recipes\oldandunused\floran\tier9\tier9dagger.recipe [NEW] recipes\oldandunused\floran\tier9\tier9hammer.recipe [NEW] recipes\oldandunused\floran\tier9\tier9shortsword.recipe [NEW] recipes\oldandunused\floran\tier9\tier9spear.recipe [NEW] recipes\oldandunused\glitch\tier1\glitchtier1axe.recipe [NEW] recipes\oldandunused\glitch\tier1\glitchtier1broadsword.recipe [NEW] recipes\oldandunused\glitch\tier1\glitchtier1dagger.recipe [NEW] recipes\oldandunused\glitch\tier1\glitchtier1hammer.recipe [NEW] recipes\oldandunused\glitch\tier1\glitchtier1shortsword.recipe [NEW] recipes\oldandunused\glitch\tier1\glitchtier1spear.recipe [NEW] recipes\oldandunused\glitch\tier10\tier10axe.recipe [NEW] recipes\oldandunused\glitch\tier10\tier10broadsword.recipe [NEW] recipes\oldandunused\glitch\tier10\tier10dagger.recipe [NEW] recipes\oldandunused\glitch\tier10\tier10hammer.recipe [NEW] recipes\oldandunused\glitch\tier10\tier10shortsword.recipe [NEW] recipes\oldandunused\glitch\tier10\tier10spear.recipe [NEW] recipes\oldandunused\glitch\tier2\glitchtier2axe.recipe [NEW] recipes\oldandunused\glitch\tier2\glitchtier2broadsword.recipe [NEW] recipes\oldandunused\glitch\tier2\glitchtier2dagger.recipe [NEW] recipes\oldandunused\glitch\tier2\glitchtier2hammer.recipe [NEW] recipes\oldandunused\glitch\tier2\glitchtier2shortsword.recipe [NEW] recipes\oldandunused\glitch\tier2\glitchtier2spear.recipe [NEW] recipes\oldandunused\glitch\tier3\glitchtier3axe.recipe [NEW] recipes\oldandunused\glitch\tier3\glitchtier3broadsword.recipe [NEW] recipes\oldandunused\glitch\tier3\glitchtier3dagger.recipe [NEW] recipes\oldandunused\glitch\tier3\glitchtier3hammer.recipe [NEW] recipes\oldandunused\glitch\tier3\glitchtier3shortsword.recipe [NEW] recipes\oldandunused\glitch\tier3\glitchtier3spear.recipe [NEW] recipes\oldandunused\glitch\tier4\glitchtier4axe.recipe [NEW] recipes\oldandunused\glitch\tier4\glitchtier4broadsword.recipe [NEW] recipes\oldandunused\glitch\tier4\glitchtier4dagger.recipe [NEW] recipes\oldandunused\glitch\tier4\glitchtier4hammer.recipe [NEW] recipes\oldandunused\glitch\tier4\glitchtier4shortsword.recipe [NEW] recipes\oldandunused\glitch\tier4\glitchtier4spear.recipe [NEW] recipes\oldandunused\glitch\tier5\tier5axe.recipe [NEW] recipes\oldandunused\glitch\tier5\tier5broadsword.recipe [NEW] recipes\oldandunused\glitch\tier5\tier5dagger.recipe [NEW] recipes\oldandunused\glitch\tier5\tier5hammer.recipe [NEW] recipes\oldandunused\glitch\tier5\tier5shortsword.recipe [NEW] recipes\oldandunused\glitch\tier5\tier5spear.recipe [NEW] recipes\oldandunused\glitch\tier6\tier6axe.recipe [NEW] recipes\oldandunused\glitch\tier6\tier6broadsword.recipe [NEW] recipes\oldandunused\glitch\tier6\tier6dagger.recipe [NEW] recipes\oldandunused\glitch\tier6\tier6hammer.recipe [NEW] recipes\oldandunused\glitch\tier6\tier6shortsword.recipe [NEW] recipes\oldandunused\glitch\tier6\tier6spear.recipe [NEW] recipes\oldandunused\glitch\tier7\tier7axe.recipe [NEW] recipes\oldandunused\glitch\tier7\tier7broadsword.recipe [NEW] recipes\oldandunused\glitch\tier7\tier7dagger.recipe [NEW] recipes\oldandunused\glitch\tier7\tier7hammer.recipe [NEW] recipes\oldandunused\glitch\tier7\tier7shortsword.recipe [NEW] recipes\oldandunused\glitch\tier7\tier7spear.recipe [NEW] recipes\oldandunused\glitch\tier8\tier8axe.recipe [NEW] recipes\oldandunused\glitch\tier8\tier8broadsword.recipe [NEW] recipes\oldandunused\glitch\tier8\tier8dagger.recipe [NEW] recipes\oldandunused\glitch\tier8\tier8hammer.recipe [NEW] recipes\oldandunused\glitch\tier8\tier8shortsword.recipe [NEW] recipes\oldandunused\glitch\tier8\tier8spear.recipe [NEW] recipes\oldandunused\glitch\tier9\tier9axe.recipe [NEW] recipes\oldandunused\glitch\tier9\tier9broadsword.recipe [NEW] recipes\oldandunused\glitch\tier9\tier9dagger.recipe [NEW] recipes\oldandunused\glitch\tier9\tier9hammer.recipe [NEW] recipes\oldandunused\glitch\tier9\tier9shortsword.recipe [NEW] recipes\oldandunused\glitch\tier9\tier9spear.recipe [NEW] recipes\oldandunused\human\tier1\humantier1axe.recipe [NEW] recipes\oldandunused\human\tier1\humantier1broadsword.recipe [NEW] recipes\oldandunused\human\tier1\humantier1dagger.recipe [NEW] recipes\oldandunused\human\tier1\humantier1hammer.recipe [NEW] recipes\oldandunused\human\tier1\humantier1shortsword.recipe [NEW] recipes\oldandunused\human\tier1\humantier1spear.recipe [NEW] recipes\oldandunused\human\tier10\tier10axe.recipe [NEW] recipes\oldandunused\human\tier10\tier10broadsword.recipe [NEW] recipes\oldandunused\human\tier10\tier10dagger.recipe [NEW] recipes\oldandunused\human\tier10\tier10hammer.recipe [NEW] recipes\oldandunused\human\tier10\tier10shortsword.recipe [NEW] recipes\oldandunused\human\tier10\tier10spear.recipe [NEW] recipes\oldandunused\human\tier2\humantier2axe.recipe [NEW] recipes\oldandunused\human\tier2\humantier2broadsword.recipe [NEW] recipes\oldandunused\human\tier2\humantier2dagger.recipe [NEW] recipes\oldandunused\human\tier2\humantier2hammer.recipe [NEW] recipes\oldandunused\human\tier2\humantier2shortsword.recipe [NEW] recipes\oldandunused\human\tier2\humantier2spear.recipe [NEW] recipes\oldandunused\human\tier3\humantier3axe.recipe [NEW] recipes\oldandunused\human\tier3\humantier3broadsword.recipe [NEW] recipes\oldandunused\human\tier3\humantier3dagger.recipe [NEW] recipes\oldandunused\human\tier3\humantier3hammer.recipe [NEW] recipes\oldandunused\human\tier3\humantier3shortsword.recipe [NEW] recipes\oldandunused\human\tier3\humantier3spear.recipe [NEW] recipes\oldandunused\human\tier4\humantier4axe.recipe [NEW] recipes\oldandunused\human\tier4\humantier4broadsword.recipe [NEW] recipes\oldandunused\human\tier4\humantier4dagger.recipe [NEW] recipes\oldandunused\human\tier4\humantier4hammer.recipe [NEW] recipes\oldandunused\human\tier4\humantier4shortsword.recipe [NEW] recipes\oldandunused\human\tier4\humantier4spear.recipe [NEW] recipes\oldandunused\human\tier5\tier5axe.recipe [NEW] recipes\oldandunused\human\tier5\tier5broadsword.recipe [NEW] recipes\oldandunused\human\tier5\tier5dagger.recipe [NEW] recipes\oldandunused\human\tier5\tier5hammer.recipe [NEW] recipes\oldandunused\human\tier5\tier5shortsword.recipe [NEW] recipes\oldandunused\human\tier5\tier5spear.recipe [NEW] recipes\oldandunused\human\tier6\tier6axe.recipe [NEW] recipes\oldandunused\human\tier6\tier6broadsword.recipe [NEW] recipes\oldandunused\human\tier6\tier6dagger.recipe [NEW] recipes\oldandunused\human\tier6\tier6hammer.recipe [NEW] recipes\oldandunused\human\tier6\tier6shortsword.recipe [NEW] recipes\oldandunused\human\tier6\tier6spear.recipe [NEW] recipes\oldandunused\human\tier7\tier7axe.recipe [NEW] recipes\oldandunused\human\tier7\tier7broadsword.recipe [NEW] recipes\oldandunused\human\tier7\tier7dagger.recipe [NEW] recipes\oldandunused\human\tier7\tier7hammer.recipe [NEW] recipes\oldandunused\human\tier7\tier7shortsword.recipe [NEW] recipes\oldandunused\human\tier7\tier7spear.recipe [NEW] recipes\oldandunused\human\tier8\tier8axe.recipe [NEW] recipes\oldandunused\human\tier8\tier8broadsword.recipe [NEW] recipes\oldandunused\human\tier8\tier8dagger.recipe [NEW] recipes\oldandunused\human\tier8\tier8hammer.recipe [NEW] recipes\oldandunused\human\tier8\tier8shortsword.recipe [NEW] recipes\oldandunused\human\tier8\tier8spear.recipe [NEW] recipes\oldandunused\human\tier9\tier9axe.recipe [NEW] recipes\oldandunused\human\tier9\tier9broadsword.recipe [NEW] recipes\oldandunused\human\tier9\tier9dagger.recipe [NEW] recipes\oldandunused\human\tier9\tier9hammer.recipe [NEW] recipes\oldandunused\human\tier9\tier9shortsword.recipe [NEW] recipes\oldandunused\human\tier9\tier9spear.recipe [NEW] recipes\oldandunused\hylotl\tier1\hylotltier1axe.recipe [NEW] recipes\oldandunused\hylotl\tier1\hylotltier1broadsword.recipe [NEW] recipes\oldandunused\hylotl\tier1\hylotltier1dagger.recipe [NEW] recipes\oldandunused\hylotl\tier1\hylotltier1hammer.recipe [NEW] recipes\oldandunused\hylotl\tier1\hylotltier1shortsword.recipe [NEW] recipes\oldandunused\hylotl\tier1\hylotltier1spear.recipe [NEW] recipes\oldandunused\hylotl\tier10\tier10axe.recipe [NEW] recipes\oldandunused\hylotl\tier10\tier10broadsword.recipe [NEW] recipes\oldandunused\hylotl\tier10\tier10dagger.recipe [NEW] recipes\oldandunused\hylotl\tier10\tier10hammer.recipe [NEW] recipes\oldandunused\hylotl\tier10\tier10shortsword.recipe [NEW] recipes\oldandunused\hylotl\tier10\tier10spear.recipe [NEW] recipes\oldandunused\hylotl\tier2\hylotltier2axe.recipe [NEW] recipes\oldandunused\hylotl\tier2\hylotltier2broadsword.recipe [NEW] recipes\oldandunused\hylotl\tier2\hylotltier2dagger.recipe [NEW] recipes\oldandunused\hylotl\tier2\hylotltier2hammer.recipe [NEW] recipes\oldandunused\hylotl\tier2\hylotltier2shortsword.recipe [NEW] recipes\oldandunused\hylotl\tier2\hylotltier2spear.recipe [NEW] recipes\oldandunused\hylotl\tier3\hylotltier3axe.recipe [NEW] recipes\oldandunused\hylotl\tier3\hylotltier3broadsword.recipe [NEW] recipes\oldandunused\hylotl\tier3\hylotltier3dagger.recipe [NEW] recipes\oldandunused\hylotl\tier3\hylotltier3hammer.recipe [NEW] recipes\oldandunused\hylotl\tier3\hylotltier3shortsword.recipe [NEW] recipes\oldandunused\hylotl\tier3\hylotltier3spear.recipe [NEW] recipes\oldandunused\hylotl\tier4\hylotltier4axe.recipe [NEW] recipes\oldandunused\hylotl\tier4\hylotltier4broadsword.recipe [NEW] recipes\oldandunused\hylotl\tier4\hylotltier4dagger.recipe [NEW] recipes\oldandunused\hylotl\tier4\hylotltier4hammer.recipe [NEW] recipes\oldandunused\hylotl\tier4\hylotltier4shortsword.recipe [NEW] recipes\oldandunused\hylotl\tier4\hylotltier4spear.recipe [NEW] recipes\oldandunused\hylotl\tier5\tier5axe.recipe [NEW] recipes\oldandunused\hylotl\tier5\tier5broadsword.recipe [NEW] recipes\oldandunused\hylotl\tier5\tier5dagger.recipe [NEW] recipes\oldandunused\hylotl\tier5\tier5hammer.recipe [NEW] recipes\oldandunused\hylotl\tier5\tier5shortsword.recipe [NEW] recipes\oldandunused\hylotl\tier5\tier5spear.recipe [NEW] recipes\oldandunused\hylotl\tier6\tier6axe.recipe [NEW] recipes\oldandunused\hylotl\tier6\tier6broadsword.recipe [NEW] recipes\oldandunused\hylotl\tier6\tier6dagger.recipe [NEW] recipes\oldandunused\hylotl\tier6\tier6hammer.recipe [NEW] recipes\oldandunused\hylotl\tier6\tier6shortsword.recipe [NEW] recipes\oldandunused\hylotl\tier6\tier6spear.recipe [NEW] recipes\oldandunused\hylotl\tier7\tier7axe.recipe [NEW] recipes\oldandunused\hylotl\tier7\tier7broadsword.recipe [NEW] recipes\oldandunused\hylotl\tier7\tier7dagger.recipe [NEW] recipes\oldandunused\hylotl\tier7\tier7hammer.recipe [NEW] recipes\oldandunused\hylotl\tier7\tier7shortsword.recipe [NEW] recipes\oldandunused\hylotl\tier7\tier7spear.recipe [NEW] recipes\oldandunused\hylotl\tier8\tier8axe.recipe [NEW] recipes\oldandunused\hylotl\tier8\tier8broadsword.recipe [NEW] recipes\oldandunused\hylotl\tier8\tier8dagger.recipe [NEW] recipes\oldandunused\hylotl\tier8\tier8hammer.recipe [NEW] recipes\oldandunused\hylotl\tier8\tier8shortsword.recipe [NEW] recipes\oldandunused\hylotl\tier8\tier8spear.recipe [NEW] recipes\oldandunused\hylotl\tier9\tier9axe.recipe [NEW] recipes\oldandunused\hylotl\tier9\tier9broadsword.recipe [NEW] recipes\oldandunused\hylotl\tier9\tier9dagger.recipe [NEW] recipes\oldandunused\hylotl\tier9\tier9hammer.recipe [NEW] recipes\oldandunused\hylotl\tier9\tier9shortsword.recipe [NEW] recipes\oldandunused\hylotl\tier9\tier9spear.recipe [NEW] recipes\oldandunused\novakid\revolver\novatier10revolver.recipe [NEW] recipes\oldandunused\novakid\revolver\novatier1revolver.recipe [NEW] recipes\oldandunused\novakid\revolver\novatier2revolver.recipe [NEW] recipes\oldandunused\novakid\revolver\novatier3revolver.recipe [NEW] recipes\oldandunused\novakid\revolver\novatier4revolver.recipe [NEW] recipes\oldandunused\novakid\revolver\novatier5revolver.recipe [NEW] recipes\oldandunused\novakid\revolver\novatier6revolver.recipe [NEW] recipes\oldandunused\novakid\revolver\novatier7revolver.recipe [NEW] recipes\oldandunused\novakid\revolver\novatier8revolver.recipe [NEW] recipes\oldandunused\novakid\revolver\novatier9revolver.recipe [NEW] recipes\oldandunused\novakid\rifle\novatier10rifle.recipe [NEW] recipes\oldandunused\novakid\rifle\novatier1rifle.recipe [NEW] recipes\oldandunused\novakid\rifle\novatier2rifle.recipe [NEW] recipes\oldandunused\novakid\rifle\novatier3rifle.recipe [NEW] recipes\oldandunused\novakid\rifle\novatier4rifle.recipe [NEW] recipes\oldandunused\novakid\rifle\novatier5rifle.recipe [NEW] recipes\oldandunused\novakid\rifle\novatier6rifle.recipe [NEW] recipes\oldandunused\novakid\rifle\novatier7rifle.recipe [NEW] recipes\oldandunused\novakid\rifle\novatier8rifle.recipe [NEW] recipes\oldandunused\novakid\rifle\novatier9rifle.recipe [NEW] recipes\refinery\durasteelore.recipe recipes\refinery\silverbar.recipe recipes\refinery\silverore.recipe recipes\refinery\titaniumore.recipe [NEW] recipes\refinery\tungstenore.recipe [NEW] recipes\wiringstation\logic\and.recipe [NEW] recipes\wiringstation\logic\countdowntimer.recipe [NEW] recipes\wiringstation\logic\delay.recipe [NEW] recipes\wiringstation\logic\dlatch.recipe [NEW] recipes\wiringstation\logic\not.recipe [NEW] recipes\wiringstation\logic\or.recipe [NEW] recipes\wiringstation\logic\timer.recipe [NEW] recipes\wiringstation\logic\xor.recipe [NEW] recipes\wiringstation\mechanics\alarm.recipe [NEW] recipes\wiringstation\mechanics\bulb.recipe [NEW] recipes\wiringstation\mechanics\drain.recipe [NEW] recipes\wiringstation\mechanics\mechanicalelevatorlong.recipe [NEW] recipes\wiringstation\mechanics\mechanicalelevatorshort.recipe [NEW] recipes\wiringstation\mechanics\standingturret.recipe [NEW] recipes\wiringstation\mechanics\steelelevatorlong.recipe [NEW] recipes\wiringstation\mechanics\steelelevatorshort.recipe [NEW] recipes\wiringstation\mechanics\woodenelevatorlong.recipe [NEW] recipes\wiringstation\mechanics\woodenelevatorshort.recipe [NEW] recipes\wiringstation\sensors\lightsensor.recipe [NEW] recipes\wiringstation\sensors\liquidsensor.recipe [NEW] recipes\wiringstation\sensors\proximitysensor.recipe [NEW] recipes\wiringstation\sensors\scanner.recipe [NEW] recipes\wiringstation\switches\bigredbutton.recipe [NEW] recipes\wiringstation\switches\persistentswitch.recipe [NEW] recipes\wiringstation\switches\smallfloorbutton.recipe [NEW] recipes\wiringstation\switches\smallwallbutton.recipe [NEW] recipes\wiringstation\switches\smallwallswitch.recipe [NEW] recipes\wiringstation\switches\tinywallbutton.recipe [NEW] recipes\wiringstation\switches\tinywallswitch.recipe scripts\behavior.lua scripts\chattyobject.lua scripts\npctoyobject.lua scripts\pathing.lua scripts\sensors.lua scripts\spawnpoint.lua scripts\statemachine.lua scripts\statusprojectileobject.lua scripts\tenant.lua scripts\util.lua scripts\actions\crawling.lua scripts\actions\dialog.lua scripts\actions\entities.lua scripts\actions\merchant.lua scripts\actions\movement.lua scripts\actions\quests.lua scripts\actions\reaction.lua scripts\actions\boss\kluexboss.lua scripts\projectiles\chainbullet.lua scripts\quest\manager.lua scripts\quest\messaging.lua scripts\quest\participant.lua scripts\quest\player.lua scripts\quest\manager\plugin.lua scripts\quest\manager\spawn_assassins.lua scripts\quest\manager\spawn_entities.lua scripts\questgen\generator.lua scripts\questgen\planner.lua scripts\questgen\relations.lua spawntypes\critter.spawntypes species\apex.species species\avian.species species\floran.species species\glitch.species species\human.species species\hylotl.species species\novakid.species stagehands\coordinator.lua stagehands\mailbox.lua stagehands\questmanager.lua stagehands\coordinator\npccombat.lua stats\effects\bandage\bandage.lua stats\effects\bandage\bandage2.statuseffect stats\effects\bandage\bandage3.statuseffect stats\effects\beamout\beamout.lua stats\effects\color\color.lua stats\effects\deathbomb\deathbomb.lua [NEW] stats\effects\electricblock\electricblock.lua [NEW] stats\effects\electricblock\electricblock.statuseffect stats\effects\electrified\electrified.lua stats\effects\energyregen\energyregen.lua [NEW] stats\effects\fireblock\burnspray.statuseffect [NEW] stats\effects\fireblock\fireblock.lua [NEW] stats\effects\fireblock\fireblock.statuseffect stats\effects\food\foodheal\foodheal.lua stats\effects\frostslow\frostslow.statuseffect [NEW] stats\effects\iceblock\iceblock.lua [NEW] stats\effects\iceblock\iceblock.statuseffect stats\effects\levitation\levitation.lua stats\effects\lowgrav\lowgrav.lua stats\effects\maxenergyboost\maxenergyboost.lua stats\effects\maxhealthboost\maxhealthboost.lua stats\effects\maxprotection\protection.lua stats\effects\npcreactions\particlereaction.lua [NEW] stats\effects\poisonblock\antidote.statuseffect [NEW] stats\effects\poisonblock\poisonblock.lua [NEW] stats\effects\poisonblock\poisonblock.statuseffect stats\effects\rage\rage.lua stats\effects\regeneration\regeneration.lua stats\effects\shieldeffect\shieldeffect.lua stats\effects\shieldregen\shieldregen.lua stats\effects\swimming\swimming.lua stats\effects\thorns\thorns.lua stats\effects\vulnerability\vulnerability.lua stats\effects\windswept\windswept.lua tech\blink\blink.lua tech\booster\booster.lua tech\bounce\bounce.lua tech\dash\dash.lua tech\flyingjump\flyingjump.lua tech\jetpack\jetpack.lua tech\morphball\balldash.lua tech\morphball\morphball.lua tech\multijump\multijump.lua tech\skyrail\skyrail.lua tech\superjump\superjump.lua tiles\materials\geodeblock.material tiles\materials\geodeblock.png tiles\materials\geodestone.material tiles\materials\geodestone.png [NEW] tiles\mods\durasteel.matmod [NEW] tiles\mods\durasteel.png tiles\mods\tungsten.matmod tilesets\packed\materials.json tilesets\packed\objects-by-category\crafting.json tilesets\packed\objects-by-category\decorative.json tilesets\packed\objects-by-category\door.json tilesets\packed\objects-by-category\farmable.json tilesets\packed\objects-by-category\furniture.json tilesets\packed\objects-by-category\light.json tilesets\packed\objects-by-category\other.json tilesets\packed\objects-by-category\storage.json tilesets\packed\objects-by-category\teleporter.json tilesets\packed\objects-by-race\apex.json tilesets\packed\objects-by-race\avian.json tilesets\packed\objects-by-race\floran.json tilesets\packed\objects-by-race\generic.json tilesets\packed\objects-by-race\glitch.json tilesets\packed\objects-by-race\human.json tilesets\packed\objects-by-race\hylotl.json tilesets\packed\objects-by-race\novakid.json tilesets\packed\objects-by-type\container.json tilesets\packed\objects-by-type\farmable.json tilesets\packed\objects-by-type\loungeable.json treasure\biome.treasurepools treasure\common.treasurepools treasure\default.treasurechests treasure\monster.treasurepools treasure\smashable.treasurepools vehicles\boat\boat.lua vehicles\hoverbike\hoverbike.lua vehicles\mech\mech.lua DIFFS ----- dungeon_worlds.config 77c77 < "dungeonSurfaceHeight" : 1025, --- > "dungeonSurfaceHeight" : 960, player.config 51a52 > { "item" : "tungstenbow" }, 61c62 < // Furnace --- > // Furnace 1 67,74c68 < { "item" : "titaniumbar" }, < { "item" : "durasteelbar" }, < { "item" : "refinedaegisalt" }, < { "item" : "refinedrubium" }, < { "item" : "refinedviolium" }, < { "item" : "feroziumcompound" }, < { "item" : "ceruliumcompound" }, < { "item" : "imperviumcompound" }, --- > 235c229 < //{ "item" : "examplefarming2item" }, --- > { "item" : "compoundbow" }, 251a246,253 > { "item" : "nanowrap" }, > { "item" : "burnspray" }, > > // Pixel Compressor > { "item" : "voxel1k" }, > { "item" : "voxel2k" }, > { "item" : "voxel5k" }, > { "item" : "voxel10k" }, 255,256d256 < { "item" : "and" }, < { "item" : "bigredbutton" }, 258,260d257 < { "item" : "countdowntimer" }, < { "item" : "delay" }, < { "item" : "dlatch" }, 262c259,260 < { "item" : "laserdiode" }, --- > { "item" : "standingturret" }, > 265,267d262 < { "item" : "not" }, < { "item" : "or" }, < { "item" : "persistentswitch" }, 269a265,267 > > { "item" : "bigredbutton" }, > { "item" : "persistentswitch" }, 273,274d270 < { "item" : "standingturret" }, < { "item" : "timer" }, 276a273,280 > > { "item" : "and" }, > { "item" : "countdowntimer" }, > { "item" : "delay" }, > { "item" : "dlatch" }, > { "item" : "not" }, > { "item" : "or" }, > { "item" : "timer" }, 280,283d283 < < { "item" : "circuitboard" }, < { "item" : "steelplatform" }, < 289c289,295 < { "item" : "steelelevatorlong" }, --- > { "item" : "steelelevatorlong" } > > /* > > { "item" : "steelplatform" }, > > 299,301d304 < { "item" : "tungstenbow" }, < { "item" : "titaniumbow" }, < { "item" : "compoundbow" }, 305,310d307 < < { "item" : "voxel1k" }, < { "item" : "voxel2k" }, < { "item" : "voxel5k" }, < { "item" : "voxel10k" }, < 507c504 < { "item" : "nanowrap" }, --- > terrestrial_worlds.config 597c597 < "secondaryRegion" : [ "crystalline" ], --- > "secondaryRegion" : [ "geode" ], 617c617 < "secondaryRegion" : [ "rust", "crystalline", "bones", "desert", "volcanic" ], --- > "secondaryRegion" : [ "rust", "geode", "bones", "desert", "volcanic" ], 1114,1115c1114,1115 < "crystalline" : { < "blockSelector" : [ "remixedSurface" ], --- > "geode" : { > "blockSelector" : [ "remixedMildSurface" ], 1119c1119 < [0, [ "crystalline" ]] --- > [0, [ "geode" ]] behaviors\monsters\boss\spiderboss\main.behavior 607c607 < "config": { --- > "parameters": { behaviors\monsters\critter\flying.behavior 113c113 < "config": { --- > "parameters": { behaviors\monsters\modular\actions\swoop.behavior 208c208 < "config": { --- > "parameters": { biomes\oredistributions.configfunctions 1c1 < { --- > { 4,9c4,9 < [0.5, [ [ "coal", 1.40 ], [ "copper", 0.50 ], [ "silverore", 0.00 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.80 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [1.5, [ [ "coal", 1.40 ], [ "copper", 0.50 ], [ "silverore", 0.00 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.80 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [2.5, [ [ "coal", 1.40 ], [ "copper", 0.50 ], [ "silverore", 0.00 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [3.5, [ [ "coal", 1.40 ], [ "copper", 0.50 ], [ "silverore", 0.00 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [4.5, [ [ "coal", 1.40 ], [ "copper", 0.50 ], [ "silverore", 0.00 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [5.5, [ [ "coal", 1.40 ], [ "copper", 0.50 ], [ "silverore", 0.00 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ] --- > [0.5, [ [ "coal", 1.40 ], [ "copper", 0.50 ], [ "silverore", 0.00 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.80 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [1.5, [ [ "coal", 1.40 ], [ "copper", 0.50 ], [ "silverore", 0.00 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.80 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [2.5, [ [ "coal", 1.40 ], [ "copper", 0.50 ], [ "silverore", 0.00 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [3.5, [ [ "coal", 1.40 ], [ "copper", 0.50 ], [ "silverore", 0.00 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [4.5, [ [ "coal", 1.40 ], [ "copper", 0.50 ], [ "silverore", 0.00 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [5.5, [ [ "coal", 1.40 ], [ "copper", 0.50 ], [ "silverore", 0.00 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ] 13,18c13,18 < [0.5, [ [ "coal", 1.15 ], [ "copper", 1.30 ], [ "silverore", 0.50 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 1.50 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [1.5, [ [ "coal", 1.15 ], [ "copper", 1.30 ], [ "silverore", 0.50 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 1.50 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [2.5, [ [ "coal", 1.15 ], [ "copper", 1.30 ], [ "silverore", 0.50 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [3.5, [ [ "coal", 1.15 ], [ "copper", 1.30 ], [ "silverore", 0.50 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [4.5, [ [ "coal", 1.15 ], [ "copper", 1.30 ], [ "silverore", 0.50 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [5.5, [ [ "coal", 1.15 ], [ "copper", 1.30 ], [ "silverore", 0.50 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ] --- > [0.5, [ [ "coal", 1.15 ], [ "copper", 1.30 ], [ "silverore", 0.50 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 1.50 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [1.5, [ [ "coal", 1.15 ], [ "copper", 1.30 ], [ "silverore", 0.50 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 1.50 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [2.5, [ [ "coal", 1.15 ], [ "copper", 1.30 ], [ "silverore", 0.50 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 1.50 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [3.5, [ [ "coal", 1.15 ], [ "copper", 1.30 ], [ "silverore", 0.50 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 1.50 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [4.5, [ [ "coal", 1.15 ], [ "copper", 1.30 ], [ "silverore", 0.50 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 1.50 ], [ "rubium", 1.50 ], [ "violium", 1.50 ] ] ], > [5.5, [ [ "coal", 1.15 ], [ "copper", 1.30 ], [ "silverore", 0.50 ], [ "gold", 0.00 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ] 22,27c22,27 < [0.5, [ [ "coal", 1.15 ], [ "copper", 0.50 ], [ "silverore", 1.30 ], [ "gold", 0.50 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 2.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [1.5, [ [ "coal", 1.15 ], [ "copper", 0.50 ], [ "silverore", 1.30 ], [ "gold", 0.50 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 2.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [2.5, [ [ "coal", 1.15 ], [ "copper", 0.50 ], [ "silverore", 1.30 ], [ "gold", 0.50 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [3.5, [ [ "coal", 1.15 ], [ "copper", 0.50 ], [ "silverore", 1.30 ], [ "gold", 0.50 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [4.5, [ [ "coal", 1.15 ], [ "copper", 0.50 ], [ "silverore", 1.30 ], [ "gold", 0.50 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [5.5, [ [ "coal", 1.15 ], [ "copper", 0.50 ], [ "silverore", 1.30 ], [ "gold", 0.50 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ] --- > [0.5, [ [ "coal", 1.15 ], [ "copper", 0.50 ], [ "silverore", 1.30 ], [ "gold", 0.50 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 2.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [1.5, [ [ "coal", 1.15 ], [ "copper", 0.50 ], [ "silverore", 1.30 ], [ "gold", 0.50 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 2.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [2.5, [ [ "coal", 1.15 ], [ "copper", 0.50 ], [ "silverore", 1.30 ], [ "gold", 0.50 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 2.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [3.5, [ [ "coal", 1.15 ], [ "copper", 0.50 ], [ "silverore", 1.30 ], [ "gold", 0.50 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 2.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [4.5, [ [ "coal", 1.15 ], [ "copper", 0.50 ], [ "silverore", 1.30 ], [ "gold", 0.50 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 2.00 ], [ "rubium", 2.00 ], [ "violium", 2.00 ] ] ], > [5.5, [ [ "coal", 1.15 ], [ "copper", 0.50 ], [ "silverore", 1.30 ], [ "gold", 0.50 ], [ "platinum", 0.00 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ] 31,36c31,36 < [0.5, [ [ "coal", 1.15 ], [ "copper", 0.00 ], [ "silverore", 0.50 ], [ "gold", 1.30 ], [ "platinum", 0.50 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.79 ], [ "iron", 1.50 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [1.5, [ [ "coal", 1.15 ], [ "copper", 0.00 ], [ "silverore", 0.50 ], [ "gold", 1.30 ], [ "platinum", 0.50 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.79 ], [ "iron", 0.00 ], [ "tungsten", 1.50 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [2.5, [ [ "coal", 1.15 ], [ "copper", 0.00 ], [ "silverore", 0.50 ], [ "gold", 1.30 ], [ "platinum", 0.50 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.79 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [3.5, [ [ "coal", 1.15 ], [ "copper", 0.00 ], [ "silverore", 0.50 ], [ "gold", 1.30 ], [ "platinum", 0.50 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.79 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [4.5, [ [ "coal", 1.15 ], [ "copper", 0.00 ], [ "silverore", 0.50 ], [ "gold", 1.30 ], [ "platinum", 0.50 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.79 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [5.5, [ [ "coal", 1.15 ], [ "copper", 0.00 ], [ "silverore", 0.50 ], [ "gold", 1.30 ], [ "platinum", 0.50 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.79 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ] --- > [0.5, [ [ "coal", 1.15 ], [ "copper", 0.00 ], [ "silverore", 0.50 ], [ "gold", 1.30 ], [ "platinum", 0.50 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.79 ], [ "iron", 1.50 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [1.5, [ [ "coal", 1.15 ], [ "copper", 0.00 ], [ "silverore", 0.50 ], [ "gold", 1.30 ], [ "platinum", 0.50 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.79 ], [ "iron", 0.00 ], [ "tungsten", 1.50 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [2.5, [ [ "coal", 1.15 ], [ "copper", 0.00 ], [ "silverore", 0.50 ], [ "gold", 1.30 ], [ "platinum", 0.50 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.79 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 1.50 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [3.5, [ [ "coal", 1.15 ], [ "copper", 0.00 ], [ "silverore", 0.50 ], [ "gold", 1.30 ], [ "platinum", 0.50 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.79 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 1.50 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [4.5, [ [ "coal", 1.15 ], [ "copper", 0.00 ], [ "silverore", 0.50 ], [ "gold", 1.30 ], [ "platinum", 0.50 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.79 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 1.50 ], [ "rubium", 1.50 ], [ "violium", 1.50 ] ] ], > [5.5, [ [ "coal", 1.15 ], [ "copper", 0.00 ], [ "silverore", 0.50 ], [ "gold", 1.30 ], [ "platinum", 0.50 ], [ "diamond", 0.00 ], [ "corefragment", 0.00 ], ["fossil", 0.79 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ] 40,45c40,45 < [0.5, [ [ "coal", 1.00 ], [ "copper", 0.00 ], [ "silverore", 0.00 ], [ "gold", 0.50 ], [ "platinum", 1.30 ], [ "diamond", 0.50 ], [ "corefragment", 1.50 ], ["fossil", 0.00 ], [ "iron", 1.20 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [1.5, [ [ "coal", 1.00 ], [ "copper", 0.00 ], [ "silverore", 0.00 ], [ "gold", 0.50 ], [ "platinum", 1.30 ], [ "diamond", 0.50 ], [ "corefragment", 1.50 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 1.20 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [2.5, [ [ "coal", 1.00 ], [ "copper", 0.00 ], [ "silverore", 0.00 ], [ "gold", 0.50 ], [ "platinum", 1.30 ], [ "diamond", 0.50 ], [ "corefragment", 1.50 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [3.5, [ [ "coal", 1.00 ], [ "copper", 0.00 ], [ "silverore", 0.00 ], [ "gold", 0.50 ], [ "platinum", 1.30 ], [ "diamond", 0.50 ], [ "corefragment", 1.50 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [4.5, [ [ "coal", 1.00 ], [ "copper", 0.00 ], [ "silverore", 0.00 ], [ "gold", 0.50 ], [ "platinum", 1.30 ], [ "diamond", 0.50 ], [ "corefragment", 1.50 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], < [5.5, [ [ "coal", 1.00 ], [ "copper", 0.00 ], [ "silverore", 0.00 ], [ "gold", 0.50 ], [ "platinum", 1.30 ], [ "diamond", 0.50 ], [ "corefragment", 1.50 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ] --- > [0.5, [ [ "coal", 1.00 ], [ "copper", 0.00 ], [ "silverore", 0.00 ], [ "gold", 0.50 ], [ "platinum", 1.30 ], [ "diamond", 0.50 ], [ "corefragment", 1.50 ], ["fossil", 0.00 ], [ "iron", 1.20 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [1.5, [ [ "coal", 1.00 ], [ "copper", 0.00 ], [ "silverore", 0.00 ], [ "gold", 0.50 ], [ "platinum", 1.30 ], [ "diamond", 0.50 ], [ "corefragment", 1.50 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 1.20 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [2.5, [ [ "coal", 1.00 ], [ "copper", 0.00 ], [ "silverore", 0.00 ], [ "gold", 0.50 ], [ "platinum", 1.30 ], [ "diamond", 0.50 ], [ "corefragment", 1.50 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 1.20 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [3.5, [ [ "coal", 1.00 ], [ "copper", 0.00 ], [ "silverore", 0.00 ], [ "gold", 0.50 ], [ "platinum", 1.30 ], [ "diamond", 0.50 ], [ "corefragment", 1.50 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 1.20 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ], > [4.5, [ [ "coal", 1.00 ], [ "copper", 0.00 ], [ "silverore", 0.00 ], [ "gold", 0.50 ], [ "platinum", 1.30 ], [ "diamond", 0.50 ], [ "corefragment", 1.50 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 1.20 ], [ "rubium", 1.20 ], [ "violium", 1.20 ] ] ], > [5.5, [ [ "coal", 1.00 ], [ "copper", 0.00 ], [ "silverore", 0.00 ], [ "gold", 0.50 ], [ "platinum", 1.30 ], [ "diamond", 0.50 ], [ "corefragment", 1.50 ], ["fossil", 0.00 ], [ "iron", 0.00 ], [ "tungsten", 0.00 ], [ "titanium", 0.00 ], [ "durasteel", 0.00 ], [ "aegisalt", 0.00 ], [ "rubium", 0.00 ], [ "violium", 0.00 ] ] ] dungeons\missions\avianmissions\avianmission1.dungeon 11c11 < "protected" : false --- > "protected" : true dungeons\missions\avianmissions\avianmission1.json [TMX file differences are left out for huge size.] interface\games\fossilgame\fossilgame.lua 62,63c62,63 < generator.toolRockChance = console.configParameter("toolRockChance", 0.5) < generator.randomRockChance = console.configParameter("randomRockChance", 0.3) --- > generator.toolRockChance = config.getParameter("toolRockChance", 0.5) > generator.randomRockChance = config.getParameter("randomRockChance", 0.3) interface\windowconfig\craftingfurniture.config 6c6 < "requiresBlueprint" : false, --- > "requiresBlueprint" : true, interface\windowconfig\spinningwheel.config 28c28 < "file" : "/interface/crafting/spinningwheel.png", --- > "file" : "/interface/crafting/craftingwheel.png", items\active\grapple\grapple.lua 5,10c5,10 < self.fireOffset = item.instanceValue("fireOffset", {0,0}) < self.stances = item.instanceValue("stances") < self.projectileType = item.instanceValue("projectileType") < self.projectileParameters = item.instanceValue("projectileParameters") < self.returnSpeed = item.instanceValue("returnSpeed", 0) < self.returnDistance = item.instanceValue("returnDistance", 1) --- > self.fireOffset = config.getParameter("fireOffset", {0,0}) > self.stances = config.getParameter("stances") > self.projectileType = config.getParameter("projectileType") > self.projectileParameters = config.getParameter("projectileParameters") > self.returnSpeed = config.getParameter("returnSpeed", 0) > self.returnDistance = config.getParameter("returnDistance", 1) 15,18c15,18 < activeItem.setScriptedAnimationParameter("ropeItemOffset", item.instanceValue("ropeOffset", self.fireOffset)) < activeItem.setScriptedAnimationParameter("ropeWidth", item.instanceValue("ropeWidth")) < activeItem.setScriptedAnimationParameter("ropeColor", item.instanceValue("ropeColor")) < activeItem.setScriptedAnimationParameter("ropeFullbright", item.instanceValue("ropeFullbright")) --- > activeItem.setScriptedAnimationParameter("ropeItemOffset", config.getParameter("ropeOffset", self.fireOffset)) > activeItem.setScriptedAnimationParameter("ropeWidth", config.getParameter("ropeWidth")) > activeItem.setScriptedAnimationParameter("ropeColor", config.getParameter("ropeColor")) > activeItem.setScriptedAnimationParameter("ropeFullbright", config.getParameter("ropeFullbright")) 82c82 < return world.distance(world.entityPosition(self.projectileId), vec2.add(activeItem.handPosition(item.instanceValue("ropeOffset", self.fireOffset)), mcontroller.position())) --- > return world.distance(world.entityPosition(self.projectileId), vec2.add(activeItem.handPosition(config.getParameter("ropeOffset", self.fireOffset)), mcontroller.position())) items\active\shields\shield.lua 11c11 < self.cooldownTimer = item.instanceValue("cooldownTime") --- > self.cooldownTimer = config.getParameter("cooldownTime") 14,21c14,21 < self.level = item.instanceValue("level", 1) < self.baseShieldHealth = item.instanceValue("baseShieldHealth", 1) < self.knockback = item.instanceValue("knockback", 0) < self.perfectBlockDirectives = item.instanceValue("perfectBlockDirectives", "") < self.perfectBlockTime = item.instanceValue("perfectBlockTime", 0.2) < self.minActiveTime = item.instanceValue("minActiveTime", 0) < self.cooldownTime = item.instanceValue("cooldownTime") < self.forceWalk = item.instanceValue("forceWalk", false) --- > self.level = config.getParameter("level", 1) > self.baseShieldHealth = config.getParameter("baseShieldHealth", 1) > self.knockback = config.getParameter("knockback", 0) > self.perfectBlockDirectives = config.getParameter("perfectBlockDirectives", "") > self.perfectBlockTime = config.getParameter("perfectBlockTime", 0.2) > self.minActiveTime = config.getParameter("minActiveTime", 0) > self.cooldownTime = config.getParameter("cooldownTime") > self.forceWalk = config.getParameter("forceWalk", false) 27c27 < self.stances = item.instanceValue("stances") --- > self.stances = config.getParameter("stances") items\active\unsorted\parasol\parasol.lua 2c2 < self.switchTime = item.instanceValue("switchTime") --- > self.switchTime = config.getParameter("switchTime") 17,18c17,18 < mcontroller.controlParameters(item.instanceValue("fallingParameters")) < mcontroller.setYVelocity(math.max(mcontroller.yVelocity(), item.instanceValue("maxFallSpeed"))) --- > mcontroller.controlParameters(config.getParameter("fallingParameters")) > mcontroller.setYVelocity(math.max(mcontroller.yVelocity(), config.getParameter("maxFallSpeed"))) 29c29 < local armAngle = toRadians(interpolateSigmoid(self.switchTimer / self.switchTime, item.instanceValue("idleRotation"), item.instanceValue("activeRotation"))) --- > local armAngle = toRadians(interpolateSigmoid(self.switchTimer / self.switchTime, config.getParameter("idleRotation"), config.getParameter("activeRotation"))) items\active\unsorted\partypopper\partypopper.lua 9c9 < self.fireOffset = item.instanceValue("fireOffset") --- > self.fireOffset = config.getParameter("fireOffset") 43c43 < storage.fireTimer = item.instanceValue("fireTime", 1.0) --- > storage.fireTimer = config.getParameter("fireTime", 1.0) 68c68 < local aimVector = vec2.rotate({1, 0}, self.aimAngle + sb.nrand(item.instanceValue("inaccuracy", 0), 0)) --- > local aimVector = vec2.rotate({1, 0}, self.aimAngle + sb.nrand(config.getParameter("inaccuracy", 0), 0)) items\active\unsorted\rewardbag\rewardbag.lua 7c7 < self.fireOffset = item.instanceValue("fireOffset") --- > self.fireOffset = config.getParameter("fireOffset") 32c32 < storage.fireTimer = item.instanceValue("fireTime", 1.0) --- > storage.fireTimer = config.getParameter("fireTime", 1.0) 41,43c41,43 < local pool = item.instanceValue("treasure.pool") < local level = item.instanceValue("treasure.level") < local seed = item.instanceValue("treasure.seed") --- > local pool = config.getParameter("treasure.pool") > local level = config.getParameter("treasure.level") > local seed = config.getParameter("treasure.seed") 71c71 < local aimVector = vec2.rotate({1, 0}, self.aimAngle + sb.nrand(item.instanceValue("inaccuracy", 0), 0)) --- > local aimVector = vec2.rotate({1, 0}, self.aimAngle + sb.nrand(config.getParameter("inaccuracy", 0), 0)) items\active\unsorted\translocator\translocator.lua 4c4 < self.fireOffset = item.instanceValue("fireOffset") --- > self.fireOffset = config.getParameter("fireOffset") 18c18 < and status.overConsumeResource("energy", item.instanceValue("fireEnergy")) then --- > and status.overConsumeResource("energy", config.getParameter("fireEnergy")) then 24c24 < and status.overConsumeResource("energy", item.instanceValue("teleportEnergy")) then --- > and status.overConsumeResource("energy", config.getParameter("teleportEnergy")) then 57c57 < self.recoilTimer = item.instanceValue("recoilTime", 0.12) --- > self.recoilTimer = config.getParameter("recoilTime", 0.12) items\active\unsorted\wateringcan\wateringcan.lua 33c33 < self.waterProjectileTimer = item.instanceValue("projectileRate") --- > self.waterProjectileTimer = config.getParameter("projectileRate") 58c58 < return self.aimAngle + (0.5 - math.abs(0.5 - self.waterTimer / item.instanceValue("waterTime"))) * 2 * util.toRadians(item.instanceValue("waterAngle")) --- > return self.aimAngle + (0.5 - math.abs(0.5 - self.waterTimer / config.getParameter("waterTime"))) * 2 * util.toRadians(config.getParameter("waterAngle")) 71c71 < item.instanceValue("projectileType"), --- > config.getParameter("projectileType"), 74c74 < aimVector(item.instanceValue("projectileInaccuracy")), --- > aimVector(config.getParameter("projectileInaccuracy")), 76c76 < item.instanceValue("projectileParameters") --- > config.getParameter("projectileParameters") 82c82 < self.waterTimer = item.instanceValue("waterTime") --- > self.waterTimer = config.getParameter("waterTime") 88c88 < self.cooldownTimer = item.instanceValue("cooldownTime") --- > self.cooldownTimer = config.getParameter("cooldownTime") items\active\vehiclecontroller\vehiclecontroller.lua 6c6 < if item.instanceValue("key") == nil then --- > if config.getParameter("key") == nil then 12c12 < self.vehicleBoundingBox=item.instanceValue("vehicleBoundingBox") --- > self.vehicleBoundingBox=config.getParameter("vehicleBoundingBox") 14c14 < if ( item.instanceValue("filled")) then --- > if ( config.getParameter("filled")) then 25c25 < activeItem.setScriptedAnimationParameter("vehicleImage", item.instanceValue("vehicleImage")) --- > activeItem.setScriptedAnimationParameter("vehicleImage", config.getParameter("vehicleImage")) 35c35 < if item.instanceValue("filled") then --- > if config.getParameter("filled") then 43c43 < world.spawnVehicle(item.instanceValue("vehicleType"), activeItem.ownerAimPosition(), { ownerKey = item.instanceValue("key"), startHealthFactor = item.instanceValue("vehicleStartHealthFactor"), fromItem = true} ) --- > world.spawnVehicle(config.getParameter("vehicleType"), activeItem.ownerAimPosition(), { ownerKey = config.getParameter("key"), startHealthFactor = config.getParameter("vehicleStartHealthFactor"), fromItem = true} ) 64c64 < self.consumePromise = world.sendEntityMessage(vehicleId, "store", item.instanceValue("key")) --- > self.consumePromise = world.sendEntityMessage(vehicleId, "store", config.getParameter("key")) 74c74 < if ( item.instanceValue("filled")) then --- > if ( config.getParameter("filled")) then 103c103 < self.respawnTimer=item.instanceValue("respawnTime") --- > self.respawnTimer=config.getParameter("respawnTime") 125c125 < if item.instanceValue("filled") then --- > if config.getParameter("filled") then 127c127 < activeItem.setInventoryIcon(item.instanceValue("filledInventoryIcon")) --- > activeItem.setInventoryIcon(config.getParameter("filledInventoryIcon")) 130c130 < activeItem.setInventoryIcon(item.instanceValue("emptyInventoryIcon")) --- > activeItem.setInventoryIcon(config.getParameter("emptyInventoryIcon")) items\active\weapons\weapon.lua 6,11c6,11 < function Weapon:new(config) < local newWeapon = config or {} < newWeapon.damageLevelMultiplier = item.instanceValue("damageLevelMultiplier", root.evalFunction("weaponDamageLevelMultiplier", item.instanceValue("level", 1))) < newWeapon.elementalType = item.instanceValue("elementalType") < newWeapon.muzzleOffset = item.instanceValue("muzzleOffset") or {0,0} < newWeapon.aimOffset = item.instanceValue("aimOffset") or (newWeapon.muzzleOffset[2] - 0.25) -- why is it off by 0.25? nobody knows! --- > function Weapon:new(weaponConfig) > local newWeapon = weaponConfig or {} > newWeapon.damageLevelMultiplier = config.getParameter("damageLevelMultiplier", root.evalFunction("weaponDamageLevelMultiplier", config.getParameter("level", 1))) > newWeapon.elementalType = config.getParameter("elementalType") > newWeapon.muzzleOffset = config.getParameter("muzzleOffset") or {0,0} > newWeapon.aimOffset = config.getParameter("aimOffset") or (newWeapon.muzzleOffset[2] - 0.25) -- why is it off by 0.25? nobody knows! 208,209c208,209 < function WeaponAbility:new(config, stances) < local newAbility = config or {} --- > function WeaponAbility:new(abilityConfig, stances) > local newAbility = abilityConfig or {} 224c224 < local altAbilityConfig = item.instanceValue("altAbility") --- > local altAbilityConfig = config.getParameter("altAbility") 239c239 < return activeItem.ownerEntityId() .. item.instanceValue("itemName") .. activeItem.hand() .. mode --- > return activeItem.ownerEntityId() .. config.getParameter("itemName") .. activeItem.hand() .. mode items\active\weapons\fist\fistweapon.lua 12c12 < self.primaryAttack = Punch:new(item.instanceValue("primaryAttack"), item.instanceValue("stances")) --- > self.primaryAttack = Punch:new(config.getParameter("primaryAttack"), config.getParameter("stances")) 15c15 < local comboFinisherConfig = item.instanceValue("comboFinisher") --- > local comboFinisherConfig = config.getParameter("comboFinisher") 24,25c24,25 < self.needsEdgeTrigger = item.instanceValue("needsEdgeTrigger", false) < self.edgeTriggerGrace = item.instanceValue("edgeTriggerGrace", 0) --- > self.needsEdgeTrigger = config.getParameter("needsEdgeTrigger", false) > self.edgeTriggerGrace = config.getParameter("edgeTriggerGrace", 0) 29,31c29,31 < self.comboSteps = item.instanceValue("comboSteps") < self.comboTiming = item.instanceValue("comboTiming") < self.comboCooldown = item.instanceValue("comboCooldown") --- > self.comboSteps = config.getParameter("comboSteps") > self.comboTiming = config.getParameter("comboTiming") > self.comboCooldown = config.getParameter("comboCooldown") 33c33 < self.weapon.freezeLimit = item.instanceValue("freezeLimit", 2) --- > self.weapon.freezeLimit = config.getParameter("freezeLimit", 2) items\active\weapons\fist\combofinishers\dashslash.lua 4,5c4,5 < function setupComboFinisher(config) < local DashSlash = WeaponAbility:new(config, config.stances) --- > function setupComboFinisher(finisherConfig) > local DashSlash = WeaponAbility:new(finisherConfig, finisherConfig.stances) items\active\weapons\fist\combofinishers\powerpunch.lua 4,5c4,5 < function setupComboFinisher(config) < local PowerPunch = WeaponAbility:new(config, config.stances) --- > function setupComboFinisher(finisherConfig) > local PowerPunch = WeaponAbility:new(finisherConfig, finisherConfig.stances) items\active\weapons\fist\combofinishers\snaproot.lua 4,5c4,5 < function setupComboFinisher(config) < local Snaproot = WeaponAbility:new(config, config.stances) --- > function setupComboFinisher(finisherConfig) > local Snaproot = WeaponAbility:new(finisherConfig, finisherConfig.stances) items\active\weapons\fist\combofinishers\uppercut.lua 4,5c4,5 < function setupComboFinisher(config) < local Uppercut = WeaponAbility:new(config, config.stances) --- > function setupComboFinisher(finisherConfig) > local Uppercut = WeaponAbility:new(finisherConfig, finisherConfig.stances) items\active\weapons\melee\meleeweapon.lua 7c7 < animator.setGlobalTag("paletteSwaps", item.instanceValue("paletteSwaps", "")) --- > animator.setGlobalTag("paletteSwaps", config.getParameter("paletteSwaps", "")) 13c13 < self.weapon:addTransformationGroup("weapon", {0,0}, util.toRadians(item.instanceValue("baseWeaponRotation", 0))) --- > self.weapon:addTransformationGroup("weapon", {0,0}, util.toRadians(config.getParameter("baseWeaponRotation", 0))) 16c16 < local primaryAttack = MeleeSlash:new(item.instanceValue("primaryAttack"), item.instanceValue("stances")) --- > local primaryAttack = MeleeSlash:new(config.getParameter("primaryAttack"), config.getParameter("stances")) items\active\weapons\melee\altabilities\broadsword\traildash\traildash.lua 50c50 < params.power = params.power * item.instanceValue("damageLevelMultiplier") --- > params.power = params.power * config.getParameter("damageLevelMultiplier") items\active\weapons\melee\altabilities\broadsword\travelingslash\travelingslash.lua 49c49 < return self.baseDamage * item.instanceValue("damageLevelMultiplier") --- > return self.baseDamage * config.getParameter("damageLevelMultiplier") items\active\weapons\melee\altabilities\generic\blinkexplosion\blinkexplosion.lua 54c54 < power = self.baseDamage * item.instanceValue("damageLevelMultiplier") --- > power = self.baseDamage * config.getParameter("damageLevelMultiplier") items\active\weapons\melee\altabilities\hammer\elementalpillar\elementalpillar.lua 85c85 < projectileParameters.power = projectileParameters.power * item.instanceValue("damageLevelMultiplier") --- > projectileParameters.power = projectileParameters.power * config.getParameter("damageLevelMultiplier") items\active\weapons\melee\altabilities\hammer\groundslam\groundslam.lua 53c53 < params.power = params.power * item.instanceValue("damageLevelMultiplier") --- > params.power = params.power * config.getParameter("damageLevelMultiplier") items\active\weapons\melee\altabilities\hammer\shockwave\shockwave.lua 93c93 < params.power = params.power * item.instanceValue("damageLevelMultiplier") --- > params.power = params.power * config.getParameter("damageLevelMultiplier") items\active\weapons\melee\altabilities\spear\barrier\barrier.lua 33c33 < params.power = params.power * item.instanceValue("damageLevelMultiplier") --- > params.power = params.power * config.getParameter("damageLevelMultiplier") items\active\weapons\melee\altabilities\spear\elementalspin\elementalspin.lua 69c69 < params.power = params.power * item.instanceValue("damageLevelMultiplier") --- > params.power = params.power * config.getParameter("damageLevelMultiplier") items\active\weapons\melee\altabilities\spear\rocketspear\rocketspear.lua 44c44 < params.power = self.baseDps * self.fireTime * item.instanceValue("damageLevelMultiplier") --- > params.power = self.baseDps * self.fireTime * config.getParameter("damageLevelMultiplier") items\active\weapons\melee\hammer\hammer.lua 9c9 < animator.setGlobalTag("paletteSwaps", item.instanceValue("paletteSwaps", "")) --- > animator.setGlobalTag("paletteSwaps", config.getParameter("paletteSwaps", "")) 15c15 < self.weapon:addTransformationGroup("weapon", {0,0}, util.toRadians(item.instanceValue("baseWeaponRotation", 0))) --- > self.weapon:addTransformationGroup("weapon", {0,0}, util.toRadians(config.getParameter("baseWeaponRotation", 0))) 18c18 < local primaryAttack = HammerSmash:new(item.instanceValue("primaryAttack"), item.instanceValue("stances")) --- > local primaryAttack = HammerSmash:new(config.getParameter("primaryAttack"), config.getParameter("stances")) items\active\weapons\melee\mission\nurusspear\nurusspear.lua 8c8 < self.weapon:addTransformationGroup("weapon", {0,0}, util.toRadians(item.instanceValue("baseWeaponRotation", 0))) --- > self.weapon:addTransformationGroup("weapon", {0,0}, util.toRadians(config.getParameter("baseWeaponRotation", 0))) 10c10 < local primaryAttack = NuruSpearAttack:new(item.instanceValue("primaryAttack"), item.instanceValue("stances")) --- > local primaryAttack = NuruSpearAttack:new(config.getParameter("primaryAttack"), config.getParameter("stances")) items\active\weapons\melee\spear\spear.lua 7c7 < animator.setGlobalTag("paletteSwaps", item.instanceValue("paletteSwaps", "")) --- > animator.setGlobalTag("paletteSwaps", config.getParameter("paletteSwaps", "")) 13c13 < self.weapon:addTransformationGroup("weapon", {0,0}, util.toRadians(item.instanceValue("baseWeaponRotation", 0))) --- > self.weapon:addTransformationGroup("weapon", {0,0}, util.toRadians(config.getParameter("baseWeaponRotation", 0))) 16c16 < local primaryAttack = SpearStab:new(item.instanceValue("primaryAttack"), item.instanceValue("stances")) --- > local primaryAttack = SpearStab:new(config.getParameter("primaryAttack"), config.getParameter("stances")) items\active\weapons\ranged\gun.lua 9c9 < animator.setGlobalTag("paletteSwaps", item.instanceValue("paletteSwaps", "")) --- > animator.setGlobalTag("paletteSwaps", config.getParameter("paletteSwaps", "")) 16c16 < local primaryAttack = GunFire:new(item.instanceValue("primaryAttack"), item.instanceValue("stances")) --- > local primaryAttack = GunFire:new(config.getParameter("primaryAttack"), config.getParameter("stances")) items\active\weapons\ranged\gunfire.lua 128c128 < return (self.baseDamage or (self.baseDps * self.fireTime)) * item.instanceValue("damageLevelMultiplier") / self.projectileCount --- > return (self.baseDamage or (self.baseDps * self.fireTime)) * config.getParameter("damageLevelMultiplier") / self.projectileCount items\active\weapons\ranged\altabilities\altfire.lua 5c5 < local primary = item.instanceValue("primaryAttack") --- > local primary = config.getParameter("primaryAttack") items\active\weapons\ranged\altabilities\explosiveburst\explosiveburst.lua 6c6 < local primary = item.instanceValue("primaryAttack") --- > local primary = config.getParameter("primaryAttack") items\active\weapons\ranged\altabilities\fuelairtrail\fuelairtrail.lua 33c33 < pParams.power = pParams.power * root.evalFunction("weaponDamageLevelMultiplier", item.instanceValue("level", 1)) --- > pParams.power = pParams.power * root.evalFunction("weaponDamageLevelMultiplier", config.getParameter("level", 1)) items\active\weapons\ranged\altabilities\guidedrocket\guidedrocket.lua 5c5 < local primary = item.instanceValue("primaryAttack") --- > local primary = config.getParameter("primaryAttack") items\active\weapons\ranged\altabilities\homingrocket\homingrocket.lua 5c5 < local primary = item.instanceValue("primaryAttack") --- > local primary = config.getParameter("primaryAttack") items\active\weapons\ranged\altabilities\lance\lance.lua 5c5 < local primary = item.instanceValue("primaryAttack") --- > local primary = config.getParameter("primaryAttack") items\active\weapons\ranged\altabilities\markedshot\markedshot.lua 5c5 < local primary = item.instanceValue("primaryAttack") --- > local primary = config.getParameter("primaryAttack") items\active\weapons\ranged\altabilities\rocketburst\rocketburst.lua 5c5 < local primary = item.instanceValue("primaryAttack") --- > local primary = config.getParameter("primaryAttack") items\active\weapons\ranged\boomerang\boomerang.lua 5,10c5,10 < self.fireOffset = item.instanceValue("fireOffset") < self.stances = item.instanceValue("stances") < self.fireAngleOffset = util.toRadians(item.instanceValue("fireAngleOffset", 0)) < self.projectileType = item.instanceValue("projectileType") < self.projectileParameters = item.instanceValue("projectileParameters") < self.projectileParameters.power = self.projectileParameters.power * root.evalFunction("weaponDamageLevelMultiplier", item.instanceValue("level", 1)) --- > self.fireOffset = config.getParameter("fireOffset") > self.stances = config.getParameter("stances") > self.fireAngleOffset = util.toRadians(config.getParameter("fireAngleOffset", 0)) > self.projectileType = config.getParameter("projectileType") > self.projectileParameters = config.getParameter("projectileParameters") > self.projectileParameters.power = self.projectileParameters.power * root.evalFunction("weaponDamageLevelMultiplier", config.getParameter("level", 1)) items\active\weapons\ranged\flamethrower\flamethrower.lua 9c9 < animator.setGlobalTag("paletteSwaps", item.instanceValue("paletteSwaps", "")) --- > animator.setGlobalTag("paletteSwaps", config.getParameter("paletteSwaps", "")) 36c36 < local flamethrowerAttack = GunFire:new(item.instanceValue("primaryAttack"), item.instanceValue("stances")) --- > local flamethrowerAttack = GunFire:new(config.getParameter("primaryAttack"), config.getParameter("stances")) items\active\weapons\ranged\remotegrenadelauncher\remotegrenadelauncher.lua 5,8c5,8 < self.pType = item.instanceValue("projectileType") < self.pParams = item.instanceValue("projectileParameters", {}) < self.pParams.power = self.pParams.power * root.evalFunction("weaponDamageLevelMultiplier", item.instanceValue("level", 1)) < self.energyPerShot = item.instanceValue("energyUsage") --- > self.pType = config.getParameter("projectileType") > self.pParams = config.getParameter("projectileParameters", {}) > self.pParams.power = self.pParams.power * root.evalFunction("weaponDamageLevelMultiplier", config.getParameter("level", 1)) > self.energyPerShot = config.getParameter("energyUsage") 10c10 < self.fireOffset = item.instanceValue("fireOffset") --- > self.fireOffset = config.getParameter("fireOffset") 37c37 < storage.fireTimer = item.instanceValue("fireTime", 1.0) --- > storage.fireTimer = config.getParameter("fireTime", 1.0) 76c76 < self.recoilTimer = item.instanceValue("recoilTime", 0.12) --- > self.recoilTimer = config.getParameter("recoilTime", 0.12) 109c109 < local aimVector = vec2.rotate({1, 0}, self.aimAngle + sb.nrand(item.instanceValue("inaccuracy", 0), 0)) --- > local aimVector = vec2.rotate({1, 0}, self.aimAngle + sb.nrand(config.getParameter("inaccuracy", 0), 0)) items\generic\crafting\battery.item 4c4 < "rarity" : "Common", --- > "rarity" : "uncommon", items\generic\crafting\titaniumbar.item 6c6 < "description" : "It's a titanium bar. Useful for crafting advanced weapons, armour and more!", --- > "description" : "It's a titanium bar. Titanium ore is found primarily on arid and snowy planets.", items\generic\other\medkit.consumable 6c6 < "description" : "A medkit for healing moderate wounds. Using it restores 60 health.", --- > "description" : "A medkit for healing moderate wounds. Using it restores 40 health and cures most statuses.", 10c10,26 < "effect" : "bandage4", --- > "effect" : "bandage2", > "duration" : 2 > }, > { > "effect" : "fireblock", > "duration" : 2 > }, > { > "effect" : "iceblock", > "duration" : 2 > }, > { > "effect" : "electricblock", > "duration" : 2 > }, > { > "effect" : "poisonblock", items\guns\bows\aegisaltbow\aegisaltbow.gun 17c17 < "fireTime" : 0.65, --- > "fireTime" : 0.5, items\guns\bows\bow\bow.gun 17c17 < "fireTime" : 0.25, --- > "fireTime" : 0.5, 31c31 < "power" : 4 --- > "power" : 5.25 items\guns\bows\compoundbow\compoundbow.gun 17c17 < "fireTime" : 0.65, --- > "fireTime" : 0.5, items\guns\bows\cupidsbow\cupidsbow.gun 17c17 < "fireTime" : 0.65, --- > "fireTime" : 0.5, items\guns\bows\feroziumbow\feroziumbow.gun 17c17 < "fireTime" : 0.65, --- > "fireTime" : 0.5, items\guns\bows\ironbow\ironbow.gun 17c17 < "fireTime" : 0.65, --- > "fireTime" : 0.5, items\guns\bows\tungstenbow\tungstenbow.gun 12c12 < "image" : "tungstenbowfull.png:", --- > "image" : "tungstenbow.png:", 17c17 < "fireTime" : 0.65, --- > "fireTime" : 0.5, monsters\capturepod.lua 7c7 < local ownerUuid = entity.configParameter("ownerUuid", nil) --- > local ownerUuid = config.getParameter("ownerUuid", nil) 14c14 < local killCount = entity.configParameter("killCount", nil) --- > local killCount = config.getParameter("killCount", nil) 27,28c27,28 < if storage.killCount > entity.configParameter("killsPerLevel", 10) then < local levelUpParticles = entity.configParameter("levelUpParticles", nil) --- > if storage.killCount > config.getParameter("killsPerLevel", 10) then > local levelUpParticles = config.getParameter("levelUpParticles", nil) 30c30 < entity.setDeathParticleBurst(levelUpParticles) --- > monster.setDeathParticleBurst(levelUpParticles) 51c51 < local captureHealthFraction = entity.configParameter("captureHealthFraction", nil) --- > local captureHealthFraction = config.getParameter("captureHealthFraction", nil) 53,54c53 < local healthFraction = entity.health() / entity.maxHealth() < if healthFraction <= captureHealthFraction then --- > if status.resourcePercentage("health") <= captureHealthFraction then 62c61 < local captureParticles = entity.configParameter("captureParticles", nil) --- > local captureParticles = config.getParameter("captureParticles", nil) 64c63 < entity.setDeathParticleBurst(captureParticles) --- > monster.setDeathParticleBurst(captureParticles) 77c76 < local parameters = entity.uniqueParameters() --- > local parameters = monster.uniqueParameters() 87,89c86,88 < parameters.seed = entity.seed() < parameters.level = entity.level() < parameters.familyIndex = entity.familyIndex() --- > parameters.seed = monster.seed() > parameters.level = monster.level() > parameters.familyIndex = monster.familyIndex() 93c92 < world.spawnMonster(entity.type(), mcontroller.position(), parameters) --- > world.spawnMonster(monster.type(), mcontroller.position(), parameters) 96c95 < world.spawnItem("filledcapturepod", entity.toAbsolutePosition({ 0, 4 }), 1, { --- > world.spawnItem("filledcapturepod", monster.toAbsolutePosition({ 0, 4 }), 1, { 104c103 < type = entity.type(), --- > type = monster.type(), 113c112 < entity.setDropPool(nil) --- > monster.setDropPool(nil) monsters\flocking.lua 12c12 < local flockRegion = entity.configParameter("flockRegion") --- > local flockRegion = config.getParameter("flockRegion") 16,17c16,17 < local flockSeparationDistance = entity.configParameter("flockSeparationDistance") < local flockAlignmentDistance = entity.configParameter("flockAlignmentDistance") --- > local flockSeparationDistance = config.getParameter("flockSeparationDistance") > local flockAlignmentDistance = config.getParameter("flockAlignmentDistance") 46c46 < local flockLeaderInfluence = entity.configParameter("flockLeaderInfluence") --- > local flockLeaderInfluence = config.getParameter("flockLeaderInfluence") 86c86 < local flockSeparationFactor = entity.configParameter("flockSeparationFactor") --- > local flockSeparationFactor = config.getParameter("flockSeparationFactor") 104c104 < local flockAlignmentFactor = entity.configParameter("flockAlignmentFactor") --- > local flockAlignmentFactor = config.getParameter("flockAlignmentFactor") 120c120 < local flockCohesionFactor = entity.configParameter("flockCohesionFactor") --- > local flockCohesionFactor = config.getParameter("flockCohesionFactor") monsters\groundmovement.lua 4c4 < local bounds = entity.configParameter("metaBoundBox") --- > local bounds = config.getParameter("metaBoundBox") monsters\grumblestate.lua 0a1,2 > require "/scripts/util.lua" > 27c29 < stateData.emoteCooldown = entity.randomizeParameterRange("tenant.emoteCooldownTimeRange") --- > stateData.emoteCooldown = util.randomInRange(config.getParameter("tenant.emoteCooldownTimeRange")) monsters\monster.lua 24,25c24,25 < self.behaviorConfig = sb.jsonMerge(entity.configParameter("behaviorConfig", {}), skillBehaviorConfig()) < self.behavior = BTree:new(entity.configParameter("behavior")) --- > self.behaviorConfig = sb.jsonMerge(config.getParameter("behaviorConfig", {}), skillBehaviorConfig()) > self.behavior = BTree:new(config.getParameter("behavior")) 29,30c29,30 < if entity.hasSound("deathPuff") then < entity.setDeathSound("deathPuff") --- > if animator.hasSound("deathPuff") then > monster.setDeathSound("deathPuff") 32,33c32,33 < if entity.configParameter("deathParticles") then < entity.setDeathParticleBurst(entity.configParameter("deathParticles")) --- > if config.getParameter("deathParticles") then > monster.setDeathParticleBurst(config.getParameter("deathParticles")) 40c40 < entity.setGlobalTag("flipX", "") --- > animator.setGlobalTag("flipX", "") 60c60 < local deathBehavior = entity.configParameter("deathBehavior") --- > local deathBehavior = config.getParameter("deathBehavior") 65,66c65,66 < self.forceRegions = ControlMap:new(entity.configParameter("forceRegions", {})) < self.damageSources = ControlMap:new(entity.configParameter("damageSources", {})) --- > self.forceRegions = ControlMap:new(config.getParameter("forceRegions", {})) > self.damageSources = ControlMap:new(config.getParameter("damageSources", {})) 73,74c73,74 < entity.setAnimationState("damage", "stunned") < entity.setGlobalTag("hurt", "hurt") --- > animator.setAnimationState("damage", "stunned") > animator.setGlobalTag("hurt", "hurt") 79,80c79,80 < entity.setGlobalTag("hurt", "") < entity.setAnimationState("damage", "none") --- > animator.setGlobalTag("hurt", "") > animator.setAnimationState("damage", "none") 121c121 < error(string.format("Lua Error in monster type '%s'\n %s", entity.type(), result)) --- > error(string.format("Lua Error in monster type '%s'\n %s", monster.type(), result)) 138,139c138,139 < for part,ds in pairs(entity.configParameter("damageParts", {})) do < local damageArea = entity.partPoly(part, "damageArea") --- > for part,ds in pairs(config.getParameter("damageParts", {})) do > local damageArea = animator.partPoly(part, "damageArea") 148c148 < ds.damage = ds.damage * root.evalFunction("monsterLevelPowerMultiplier", entity.level()) --- > ds.damage = ds.damage * root.evalFunction("monsterLevelPowerMultiplier", monster.level()) 151c151 < entity.setDamageSources(damageSources) --- > monster.setDamageSources(damageSources) 170c170 < entity.setPhysicsForces(regions) --- > monster.setPhysicsForces(regions) 174c174 < local collisionParts = entity.configParameter("collisionParts", {}) --- > local collisionParts = config.getParameter("collisionParts", {}) 177c177 < local collisionPoly = entity.partPoly(part, "collisionPoly") --- > local collisionPoly = animator.partPoly(part, "collisionPoly") 186,187c186,187 < local skills = entity.configParameter("skills", {}) < local config = {} --- > local skills = config.getParameter("skills", {}) > local skillConfig = {} 190c190 < local skillHostileActions = root.skillConfigParameter(skillName, "hostileActions") --- > local skillHostileActions = root.monsterSkillParameter(skillName, "hostileActions") 192,193c192,193 < construct(config, "hostileActions") < util.appendLists(config.hostileActions, skillHostileActions) --- > construct(skillConfig, "hostileActions") > util.appendLists(skillConfig.hostileActions, skillHostileActions) 197c197 < return config --- > return skillConfig 209,210c209,210 < type = entity.type(); < arguments = { persistent = true, seed = entity.seed() } --- > type = monster.type(); > arguments = { persistent = true, seed = monster.seed() } 253c253 < entity.setAnimationState(args.type, args.state) --- > animator.setAnimationState(args.type, args.state) 268c268 < entity.setGlobalTag(args.type, args.tag or "") --- > animator.setGlobalTag(args.type, args.tag or "") 303c303 < goalAngle = (goalAngle + entity.configParameter("rotationOffset", 0)) % (math.pi*2) --- > goalAngle = (goalAngle + config.getParameter("rotationOffset", 0)) % (math.pi*2) 312,313c312,313 < entity.resetTransformationGroup("body") < entity.rotateTransformationGroup("body", angle) --- > animator.resetTransformationGroup("body") > animator.rotateTransformationGroup("body", angle) 319,320c319,320 < entity.resetTransformationGroup("body") < entity.rotateTransformationGroup("body", goalAngle) --- > animator.resetTransformationGroup("body") > animator.rotateTransformationGroup("body", goalAngle) 331c331 < entity.resetTransformationGroup(args.transformationGroup) --- > animator.resetTransformationGroup(args.transformationGroup) 350c350 < entity.rotateTransformationGroup(args.transformationGroup, angle, rotationCenter) --- > animator.rotateTransformationGroup(args.transformationGroup, angle, rotationCenter) 360c360 < entity.setDamageOnTouch(args.touchDamage) --- > monster.setDamageOnTouch(args.touchDamage) 370c370 < entity.setAggressive(args.aggressive == true) --- > monster.setAggressive(args.aggressive == true) 380c380 < entity.setActiveSkillName(args.skillName) --- > monster.setActiveSkillName(args.skillName) 392c392 < entity.burstParticleEmitter(args.emitter) --- > animator.burstParticleEmitter(args.emitter) 404c404 < entity.setParticleEmitterActive(args.emitter, args.active) --- > animator.setParticleEmitterActive(args.emitter, args.active) 416c416 < entity.playSound(args.sound) --- > animator.playSound(args.sound) 427c427 < entity.setLightActive(args.light, args.active) --- > animator.setLightActive(args.light, args.active) monsters\returnhomestate.lua 25c25 < local minDistance = entity.configParameter("returnHome.minDistance") or 3 --- > local minDistance = config.getParameter("returnHome.minDistance") or 3 38c38 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") monsters\simplerangedattack.lua 11,13c11,13 < entity.configParameter("projectileType", "bullet-1"), < entity.configParameter("projectileConfig", { power = root.evalFunction("monsterLevelPowerMultiplier", entity.level()) * 10 }), < entity.configParameter("fireInterval", 1) --- > config.getParameter("projectileType", "bullet-1"), > config.getParameter("projectileConfig", { power = root.evalFunction("monsterLevelPowerMultiplier", monster.level()) * 10 }), > config.getParameter("fireInterval", 1) 16,18c16,18 < rangedAttack.attackTime = entity.configParameter("attackTime", 1) < rangedAttack.cooldownTime = entity.configParameter("cooldownTime", 0) < rangedAttack.sourceOffset = entity.configParameter("projectileSourcePosition", {0, 0}) --- > rangedAttack.attackTime = config.getParameter("attackTime", 1) > rangedAttack.cooldownTime = config.getParameter("cooldownTime", 0) > rangedAttack.sourceOffset = config.getParameter("projectileSourcePosition", {0, 0}) 21c21 < function rangedAttack.setConfig(projectile, config, fireInterval) --- > function rangedAttack.setConfig(projectile, projectileConfig, fireInterval) 24,26c24,26 < if config then < if config.power then < config.power = root.evalFunction("monsterLevelPowerMultiplier", entity.level()) * config.power --- > if projectileConfig then > if projectileConfig.power then > projectileConfig.power = root.evalFunction("monsterLevelPowerMultiplier", monster.level()) * projectileConfig.power 28c28 < rangedAttack.config = config --- > rangedAttack.projectileConfig = projectileConfig 39,41c39,41 < function rangedAttack.fireOnce(projectile, config, aimVector, trackEntity) < -- world.logInfo("Ranged attack firing with projectile %s, position %s, direction %s, trackEntity %s, config %s", projectile or rangedAttack.projectile, entity.toAbsolutePosition(rangedAttack.sourceOffset), aimVector or rangedAttack.aimVector, trackEntity or false, config or rangedAttack.config) < world.spawnProjectile(projectile or rangedAttack.projectile, entity.toAbsolutePosition(rangedAttack.sourceOffset), entity.id(), aimVector or rangedAttack.aimVector, trackEntity or false, config or rangedAttack.config) --- > function rangedAttack.fireOnce(projectile, projectileConfig, aimVector, trackEntity) > -- world.logInfo("Ranged attack firing with projectile %s, position %s, direction %s, trackEntity %s, projectileConfig %s", projectile or rangedAttack.projectile, monster.toAbsolutePosition(rangedAttack.sourceOffset), aimVector or rangedAttack.aimVector, trackEntity or false, projectileConfig or rangedAttack.projectileConfig) > world.spawnProjectile(projectile or rangedAttack.projectile, monster.toAbsolutePosition(rangedAttack.sourceOffset), entity.id(), aimVector or rangedAttack.aimVector, trackEntity or false, projectileConfig or rangedAttack.projectileConfig) monsters\tenant.lua 8,9c8,9 < entity.setDropPool(nil) < entity.setDeathParticleBurst(nil) --- > monster.setDropPool(nil) > monster.setDeathParticleBurst(nil) monsters\boss\bossmonster.lua 0a1,2 > require "/scripts/util.lua" > 16,19c18,21 < self.queryTargetDistance = entity.configParameter("queryTargetDistance", 30) < self.trackTargetDistance = entity.configParameter("trackTargetDistance") < self.switchTargetDistance = entity.configParameter("switchTargetDistance") < self.keepTargetInSight = entity.configParameter("keepTargetInSight", true) --- > self.queryTargetDistance = config.getParameter("queryTargetDistance", 30) > self.trackTargetDistance = config.getParameter("trackTargetDistance") > self.switchTargetDistance = config.getParameter("switchTargetDistance") > self.keepTargetInSight = config.getParameter("keepTargetInSight", true) 24c26 < local states = stateMachine.scanScripts(entity.configParameter("scripts"), "(%a+State)%.lua") --- > local states = stateMachine.scanScripts(config.getParameter("scripts"), "(%a+State)%.lua") 32,33c34,35 < for _, skillName in pairs(entity.configParameter("skills")) do < self.skillParameters[skillName] = entity.configParameter(skillName) --- > for _, skillName in pairs(config.getParameter("skills")) do > self.skillParameters[skillName] = config.getParameter(skillName) 37c39 < self.phases = entity.configParameter("phases") --- > self.phases = config.getParameter("phases") 46c48 < entity.setDeathParticleBurst("deathPoof") --- > monster.setDeathParticleBurst("deathPoof") 60c62 < if hasTarget() and entity.health() > 0 then --- > if hasTarget() and status.resourcePositive("health") then 64c66 < if not hasTarget() and entity.health() > 0 and self.hadTarget then --- > if not hasTarget() and status.resourcePositive("health") and self.hadTarget then 77c79 < if entity.health() > 0 then script.setUpdateDelta(10) end --- > if status.resourcePositive("health") then script.setUpdateDelta(10) end 90c92 < if entity.health() <= 0 then --- > if not status.resourcePositive("health") then 287c289 < elseif (math.abs(delta[1]) < jumpThresholdX and delta[2] > entity.configParameter("jumpTargetDistance")) then --- > elseif (math.abs(delta[1]) < jumpThresholdX and delta[2] > config.getParameter("jumpTargetDistance")) then 292c294 < self.jumpTimer = entity.randomizeParameterRange("jumpTime") --- > self.jumpTimer = util.randomInRange(config.getParameter("jumpTime")) 319c321 < blockLine = {entity.toAbsolutePosition({boundBox[3] + 0.25, boundBox[4]}), entity.toAbsolutePosition({boundBox[3] + 0.25, boundBox[2] - 1.0})} --- > blockLine = {monster.toAbsolutePosition({boundBox[3] + 0.25, boundBox[4]}), monster.toAbsolutePosition({boundBox[3] + 0.25, boundBox[2] - 1.0})} 321c323 < blockLine = {entity.toAbsolutePosition({-boundBox[3] - 0.25, boundBox[4]}), entity.toAbsolutePosition({-boundBox[3] - 0.25, boundBox[2] - 1.0})} --- > blockLine = {monster.toAbsolutePosition({-boundBox[3] - 0.25, boundBox[4]}), monster.toAbsolutePosition({-boundBox[3] - 0.25, boundBox[2] - 1.0})} 337c339 < topLine = {entity.toAbsolutePosition({boundBox[1], boundBox[4] + 0.5}), entity.toAbsolutePosition({boundBox[3], boundBox[4] + 0.5})} --- > topLine = {monster.toAbsolutePosition({boundBox[1], boundBox[4] + 0.5}), monster.toAbsolutePosition({boundBox[3], boundBox[4] + 0.5})} 346c348 < fallLine = {entity.toAbsolutePosition({-0.5, boundBox[2] - 0.75}), entity.toAbsolutePosition({boundBox[3], boundBox[2] - 0.75})} --- > fallLine = {monster.toAbsolutePosition({-0.5, boundBox[2] - 0.75}), monster.toAbsolutePosition({boundBox[3], boundBox[2] - 0.75})} 348c350 < fallLine = {entity.toAbsolutePosition({0.5, boundBox[2] - 0.75}), entity.toAbsolutePosition({-boundBox[3], boundBox[2] - 0.75})} --- > fallLine = {monster.toAbsolutePosition({0.5, boundBox[2] - 0.75}), monster.toAbsolutePosition({-boundBox[3], boundBox[2] - 0.75})} monsters\boss\crystalboss\crystalbossreset.lua 2,6c2,6 < entity.setAnimationState("eye", "idle") < entity.setAnimationState("firstBeams", "idle") < entity.setAnimationState("firstBeams", "idle") < entity.setAnimationState("shell", "stage1") < entity.setAnimationState("organs", "six") --- > animator.setAnimationState("eye", "idle") > animator.setAnimationState("firstBeams", "idle") > animator.setAnimationState("firstBeams", "idle") > animator.setAnimationState("shell", "stage1") > animator.setAnimationState("organs", "six") 11c11 < world.callScriptedEntity(moontant, "entity.setDropPool", nil) --- > world.callScriptedEntity(moontant, "monster.setDropPool", nil) monsters\boss\crystalboss\diestate.lua 7c7 < rangedAttack.setConfig(entity.configParameter("projectiles.deathexplosion.type"), entity.configParameter("projectiles.deathexplosion.config"), 0.2) --- > rangedAttack.setConfig(config.getParameter("projectiles.deathexplosion.type"), config.getParameter("projectiles.deathexplosion.config"), 0.2) 20c20 < entity.setAnimationState("crystalhum", "off") --- > animator.setAnimationState("crystalhum", "off") 22,23c22,23 < entity.setAnimationState("shell", "stage"..currentPhase()) < entity.setAnimationState("eye", "hurt") --- > animator.setAnimationState("shell", "stage"..currentPhase()) > animator.setAnimationState("eye", "hurt") 25,26c25,26 < entity.playSound("shatter") < entity.playSound("death") --- > animator.playSound("shatter") > animator.playSound("death") 46c46 < entity.rotateGroup("all", angle, true) --- > animator.rotateGroup("all", angle, true) 51c51 < entity.playSound("shatter") --- > animator.playSound("shatter") 73c73 < world.spawnNpc(mcontroller.position(), "human", "minersurvivor", entity.level()) --- > world.spawnNpc(mcontroller.position(), "human", "minersurvivor", monster.level()) monsters\boss\crystalboss\skills\crystaldoublebeamattack.lua 9,10c9,10 < timer = entity.configParameter("crystalDoubleBeamAttack.skillTime", 8), < rotateInterval = entity.configParameter("crystalDoubleBeamAttack.rotateInterval", 8), --- > timer = config.getParameter("crystalDoubleBeamAttack.skillTime", 8), > rotateInterval = config.getParameter("crystalDoubleBeamAttack.rotateInterval", 8), 22,25c22,25 < entity.setAnimationState("firstBeams", "windup") < entity.setAnimationState("secondBeams", "windup") < entity.setAnimationState("eye", "windup") < entity.setAnimationState("beamglow", "on") --- > animator.setAnimationState("firstBeams", "windup") > animator.setAnimationState("secondBeams", "windup") > animator.setAnimationState("eye", "windup") > animator.setAnimationState("beamglow", "on") 27c27 < crystalDoubleBeamAttack.damagePerSecond = entity.configParameter("crystalDoubleBeamAttack.damagePerSecond") --- > crystalDoubleBeamAttack.damagePerSecond = config.getParameter("crystalDoubleBeamAttack.damagePerSecond") 49c49 < local powerMultiplier = root.evalFunction("monsterLevelPowerMultiplier", entity.level()) --- > local powerMultiplier = root.evalFunction("monsterLevelPowerMultiplier", monster.level()) 54,56c54,56 < entity.setAnimationState("firstBeams", "winddown") < entity.setAnimationState("secondBeams", "winddown") < entity.setAnimationState("eye", "winddown") --- > animator.setAnimationState("firstBeams", "winddown") > animator.setAnimationState("secondBeams", "winddown") > animator.setAnimationState("eye", "winddown") 76,78c76,78 < entity.setAnimationState("firstBeams", "idle") < entity.setAnimationState("secondBeams", "idle") < entity.setAnimationState("beamglow", "off") --- > animator.setAnimationState("firstBeams", "idle") > animator.setAnimationState("secondBeams", "idle") > animator.setAnimationState("beamglow", "off") 84,87c84,87 < entity.rotateGroup("beam1", angle, instant) < entity.rotateGroup("beam2", angle + math.pi, instant) < entity.rotateGroup("beam3", -angle, instant) < entity.rotateGroup("beam4", -angle + math.pi, instant) --- > animator.rotateGroup("beam1", angle, instant) > animator.rotateGroup("beam2", angle + math.pi, instant) > animator.rotateGroup("beam3", -angle, instant) > animator.rotateGroup("beam4", -angle + math.pi, instant) 117,124c117,124 < entity.setLightActive("beam1", active) < entity.setLightActive("beam1-2", active) < entity.setLightActive("beam2", active) < entity.setLightActive("beam2-2", active) < entity.setLightActive("beam3", active) < entity.setLightActive("beam3-2", active) < entity.setLightActive("beam4", active) < entity.setLightActive("beam4-2", active) --- > animator.setLightActive("beam1", active) > animator.setLightActive("beam1-2", active) > animator.setLightActive("beam2", active) > animator.setLightActive("beam2-2", active) > animator.setLightActive("beam3", active) > animator.setLightActive("beam3-2", active) > animator.setLightActive("beam4", active) > animator.setLightActive("beam4-2", active) 128,129c128,129 < entity.setLightPosition(light, vec2.rotate({32, 0}, angle)) < entity.setLightPosition(light.."-2", vec2.rotate({20, 0}, angle)) --- > animator.setLightPosition(light, vec2.rotate({32, 0}, angle)) > animator.setLightPosition(light.."-2", vec2.rotate({20, 0}, angle)) monsters\boss\crystalboss\skills\crystalidleattack.lua 11c11 < idleTime = entity.configParameter("crystalIdleAttack.idleTime", 2.5) --- > idleTime = config.getParameter("crystalIdleAttack.idleTime", 2.5) monsters\boss\crystalboss\skills\crystalmoontantattack.lua 15c15 < timer = entity.configParameter("crystalMoontantAttack.skillTime", 0.3), --- > timer = config.getParameter("crystalMoontantAttack.skillTime", 0.3), 17c17 < spawnAngle = entity.configParameter("crystalMoontantAttack.spawnAngle", 0.2), --- > spawnAngle = config.getParameter("crystalMoontantAttack.spawnAngle", 0.2), 19,20c19,20 < rotateInterval = entity.configParameter("crystalMoontantAttack.rotateInterval", 0.1), < rotateAngle = entity.configParameter("crystalMoontantAttack.rotateAngle", 0.02) --- > rotateInterval = config.getParameter("crystalMoontantAttack.rotateInterval", 0.1), > rotateAngle = config.getParameter("crystalMoontantAttack.rotateAngle", 0.02) 25,26c25,26 < entity.setAnimationState("eye", "windup") < entity.playSound("spawnCharge") --- > animator.setAnimationState("eye", "windup") > animator.playSound("spawnCharge") 40c40 < local duration = entity.configParameter("crystalShatterAttack.skillTime", 1) - stateData.timer --- > local duration = config.getParameter("crystalShatterAttack.skillTime", 1) - stateData.timer 42c42 < entity.rotateGroup("all", angle, true) --- > animator.rotateGroup("all", angle, true) 48c48 < world.spawnProjectile("moontantspawn", mcontroller.position(), entity.id(), aimVector, false, {power = 0, level = entity.level()} ) --- > world.spawnProjectile("moontantspawn", mcontroller.position(), entity.id(), aimVector, false, {power = 0, level = monster.level()} ) 51c51 < entity.setAnimationState("organs", crystalMoontantAttack.stateNames[self.moontants]) --- > animator.setAnimationState("organs", crystalMoontantAttack.stateNames[self.moontants]) 53c53 < entity.playSound("spawnAdd") --- > animator.playSound("spawnAdd") 60,61c60,61 < entity.rotateGroup("all", 0, true) < entity.setAnimationState("eye", "winddown") --- > animator.rotateGroup("all", 0, true) > animator.setAnimationState("eye", "winddown") monsters\boss\crystalboss\skills\crystalshatterattack.lua 8,11c8,11 < timer = entity.configParameter("crystalShatterAttack.skillTime", 1), < rotateInterval = entity.configParameter("crystalShatterAttack.rotateInterval", 0.2), < rotateAngle = entity.configParameter("crystalShatterAttack.rotateAngle", 0.05), < bleedAmount = entity.configParameter("crystalShatterAttack.bleedAmount", 100) --- > timer = config.getParameter("crystalShatterAttack.skillTime", 1), > rotateInterval = config.getParameter("crystalShatterAttack.rotateInterval", 0.2), > rotateAngle = config.getParameter("crystalShatterAttack.rotateAngle", 0.05), > bleedAmount = config.getParameter("crystalShatterAttack.bleedAmount", 100) 16,17c16,17 < entity.setAnimationState("shell", "stage"..currentPhase()) < entity.setAnimationState("eye", "hurt") --- > animator.setAnimationState("shell", "stage"..currentPhase()) > animator.setAnimationState("eye", "hurt") 19,20c19,20 < entity.playSound("shatter") < entity.playSound("hurt") --- > animator.playSound("shatter") > animator.playSound("hurt") 39c39 < local duration = entity.configParameter("crystalShatterAttack.skillTime", 1) - stateData.timer --- > local duration = config.getParameter("crystalShatterAttack.skillTime", 1) - stateData.timer 41c41 < entity.rotateGroup("all", angle, true) --- > animator.rotateGroup("all", angle, true) 59,60c59,60 < entity.rotateGroup("all", 0, true) < entity.setAnimationState("eye", "idle") --- > animator.rotateGroup("all", 0, true) > animator.setAnimationState("eye", "idle") monsters\boss\crystalboss\skills\crystalsinebeamattack.lua 8,9c8,9 < timer = entity.configParameter("crystalSineBeamAttack.skillTime", 12), < rotateInterval = entity.configParameter("crystalSineBeamAttack.rotateInterval", 12), --- > timer = config.getParameter("crystalSineBeamAttack.skillTime", 12), > rotateInterval = config.getParameter("crystalSineBeamAttack.rotateInterval", 12), 20,23c20,23 < entity.setAnimationState("firstBeams", "windup") < entity.setAnimationState("secondBeams", "windup") < entity.setAnimationState("eye", "windup") < entity.setAnimationState("beamglow", "on") --- > animator.setAnimationState("firstBeams", "windup") > animator.setAnimationState("secondBeams", "windup") > animator.setAnimationState("eye", "windup") > animator.setAnimationState("beamglow", "on") 25c25 < crystalSineBeamAttack.damagePerSecond = entity.configParameter("crystalSineBeamAttack.damagePerSecond") --- > crystalSineBeamAttack.damagePerSecond = config.getParameter("crystalSineBeamAttack.damagePerSecond") 48c48 < local powerMultiplier = root.evalFunction("monsterLevelPowerMultiplier", entity.level()) --- > local powerMultiplier = root.evalFunction("monsterLevelPowerMultiplier", monster.level()) 52,54c52,54 < entity.setAnimationState("firstBeams", "winddown") < entity.setAnimationState("secondBeams", "winddown") < entity.setAnimationState("eye", "winddown") --- > animator.setAnimationState("firstBeams", "winddown") > animator.setAnimationState("secondBeams", "winddown") > animator.setAnimationState("eye", "winddown") 69,71c69,71 < entity.setAnimationState("firstBeams", "idle") < entity.setAnimationState("secondBeams", "idle") < entity.setAnimationState("beamglow", "off") --- > animator.setAnimationState("firstBeams", "idle") > animator.setAnimationState("secondBeams", "idle") > animator.setAnimationState("beamglow", "off") 78c78 < entity.rotateGroup("beam1", angle, instant) --- > animator.rotateGroup("beam1", angle, instant) 82c82 < entity.rotateGroup("beam2", angle + math.pi * 0.5, instant) --- > animator.rotateGroup("beam2", angle + math.pi * 0.5, instant) 86c86 < entity.rotateGroup("beam3", angle + math.pi, instant) --- > animator.rotateGroup("beam3", angle + math.pi, instant) 90c90 < entity.rotateGroup("beam4", angle + math.pi * 1.5, instant) --- > animator.rotateGroup("beam4", angle + math.pi * 1.5, instant) 103,110c103,110 < entity.setLightActive("beam1", active) < entity.setLightActive("beam1-2", active) < entity.setLightActive("beam2", active) < entity.setLightActive("beam2-2", active) < entity.setLightActive("beam3", active) < entity.setLightActive("beam3-2", active) < entity.setLightActive("beam4", active) < entity.setLightActive("beam4-2", active) --- > animator.setLightActive("beam1", active) > animator.setLightActive("beam1-2", active) > animator.setLightActive("beam2", active) > animator.setLightActive("beam2-2", active) > animator.setLightActive("beam3", active) > animator.setLightActive("beam3-2", active) > animator.setLightActive("beam4", active) > animator.setLightActive("beam4-2", active) 114,115c114,115 < entity.setLightPosition(light, vec2.rotate({0, 32}, angle)) < entity.setLightPosition(light.."-2", vec2.rotate({0, 20}, angle)) --- > animator.setLightPosition(light, vec2.rotate({0, 32}, angle)) > animator.setLightPosition(light.."-2", vec2.rotate({0, 20}, angle)) monsters\boss\crystalboss\skills\crystalsinglebeamattack.lua 11,12c11,12 < timer = entity.configParameter("crystalSingleBeamAttack.skillTime", 12), < rotateInterval = entity.configParameter("crystalSingleBeamAttack.rotateInterval", 12), --- > timer = config.getParameter("crystalSingleBeamAttack.skillTime", 12), > rotateInterval = config.getParameter("crystalSingleBeamAttack.rotateInterval", 12), 17c17 < damagePerSecond = entity.configParameter("crystalSingleBeamAttack.damagePerSecond", 1600), --- > damagePerSecond = config.getParameter("crystalSingleBeamAttack.damagePerSecond", 1600), 25,27c25,27 < entity.setAnimationState("firstBeams", "windup") < entity.setAnimationState("eye", "windup") < entity.setAnimationState("beamglow", "on") --- > animator.setAnimationState("firstBeams", "windup") > animator.setAnimationState("eye", "windup") > animator.setAnimationState("beamglow", "on") 42,45c42,45 < entity.setLightActive("beam1", true) < entity.setLightActive("beam1-2", true) < entity.setLightActive("beam2", true) < entity.setLightActive("beam2-2", true) --- > animator.setLightActive("beam1", true) > animator.setLightActive("beam1-2", true) > animator.setLightActive("beam2", true) > animator.setLightActive("beam2-2", true) 52c52 < local powerMultiplier = root.evalFunction("monsterLevelPowerMultiplier", entity.level()) --- > local powerMultiplier = root.evalFunction("monsterLevelPowerMultiplier", monster.level()) 57,58c57,58 < entity.setAnimationState("firstBeams", "winddown") < entity.setAnimationState("eye", "winddown") --- > animator.setAnimationState("firstBeams", "winddown") > animator.setAnimationState("eye", "winddown") 73,80c73,80 < entity.setAnimationState("firstBeams", "idle") < entity.setAnimationState("secondBeams", "idle") < entity.setAnimationState("beamglow", "off") < < entity.setLightActive("beam1", false) < entity.setLightActive("beam1-2", false) < entity.setLightActive("beam2", false) < entity.setLightActive("beam2-2", false) --- > animator.setAnimationState("firstBeams", "idle") > animator.setAnimationState("secondBeams", "idle") > animator.setAnimationState("beamglow", "off") > > animator.setLightActive("beam1", false) > animator.setLightActive("beam1-2", false) > animator.setLightActive("beam2", false) > animator.setLightActive("beam2-2", false) 85,87c85,87 < entity.rotateGroup("beam1", angle, instant) < entity.setLightPosition("beam1", vec2.rotate({0, 32}, angle)) < entity.setLightPosition("beam1-2", vec2.rotate({0, 20}, angle)) --- > animator.rotateGroup("beam1", angle, instant) > animator.setLightPosition("beam1", vec2.rotate({0, 32}, angle)) > animator.setLightPosition("beam1-2", vec2.rotate({0, 20}, angle)) 90,92c90,92 < entity.rotateGroup("beam2", angle + math.pi, instant) < entity.setLightPosition("beam2", vec2.rotate({0, 32}, angle + math.pi)) < entity.setLightPosition("beam2-2", vec2.rotate({0, 20}, angle + math.pi)) --- > animator.rotateGroup("beam2", angle + math.pi, instant) > animator.setLightPosition("beam2", vec2.rotate({0, 32}, angle + math.pi)) > animator.setLightPosition("beam2-2", vec2.rotate({0, 20}, angle + math.pi)) monsters\boss\missile\missile.lua 2,4c2,4 < entity.setDamageOnTouch(false) < entity.setDeathParticleBurst(entity.configParameter("deathParticles")) < entity.setDeathSound("deathPuff") --- > monster.setDamageOnTouch(false) > monster.setDeathParticleBurst(config.getParameter("deathParticles")) > monster.setDeathSound("deathPuff") 14c14 < self.rotateSpeed = entity.configParameter("rotateSpeed") --- > self.rotateSpeed = config.getParameter("rotateSpeed") 16c16 < self.timeToLive = entity.configParameter("timeToLive", 4.0) --- > self.timeToLive = config.getParameter("timeToLive", 4.0) 46c46 < entity.rotateGroup("body", visualAngle, true) --- > animator.rotateGroup("body", visualAngle, true) 82c82 < local power = entity.configParameter("explosionPower") * root.evalFunction("monsterLevelPowerMultiplier", entity.level()) --- > local power = config.getParameter("explosionPower") * root.evalFunction("monsterLevelPowerMultiplier", monster.level()) monsters\boss\penguin\behavior.lua 9c9 < entity.setDeathParticleBurst("deathPoof") --- > monster.setDeathParticleBurst("deathPoof") 59c59 < local deathexplosion = entity.configParameter("deathexplosion") --- > local deathexplosion = config.getParameter("deathexplosion") 70c70 < local gunBaseOffset = entity.configParameter("gunBaseOffset") --- > local gunBaseOffset = config.getParameter("gunBaseOffset") 72c72 < local gunBasePosition = entity.toAbsolutePosition(gunBaseOffset) --- > local gunBasePosition = monster.toAbsolutePosition(gunBaseOffset) 74c74 < local gunBarrelOffset = entity.configParameter("gunBarrelOffset") --- > local gunBarrelOffset = config.getParameter("gunBarrelOffset") 76c76 < local gunBarrelPosition = entity.toAbsolutePosition(gunBarrelOffset) --- > local gunBarrelPosition = monster.toAbsolutePosition(gunBarrelOffset) 82,83c82,83 < entity.rotateGroup("weapon", -desiredAimAngle) < entity.rotateGroup("arms", -desiredAimAngle) --- > animator.rotateGroup("weapon", -desiredAimAngle) > animator.rotateGroup("arms", -desiredAimAngle) 85c85 < local aimAngle = -entity.currentRotationAngle("weapon") --- > local aimAngle = -animator.currentRotationAngle("weapon") 94,95c94,95 < if entity.configParameter("hasEmptyHand") then < entity.rotateGroup("emptyHand", math.pi / 2.0) --- > if config.getParameter("hasEmptyHand") then > animator.rotateGroup("emptyHand", math.pi / 2.0) 111c111 < entity.setAnimationState("movement", animationName) --- > animator.setAnimationState("movement", animationName) 115,116c115,116 < entity.rotateGroup("weapon", -math.pi / 2.0, immediate) < entity.rotateGroup("arms", 0, immediate) --- > animator.rotateGroup("weapon", -math.pi / 2.0, immediate) > animator.rotateGroup("arms", 0, immediate) monsters\boss\penguinminiufo\penguinminiufo.lua 2,3c2,3 < entity.setDeathParticleBurst("deathPoof") < entity.setAnimationState("movement", "flying") --- > monster.setDeathParticleBurst("deathPoof") > animator.setAnimationState("movement", "flying") 9c9 < if entity.health() <= 0 then return true end --- > if not status.resourcePositive("health") then return true end 29c29 < entity.flyTo(target) --- > monster.flyTo(target) monsters\boss\penguintank\behavior.lua 7,8c7,8 < entity.setDeathParticleBurst("deathPoof") < entity.setAnimationState("movement", "invisible") --- > monster.setDeathParticleBurst("deathPoof") > animator.setAnimationState("movement", "invisible") 18c18 < entity.setAnimationState("movement", "open") --- > animator.setAnimationState("movement", "open") 24c24 < if entity.animationState("movement") == "open" then --- > if animator.animationState("movement") == "open" then 36c36 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 41,42c41,42 < local gunBaseOffset = entity.configParameter("gunBaseOffset") < local gunBasePosition = entity.toAbsolutePosition(gunBaseOffset) --- > local gunBaseOffset = config.getParameter("gunBaseOffset") > local gunBasePosition = monster.toAbsolutePosition(gunBaseOffset) 48c48 < entity.rotateGroup("gun", targetAngle) --- > animator.rotateGroup("gun", targetAngle) 50,51c50,51 < local gunBarrelOffset = entity.configParameter("gunBarrelOffset") < local gunBarrelPosition = entity.toAbsolutePosition(gunBarrelOffset) --- > local gunBarrelOffset = config.getParameter("gunBarrelOffset") > local gunBarrelPosition = monster.toAbsolutePosition(gunBarrelOffset) 53c53 < local aimAngle = entity.currentRotationAngle("gun") --- > local aimAngle = animator.currentRotationAngle("gun") 68c68 < local range = entity.configParameter("firingRange") --- > local range = config.getParameter("firingRange") 93c93 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 107c107 < local range = entity.configParameter("firingRange") --- > local range = config.getParameter("firingRange") 137c137 < if entity.animationState("movement") ~= "attack" and stateData.timer <= 0 then --- > if animator.animationState("movement") ~= "attack" and stateData.timer <= 0 then 139c139 < entity.setAnimationState("movement", "attack") --- > animator.setAnimationState("movement", "attack") monsters\boss\penguinufo\diestate.lua 7c7 < rangedAttack.setConfig(entity.configParameter("projectiles.deathexplosion.type"), entity.configParameter("projectiles.deathexplosion.config"), 0.2) --- > rangedAttack.setConfig(config.getParameter("projectiles.deathexplosion.type"), config.getParameter("projectiles.deathexplosion.config"), 0.2) 16c16 < entity.setAnimationState("movesound", "off") --- > animator.setAnimationState("movesound", "off") 27c27 < entity.rotateGroup("all", -13 * math.pi / 180) --- > animator.rotateGroup("all", -13 * math.pi / 180) 43c43 < entity.flyTo(targetPosition) --- > monster.flyTo(targetPosition) 45c45 < entity.rotateGroup("all", sinAngle * inverseTimer * math.pi / 180) --- > animator.rotateGroup("all", sinAngle * inverseTimer * math.pi / 180) 47c47 < entity.setDamageOnTouch(true) --- > monster.setDamageOnTouch(true) 49c49 < entity.rotateGroup("all", -13 * math.pi / 180) --- > animator.rotateGroup("all", -13 * math.pi / 180) 58c58 < local explosionPosition = vec2.rotate(explosionOffset, -entity.currentRotationAngle("all")) --- > local explosionPosition = vec2.rotate(explosionOffset, -animator.currentRotationAngle("all")) monsters\boss\penguinufo\skills\ufomovefireattack.lua 7c7 < rangedAttack.setConfig(entity.configParameter("ufoMoveFireAttack.projectile.type"), entity.configParameter("ufoMoveFireAttack.projectile.config"), entity.configParameter("ufoMoveFireAttack.fireInterval")) --- > rangedAttack.setConfig(config.getParameter("ufoMoveFireAttack.projectile.type"), config.getParameter("ufoMoveFireAttack.projectile.config"), config.getParameter("ufoMoveFireAttack.fireInterval")) 11,13c11,13 < bobTime = entity.configParameter("ufoMoveFireAttack.bobTime"), < bobHeight = entity.configParameter("ufoMoveFireAttack.bobHeight"), < skillTime = entity.configParameter("ufoMoveFireAttack.skillTime"), --- > bobTime = config.getParameter("ufoMoveFireAttack.bobTime"), > bobHeight = config.getParameter("ufoMoveFireAttack.bobHeight"), > skillTime = config.getParameter("ufoMoveFireAttack.skillTime"), 16c16 < cruiseDistance = entity.configParameter("cruiseDistance") --- > cruiseDistance = config.getParameter("cruiseDistance") 21c21 < entity.setActiveSkillName(nil) --- > monster.setActiveSkillName(nil) 27c27 < local projectileOffset = entity.configParameter("ufoMoveFireAttack.projectileOffset") --- > local projectileOffset = config.getParameter("ufoMoveFireAttack.projectileOffset") 29c29 < local toTarget = vec2.norm(world.distance(self.targetPosition, entity.toAbsolutePosition(projectileOffset))) --- > local toTarget = vec2.norm(world.distance(self.targetPosition, monster.toAbsolutePosition(projectileOffset))) monsters\boss\penguinufo\skills\ufopulsecannonattack.lua 7c7 < rangedAttack.setConfig(entity.configParameter("ufoPulseCannonAttack.projectile.type"), entity.configParameter("ufoPulseCannonAttack.projectile.config"), 0.2) --- > rangedAttack.setConfig(config.getParameter("ufoPulseCannonAttack.projectile.type"), config.getParameter("ufoPulseCannonAttack.projectile.config"), 0.2) 13c13 < cruiseDistance = entity.configParameter("cruiseDistance"), --- > cruiseDistance = config.getParameter("cruiseDistance"), 19c19 < entity.setActiveSkillName("ufoPulseCannonAttack") --- > monster.setActiveSkillName("ufoPulseCannonAttack") monsters\boss\penguinufo\skills\uforeinforcementsattack.lua 8c8 < if #reinforcements >= entity.configParameter("ufoReinforcementsAttack.maxReinforcements") then --- > if #reinforcements >= config.getParameter("ufoReinforcementsAttack.maxReinforcements") then 16c16 < spawnDistance = entity.configParameter("ufoReinforcementsAttack.spawnDistance") --- > spawnDistance = config.getParameter("ufoReinforcementsAttack.spawnDistance") 45c45 < entity.setActiveSkillName("ufoReinforcementsAttack") --- > monster.setActiveSkillName("ufoReinforcementsAttack") 68c68 < self.minionState.slots[i] = world.spawnMonster("penguinMiniUfo", mcontroller.position(), {level = entity.level()}) --- > self.minionState.slots[i] = world.spawnMonster("penguinMiniUfo", mcontroller.position(), {level = monster.level()}) 98c98 < rangedAttack.fireOnce(entity.configParameter("ufoReinforcementsAttack.projectiles.generalspawn.type"), entity.configParameter("ufoReinforcementsAttack.projectiles.generalspawn.config"), nil, true) --- > rangedAttack.fireOnce(config.getParameter("ufoReinforcementsAttack.projectiles.generalspawn.type"), config.getParameter("ufoReinforcementsAttack.projectiles.generalspawn.config"), nil, true) 100c100 < rangedAttack.fireOnce(entity.configParameter("ufoReinforcementsAttack.projectiles.rockettrooperspawn.type"), entity.configParameter("ufoReinforcementsAttack.projectiles.rockettrooperspawn.config"), nil, true) --- > rangedAttack.fireOnce(config.getParameter("ufoReinforcementsAttack.projectiles.rockettrooperspawn.type"), config.getParameter("ufoReinforcementsAttack.projectiles.rockettrooperspawn.config"), nil, true) 102c102 < rangedAttack.fireOnce(entity.configParameter("ufoReinforcementsAttack.projectiles.trooperspawn.type"), entity.configParameter("ufoReinforcementsAttack.projectiles.trooperspawn.config"), nil, true) --- > rangedAttack.fireOnce(config.getParameter("ufoReinforcementsAttack.projectiles.trooperspawn.type"), config.getParameter("ufoReinforcementsAttack.projectiles.trooperspawn.config"), nil, true) monsters\boss\penguinufo\skills\ufoslamattack.lua 8,12c8,12 < slamHeight = entity.configParameter("ufoSlamAttack.slamHeight"), < riseSpeed = entity.configParameter("ufoSlamAttack.riseSpeed"), < slamSpeed = entity.configParameter("ufoSlamAttack.slamSpeed"), < timer = entity.configParameter("ufoSlamAttack.skillTime"), < stunDuration = entity.configParameter("ufoSlamAttack.stunDuration"), --- > slamHeight = config.getParameter("ufoSlamAttack.slamHeight"), > riseSpeed = config.getParameter("ufoSlamAttack.riseSpeed"), > slamSpeed = config.getParameter("ufoSlamAttack.slamSpeed"), > timer = config.getParameter("ufoSlamAttack.skillTime"), > stunDuration = config.getParameter("ufoSlamAttack.stunDuration"), 19c19 < entity.setActiveSkillName("ufoSlamAttack") --- > monster.setActiveSkillName("ufoSlamAttack") 64c64 < entity.setParticleEmitterActive("falling", true) --- > animator.setParticleEmitterActive("falling", true) 75c75 < if mcontroller.onGround() then -- and not entity.isFiring() then --- > if mcontroller.onGround() then -- and not monster.isFiring() then 77,78c77,78 < entity.playSound("landing") < entity.burstParticleEmitter("landing") --- > animator.playSound("landing") > animator.burstParticleEmitter("landing") 81,83c81,83 < entity.setDamageOnTouch(false) < entity.setParticleEmitterActive("falling", false) < entity.setParticleEmitterActive("stunned", true) --- > monster.setDamageOnTouch(false) > animator.setParticleEmitterActive("falling", false) > animator.setParticleEmitterActive("stunned", true) 89c89 < entity.setDamageOnTouch(true) --- > monster.setDamageOnTouch(true) 91c91 < mcontroller.controlApproachYVelocity(-entity.configParameter("ufoSlamAttack.slamSpeed"), 100) --- > mcontroller.controlApproachYVelocity(-config.getParameter("ufoSlamAttack.slamSpeed"), 100) 99,100c99,100 < entity.setDamageOnTouch(false) < entity.setParticleEmitterActive("stunned", false) --- > monster.setDamageOnTouch(false) > animator.setParticleEmitterActive("stunned", false) 105c105 < local yOffsetRange = entity.configParameter("targetYOffsetRange") --- > local yOffsetRange = config.getParameter("targetYOffsetRange") monsters\boss\penguinufo\skills\ufospawntanksattack.lua 7c7 < entity.setAnimationState("movement", "phase1") --- > animator.setAnimationState("movement", "phase1") 13c13 < entity.setAnimationState("movement", "phase"..currentPhase()) --- > animator.setAnimationState("movement", "phase"..currentPhase()) 18c18 < spawnDistance = entity.configParameter("ufoSpawnTanksAttack.spawnDistance"), --- > spawnDistance = config.getParameter("ufoSpawnTanksAttack.spawnDistance"), 24c24 < entity.setActiveSkillName("ufoSpawnTanksAttack") --- > monster.setActiveSkillName("ufoSpawnTanksAttack") 43c43 < rangedAttack.fireOnce(entity.configParameter("ufoSpawnTanksAttack.projectiles.tankspawn.type"), entity.configParameter("ufoSpawnTanksAttack.projectiles.tankspawn.config"), nil, true) --- > rangedAttack.fireOnce(config.getParameter("ufoSpawnTanksAttack.projectiles.tankspawn.type"), config.getParameter("ufoSpawnTanksAttack.projectiles.tankspawn.config"), nil, true) monsters\boss\penguinufo\skills\ufoswoopattack.lua 9c9 < swoopTime = entity.configParameter("ufoSwoopAttack.swoopTime"), --- > swoopTime = config.getParameter("ufoSwoopAttack.swoopTime"), 15c15 < entity.setActiveSkillName("ufoSwoopAttack") --- > monster.setActiveSkillName("ufoSwoopAttack") 26c26 < entity.setDamageOnTouch(true) --- > monster.setDamageOnTouch(true) 49c49 < entity.setDamageOnTouch(false) --- > monster.setDamageOnTouch(false) monsters\boss\penguinufo\skills\ufoteleportattack.lua 7c7 < entity.burstParticleEmitter("teleport") --- > animator.burstParticleEmitter("teleport") 9c9 < timer = entity.configParameter("ufoTeleportAttack.skillTime") --- > timer = config.getParameter("ufoTeleportAttack.skillTime") 14c14 < entity.setActiveSkillName("ufoTeleportAttack") --- > monster.setActiveSkillName("ufoTeleportAttack") 18c18 < if stateData.timer > entity.configParameter("ufoTeleportAttack.skillTime") - 0.55 then --- > if stateData.timer > config.getParameter("ufoTeleportAttack.skillTime") - 0.55 then 21,22c21,22 < if entity.animationState("movement") ~= "invisible" then < entity.setAnimationState("movement", "invisible") --- > if animator.animationState("movement") ~= "invisible" then > animator.setAnimationState("movement", "invisible") 36c36 < entity.burstParticleEmitter("teleport") --- > animator.burstParticleEmitter("teleport") 49c49 < entity.setAnimationState("movement", "phase"..currentPhase()) --- > animator.setAnimationState("movement", "phase"..currentPhase()) monsters\boss\robotboss\idlestate.lua 13c13 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 15c15 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") monsters\boss\robotboss\skills\robotdashattack.lua 13,16c13,16 < edgeDistance = entity.configParameter("robotDashAttack.edgeDistance"), < dashDistance = entity.configParameter("robotDashAttack.dashDistance"), < dashSpeed = entity.configParameter("robotDashAttack.dashSpeed"), < windupTimer = entity.configParameter("robotDashAttack.windupTime"), --- > edgeDistance = config.getParameter("robotDashAttack.edgeDistance"), > dashDistance = config.getParameter("robotDashAttack.dashDistance"), > dashSpeed = config.getParameter("robotDashAttack.dashSpeed"), > windupTimer = config.getParameter("robotDashAttack.windupTime"), 22c22 < stunTime = entity.configParameter("robotDashAttack.stunTime") --- > stunTime = config.getParameter("robotDashAttack.stunTime") 28c28 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 30,31c30,31 < entity.setParticleEmitterOffsetRegion("dashstun", boundingBox()) < entity.setParticleEmitterOffsetRegion("dashParticles", boundingBox()) --- > animator.setParticleEmitterOffsetRegion("dashstun", boundingBox()) > animator.setParticleEmitterOffsetRegion("dashParticles", boundingBox()) 33c33 < entity.setActiveSkillName("robotDashAttack") --- > monster.setActiveSkillName("robotDashAttack") 51,52c51,52 < entity.setAnimationState("dashing", "off") < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("dashing", "off") > animator.setAnimationState("movement", "move") 57,58c57,58 < if stateData.windupTimer == entity.configParameter("robotDashAttack.windupTime") then < entity.setAnimationState("movement", "punch") --- > if stateData.windupTimer == config.getParameter("robotDashAttack.windupTime") then > animator.setAnimationState("movement", "punch") 68,70c68,70 < entity.setAnimationState("dashing", "stunned") < entity.setAnimationState("movement", "idle") < entity.setParticleEmitterActive("dashstun", true) --- > animator.setAnimationState("dashing", "stunned") > animator.setAnimationState("movement", "idle") > animator.setParticleEmitterActive("dashstun", true) 74c74 < entity.setAnimationState("dashing", "off") --- > animator.setAnimationState("dashing", "off") 83,85c83,85 < entity.setParticleEmitterActive("dashParticles", true) < entity.setAnimationState("dashing", "on") < entity.setDamageOnTouch(true) --- > animator.setParticleEmitterActive("dashParticles", true) > animator.setAnimationState("dashing", "on") > monster.setDamageOnTouch(true) 94,97c94,97 < entity.setParticleEmitterActive("dashParticles", false) < entity.setAnimationState("dashing", "off") < entity.setAnimationState("movement", "idle") < entity.setDamageOnTouch(false) --- > animator.setParticleEmitterActive("dashParticles", false) > animator.setAnimationState("dashing", "off") > animator.setAnimationState("movement", "idle") > monster.setDamageOnTouch(false) 104c104 < stateData.windupTimer = entity.configParameter("robotDashAttack.windupTime") --- > stateData.windupTimer = config.getParameter("robotDashAttack.windupTime") 107,108c107,108 < entity.burstParticleEmitter("crashing") < entity.playSound("crash") --- > animator.burstParticleEmitter("crashing") > animator.playSound("crash") 115,117c115,117 < entity.setParticleEmitterActive("dashstun", false) < entity.setParticleEmitterActive("dashParticles", false) < entity.setAnimationState("dashing", "off") --- > animator.setParticleEmitterActive("dashstun", false) > animator.setParticleEmitterActive("dashParticles", false) > animator.setAnimationState("dashing", "off") 119c119 < entity.setDamageOnTouch(false) --- > monster.setDamageOnTouch(false) 121c121 < entity.setActiveSkillName("") --- > monster.setActiveSkillName("") monsters\boss\robotboss\skills\robotelectricburstattack.lua 6,7c6,7 < riseHeight = entity.configParameter("robotElectricBurstAttack.riseHeight"), < riseSpeed = entity.configParameter("robotElectricBurstAttack.riseSpeed"), --- > riseHeight = config.getParameter("robotElectricBurstAttack.riseHeight"), > riseSpeed = config.getParameter("robotElectricBurstAttack.riseSpeed"), 10,11c10,11 < skillDuration = entity.configParameter("robotElectricBurstAttack.skillDuration"), < angleCycle = entity.configParameter("robotElectricBurstAttack.angleCycle"), --- > skillDuration = config.getParameter("robotElectricBurstAttack.skillDuration"), > angleCycle = config.getParameter("robotElectricBurstAttack.angleCycle"), 13c13 < fireInterval = entity.configParameter("robotElectricBurstAttack.fireInterval"), --- > fireInterval = config.getParameter("robotElectricBurstAttack.fireInterval"), 15,17c15,17 < maxFireAngle = entity.configParameter("robotElectricBurstAttack.maxFireAngle"), < projectileCount = entity.configParameter("robotElectricBurstAttack.projectileCount"), < winddownTimer = entity.configParameter("robotElectricBurstAttack.winddownTime") --- > maxFireAngle = config.getParameter("robotElectricBurstAttack.maxFireAngle"), > projectileCount = config.getParameter("robotElectricBurstAttack.projectileCount"), > winddownTimer = config.getParameter("robotElectricBurstAttack.winddownTime") 36c36 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 38c38 < entity.setActiveSkillName("robotElectricBurstAttack") --- > monster.setActiveSkillName("robotElectricBurstAttack") 49c49 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 55c55 < entity.setAnimationState("electricBurst", "on") --- > animator.setAnimationState("electricBurst", "on") 57c57 < entity.setAnimationState("movement", "windup") --- > animator.setAnimationState("movement", "windup") 84c84 < entity.playSound("electricBurst") --- > animator.playSound("electricBurst") 93,94c93,94 < if stateData.winddownTimer == entity.configParameter("robotElectricBurstAttack.winddownTime") then < entity.setAnimationState("movement", "winddown") --- > if stateData.winddownTimer == config.getParameter("robotElectricBurstAttack.winddownTime") then > animator.setAnimationState("movement", "winddown") 109,110c109,110 < local projectileType = entity.configParameter("robotElectricBurstAttack.projectile.type") < local projectileConfig = entity.configParameter("robotElectricBurstAttack.projectile.config") --- > local projectileType = config.getParameter("robotElectricBurstAttack.projectile.type") > local projectileConfig = config.getParameter("robotElectricBurstAttack.projectile.config") 113c113 < projectileConfig.power = projectileConfig.power * root.evalFunction("monsterLevelPowerMultiplier", entity.level()) --- > projectileConfig.power = projectileConfig.power * root.evalFunction("monsterLevelPowerMultiplier", monster.level()) 116c116 < local innerRadius = entity.configParameter("robotElectricBurstAttack.projectile.innerRadius") --- > local innerRadius = config.getParameter("robotElectricBurstAttack.projectile.innerRadius") 133c133 < entity.setAnimationState("electricBurst", "off") --- > animator.setAnimationState("electricBurst", "off") 135c135 < entity.setActiveSkillName("") --- > monster.setActiveSkillName("") monsters\boss\robotboss\skills\robotflamethrowerattack.lua 8,10c8,10 < windupTimer = entity.configParameter("robotFlamethrowerAttack.windupTime"), < winddownTimer = entity.configParameter("robotFlamethrowerAttack.winddownTime"), < distanceRange = entity.configParameter("robotFlamethrowerAttack.distanceRange"), --- > windupTimer = config.getParameter("robotFlamethrowerAttack.windupTime"), > winddownTimer = config.getParameter("robotFlamethrowerAttack.winddownTime"), > distanceRange = config.getParameter("robotFlamethrowerAttack.distanceRange"), 12,13c12,13 < skillDuration = entity.configParameter("robotFlamethrowerAttack.skillDuration"), < angleCycle = entity.configParameter("robotFlamethrowerAttack.angleCycle"), --- > skillDuration = config.getParameter("robotFlamethrowerAttack.skillDuration"), > angleCycle = config.getParameter("robotFlamethrowerAttack.angleCycle"), 15c15 < fireInterval = entity.configParameter("robotFlamethrowerAttack.fireInterval"), --- > fireInterval = config.getParameter("robotFlamethrowerAttack.fireInterval"), 17c17 < maxFireAngle = entity.configParameter("robotFlamethrowerAttack.maxFireAngle"), --- > maxFireAngle = config.getParameter("robotFlamethrowerAttack.maxFireAngle"), 25c25 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 27c27 < entity.setActiveSkillName("robotFlamethrowerAttack") --- > monster.setActiveSkillName("robotFlamethrowerAttack") 38,39c38,39 < if stateData.windupTimer == entity.configParameter("robotFlamethrowerAttack.windupTime") then < entity.setAnimationState("flamethrower", "windup") --- > if stateData.windupTimer == config.getParameter("robotFlamethrowerAttack.windupTime") then > animator.setAnimationState("flamethrower", "windup") 46,47c46,47 < walkSpeed = entity.configParameter("robotFlamethrowerAttack.moveSpeed"), < runSpeed = entity.configParameter("robotFlamethrowerAttack.moveSpeed") --- > walkSpeed = config.getParameter("robotFlamethrowerAttack.moveSpeed"), > runSpeed = config.getParameter("robotFlamethrowerAttack.moveSpeed") 51c51 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 55c55 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 57c57 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 61c61 < entity.setAnimationState("flameSound", "off") --- > animator.setAnimationState("flameSound", "off") 63,64c63,64 < if stateData.winddownTimer == entity.configParameter("robotFlamethrowerAttack.winddownTime") then < entity.setAnimationState("flamethrower", "winddown") --- > if stateData.winddownTimer == config.getParameter("robotFlamethrowerAttack.winddownTime") then > animator.setAnimationState("flamethrower", "winddown") 73c73 < entity.setAnimationState("flameSound", "on") --- > animator.setAnimationState("flameSound", "on") 96c96 < stateData.facingTimer = entity.configParameter("robotFlamethrowerAttack.changeFacingTime") --- > stateData.facingTimer = config.getParameter("robotFlamethrowerAttack.changeFacingTime") 102,105c102,105 < local projectileType = entity.configParameter("robotFlamethrowerAttack.projectile.type") < local projectileConfig = entity.configParameter("robotFlamethrowerAttack.projectile.config") < local sourcePosition = entity.configParameter("projectileSourcePosition") < local sourceOffset = entity.configParameter("projectileSourceOffset") --- > local projectileType = config.getParameter("robotFlamethrowerAttack.projectile.type") > local projectileConfig = config.getParameter("robotFlamethrowerAttack.projectile.config") > local sourcePosition = config.getParameter("projectileSourcePosition") > local sourceOffset = config.getParameter("projectileSourceOffset") 108c108 < projectileConfig.power = projectileConfig.power * root.evalFunction("monsterLevelPowerMultiplier", entity.level()) --- > projectileConfig.power = projectileConfig.power * root.evalFunction("monsterLevelPowerMultiplier", monster.level()) 112c112 < entity.rotateGroup("projectileAim", animationAngle) --- > animator.rotateGroup("projectileAim", animationAngle) 114c114 < local currentRotationAngle = entity.currentRotationAngle("projectileAim") --- > local currentRotationAngle = animator.currentRotationAngle("projectileAim") 120c120 < world.spawnProjectile(projectileType, entity.toAbsolutePosition(sourcePosition), entity.id(), aimVector, true, projectileConfig) --- > world.spawnProjectile(projectileType, monster.toAbsolutePosition(sourcePosition), entity.id(), aimVector, true, projectileConfig) 124,125c124,125 < entity.setAnimationState("flameSound", "off") < entity.setAnimationState("flamethrower", "winddown") --- > animator.setAnimationState("flameSound", "off") > animator.setAnimationState("flamethrower", "winddown") 127c127 < entity.setActiveSkillName("") --- > monster.setActiveSkillName("") monsters\boss\robotboss\skills\robotmissilebarrageattack.lua 7c7 < local missileCount = entity.configParameter("robotMissileBarrageAttack.missileCount") --- > local missileCount = config.getParameter("robotMissileBarrageAttack.missileCount") 9c9 < missileCount = entity.configParameter("robotMissileBarrageAttack.improvedMissileCount") --- > missileCount = config.getParameter("robotMissileBarrageAttack.improvedMissileCount") 14,16c14,16 < fireTimer = entity.configParameter("robotMissileBarrageAttack.fireTime"), < fireInterval = entity.configParameter("robotMissileBarrageAttack.fireTime"), < spawnOffset = entity.configParameter("robotMissileBarrageAttack.spawnOffset") --- > fireTimer = config.getParameter("robotMissileBarrageAttack.fireTime"), > fireInterval = config.getParameter("robotMissileBarrageAttack.fireTime"), > spawnOffset = config.getParameter("robotMissileBarrageAttack.spawnOffset") 22c22 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 24c24 < entity.setActiveSkillName("robotMissileBarrageAttack") --- > monster.setActiveSkillName("robotMissileBarrageAttack") 34c34 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 40c40 < local missileId = world.spawnMonster("missile", entity.toAbsolutePosition(stateData.spawnOffset), {level = entity.level()}) --- > local missileId = world.spawnMonster("missile", monster.toAbsolutePosition(stateData.spawnOffset), {level = monster.level()}) 43c43 < entity.playSound("missile") --- > animator.playSound("missile") monsters\boss\robotboss\skills\robotpunchattack.lua 8,10c8,10 < distanceRange = entity.configParameter("robotPunchAttack.distanceRange"), < winddownTimer = entity.configParameter("robotPunchAttack.winddownTime"), < windupTimer = entity.configParameter("robotPunchAttack.windupTime"), --- > distanceRange = config.getParameter("robotPunchAttack.distanceRange"), > winddownTimer = config.getParameter("robotPunchAttack.winddownTime"), > windupTimer = config.getParameter("robotPunchAttack.windupTime"), 17c17 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 19c19 < entity.setActiveSkillName("robotPunchAttack") --- > monster.setActiveSkillName("robotPunchAttack") 31c31 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 35c35 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 43,44c43,44 < if stateData.windupTimer == entity.configParameter("robotPunchAttack.windupTime") then < entity.setAnimationState("movement", "punch") --- > if stateData.windupTimer == config.getParameter("robotPunchAttack.windupTime") then > animator.setAnimationState("movement", "punch") 48c48 < if stateData.winddownTimer == entity.configParameter("robotPunchAttack.winddownTime") then --- > if stateData.winddownTimer == config.getParameter("robotPunchAttack.winddownTime") then 50c50 < entity.playSound("punch") --- > animator.playSound("punch") 63,65c63,65 < local projectileType = entity.configParameter("robotPunchAttack.projectile.type") < local projectileConfig = entity.configParameter("robotPunchAttack.projectile.config") < local projectileOffset = entity.configParameter("robotPunchAttack.projectile.offset") --- > local projectileType = config.getParameter("robotPunchAttack.projectile.type") > local projectileConfig = config.getParameter("robotPunchAttack.projectile.config") > local projectileOffset = config.getParameter("robotPunchAttack.projectile.offset") 68c68 < projectileConfig.power = projectileConfig.power * root.evalFunction("monsterLevelPowerMultiplier", entity.level()) --- > projectileConfig.power = projectileConfig.power * root.evalFunction("monsterLevelPowerMultiplier", monster.level()) 71c71 < world.spawnProjectile(projectileType, entity.toAbsolutePosition(projectileOffset), entity.id(), {direction, 0}, true, projectileConfig) --- > world.spawnProjectile(projectileType, monster.toAbsolutePosition(projectileOffset), entity.id(), {direction, 0}, true, projectileConfig) 75c75 < entity.setActiveSkillName("") --- > monster.setActiveSkillName("") monsters\bugs\behavior.lua 4,7c4,7 < self.riseSpeed = entity.configParameter("buzzing.riseSpeed") < self.minGroundDistance = entity.configParameter("buzzing.minGroundDistance") < self.maxGroundDistance = entity.configParameter("buzzing.maxGroundDistance") < self.fallSpeed = entity.configParameter("buzzing.fallSpeed") --- > self.riseSpeed = config.getParameter("buzzing.riseSpeed") > self.minGroundDistance = config.getParameter("buzzing.minGroundDistance") > self.maxGroundDistance = config.getParameter("buzzing.maxGroundDistance") > self.fallSpeed = config.getParameter("buzzing.fallSpeed") 10,11c10,11 < self.changeDirSpeed = entity.configParameter("buzzing.changeDirSpeed") < self.wanderDistance = entity.configParameter("buzzing.wanderDistance") --- > self.changeDirSpeed = config.getParameter("buzzing.changeDirSpeed") > self.wanderDistance = config.getParameter("buzzing.wanderDistance") 14,15c14,15 < self.rotationSpeed = entity.configParameter("buzzing.rotationSpeed") < self.rotationChangeInterval = entity.configParameter("buzzing.rotationChangeInterval") --- > self.rotationSpeed = config.getParameter("buzzing.rotationSpeed") > self.rotationChangeInterval = config.getParameter("buzzing.rotationChangeInterval") 18c18 < self.flySpeed = entity.configParameter("buzzing.flySpeed") --- > self.flySpeed = config.getParameter("buzzing.flySpeed") 60c60 < entity.rotateGroup("body", self.baseRotation + angle) --- > animator.rotateGroup("body", self.baseRotation + angle) 72c72 < return entity.health() <= 0 or self.dead --- > return not status.resourcePositive("health") or self.dead monsters\dungeon\chicken\behavior.lua 0a1,2 > require "/scripts/util.lua" > 11c13 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 14,15c16,17 < entity.setAggressive(false) < entity.setAnimationState("movement", "idle") --- > monster.setAggressive(false) > animator.setAnimationState("movement", "idle") 24c26 < if entity.health() > 0 then --- > if status.resourcePositive("health") then 46c48 < timer = entity.randomizeParameterRange("moveTimeRange"), --- > timer = util.randomInRange(config.getParameter("moveTimeRange")), 56c58 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 62c64 < if math.random(100) <= entity.configParameter("eggPercentageChancePerMove") then --- > if math.random(100) <= config.getParameter("eggPercentageChancePerMove") then 82,83c84,85 < timer = entity.configParameter("fleeMaxTime"), < distance = entity.randomizeParameterRange("fleeDistanceRange") --- > timer = config.getParameter("fleeMaxTime"), > distance = util.randomInRange(config.getParameter("fleeDistanceRange")) 88c90 < entity.setAnimationState("movement", "run") --- > animator.setAnimationState("movement", "run") 129c131 < entity.setAnimationState("movement", "lay") --- > animator.setAnimationState("movement", "lay") 132c134 < if entity.animationState("movement")=="idle" then --- > if animator.animationState("movement")=="idle" then 135c137 < local eggType = entity.configParameter("eggType") --- > local eggType = config.getParameter("eggType") 142c144 < entity.setAnimationState("movement", "egg") --- > animator.setAnimationState("movement", "egg") monsters\dungeon\cleaningbot\behavior.lua 0a1,2 > require "/scripts/util.lua" > 10c12 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 13,15c15,17 < entity.setAggressive(false) < entity.setDeathParticleBurst("deathPoof") < entity.setAnimationState("movement", "idle") --- > monster.setAggressive(false) > monster.setDeathParticleBurst("deathPoof") > animator.setAnimationState("movement", "idle") 28c30 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 45c47 < timer = entity.randomizeParameterRange("moveTimeRange"), --- > timer = util.randomInRange(config.getParameter("moveTimeRange")), 75c77 < return { timer = entity.randomizeParameterRange("cleanTimeRange") } --- > return { timer = util.randomInRange(config.getParameter("cleanTimeRange")) } 91c93 < return { timer = entity.configParameter("attackTargetHoldTime") } --- > return { timer = config.getParameter("attackTargetHoldTime") } 109c111 < if world.magnitude(toTarget) < entity.configParameter("attackDistance") then --- > if world.magnitude(toTarget) < config.getParameter("attackDistance") then 120c122 < stateData.timer = entity.configParameter("attackTargetHoldTime") --- > stateData.timer = config.getParameter("attackTargetHoldTime") 134,135c136,137 < entity.setAnimationState("movement", "attack") < self.attackHoldTimer = entity.configParameter("attackHoldTime") --- > animator.setAnimationState("movement", "attack") > self.attackHoldTimer = config.getParameter("attackHoldTime") 137c139 < entity.setAnimationState("movement", "aggro") --- > animator.setAnimationState("movement", "aggro") 140c142 < entity.setDamageOnTouch(enabled) --- > monster.setDamageOnTouch(enabled) 147,148c149,150 < entity.setAnimationState("movement", "aggro") < entity.setAggressive(true) --- > animator.setAnimationState("movement", "aggro") > monster.setAggressive(true) 150,151c152,153 < entity.setAnimationState("movement", "idle") < entity.setAggressive(false) --- > animator.setAnimationState("movement", "idle") > monster.setAggressive(false) monsters\dungeon\giftmonster\behavior.lua 1c1,2 < -------------------------------------------------------------------------------- --- > require "/scripts/util.lua" > 10c11 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 14,16c15,17 < entity.setAggressive(false) < entity.setDamageOnTouch(false) < entity.setDeathParticleBurst("deathPoof") --- > monster.setAggressive(false) > monster.setDamageOnTouch(false) > monster.setDeathParticleBurst("deathPoof") 21c22 < if util.trackTarget(entity.configParameter("noticeDistance")) then --- > if util.trackTarget(config.getParameter("noticeDistance")) then 37c38 < return { timer = entity.randomizeParameterRange("idleTimeRange") } --- > return { timer = util.randomInRange(config.getParameter("idleTimeRange")) } 51c52 < timer = entity.randomizeParameterRange("moveTimeRange"), --- > timer = util.randomInRange(config.getParameter("moveTimeRange")), 57c58 < local bounds = entity.configParameter("metaBoundBox") --- > local bounds = config.getParameter("metaBoundBox") 67c68 < stateData.changeDirectionTimer = entity.configParameter("moveChangeDirectionCooldown") --- > stateData.changeDirectionTimer = config.getParameter("moveChangeDirectionCooldown") 71c72 < if entity.animationState("movement") == "idle" and stateData.timer <= 0 then --- > if animator.animationState("movement") == "idle" and stateData.timer <= 0 then 76c77 < entity.setAnimationState("movement", "bounce") --- > animator.setAnimationState("movement", "bounce") 93c94 < if entity.animationState("movement") == "idle" then --- > if animator.animationState("movement") == "idle" then 98c99 < entity.setAnimationState("movement", "bounce") --- > animator.setAnimationState("movement", "bounce") monsters\dungeon\glitchknight\behavior.lua 6c6 < entity.setAnimationState("mount", stateName) --- > animator.setAnimationState("mount", stateName) 9c9 < entity.setAnimationState("rider", "dismounted") --- > animator.setAnimationState("rider", "dismounted") 11c11 < entity.setAnimationState("rider", stateName) --- > animator.setAnimationState("rider", stateName) 20c20 < entity.setDamageOnTouch(false) --- > monster.setDamageOnTouch(false) 23c23 < entity.setAggressive(false) --- > monster.setAggressive(false) 33,34c33,34 < if util.trackTarget(entity.configParameter("targetNoticeRadius")) then < entity.setAggressive(true) --- > if util.trackTarget(config.getParameter("targetNoticeRadius")) then > monster.setAggressive(true) 37c37 < entity.setAggressive(false) --- > monster.setAggressive(false) 46,47c46 < local dismountHealth = entity.maxHealth() * entity.configParameter("dismountHealthRatio") < if entity.health() < dismountHealth then --- > if status.resourcePercentage("health") < config.getParameter("dismountHealthRatio") then 49c48 < world.spawnNpc(self.position, "glitch", "knight", entity.level()) --- > world.spawnNpc(self.position, "glitch", "knight", monster.level()) 75c74 < entity.setDamageOnTouch(true) --- > monster.setDamageOnTouch(true) 90c89 < if stateData.chargeDirection == nil or world.magnitude(toTarget) > entity.configParameter("chargeAttackOvershootDistance") then --- > if stateData.chargeDirection == nil or world.magnitude(toTarget) > config.getParameter("chargeAttackOvershootDistance") then 92c91 < stateData.changeDirectionTimer = entity.configParameter("changeDirectionCooldown") --- > stateData.changeDirectionTimer = config.getParameter("changeDirectionCooldown") 99c98 < stateData.changeDirectionTimer = entity.configParameter("changeDirectionCooldown") --- > stateData.changeDirectionTimer = config.getParameter("changeDirectionCooldown") monsters\dungeon\po\behavior.lua 1c1,2 < -------------------------------------------------------------------------------- --- > require "/scripts/util.lua" > 13c14 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 18,21c19,22 < entity.setAggressive(true) < entity.setDamageOnTouch(true) < entity.setDeathParticleBurst("deathPoof") < entity.setAnimationState("movement", "idle") --- > monster.setAggressive(true) > monster.setDamageOnTouch(true) > monster.setDeathParticleBurst("deathPoof") > animator.setAnimationState("movement", "idle") 26c27 < util.trackTarget(entity.configParameter("noticeDistance")) --- > util.trackTarget(config.getParameter("noticeDistance")) 36c37 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 41c42 < entity.setAnimationState("movement", "fall") --- > animator.setAnimationState("movement", "fall") 43c44 < entity.setAnimationState("movement", "jump") --- > animator.setAnimationState("movement", "jump") 55c56 < return self.dead or entity.health() <= 0 --- > return self.dead or not status.resourcePositive("health") 61c62 < local size = entity.configParameter("poSize") --- > local size = config.getParameter("poSize") 64c65 < local entityId = world.spawnMonster("micropo", entity.toAbsolutePosition({ -1, 4 }), { level = entity.level() }) --- > local entityId = world.spawnMonster("micropo", monster.toAbsolutePosition({ -1, 4 }), { level = monster.level() }) 67c68 < entityId = world.spawnMonster("micropo", entity.toAbsolutePosition({ 1, 4 }), { level = entity.level() }) --- > entityId = world.spawnMonster("micropo", monster.toAbsolutePosition({ 1, 4 }), { level = monster.level() }) 70c71 < local entityId = world.spawnMonster("po", entity.toAbsolutePosition({ -1, 3 }), { level = entity.level() }) --- > local entityId = world.spawnMonster("po", monster.toAbsolutePosition({ -1, 3 }), { level = monster.level() }) 73c74 < entityId = world.spawnMonster("po", entity.toAbsolutePosition({ 1, 3 }), { level = entity.level() }) --- > entityId = world.spawnMonster("po", monster.toAbsolutePosition({ 1, 3 }), { level = monster.level() }) 81c82 < local spawnVelocity = entity.configParameter("spawnVelocity") --- > local spawnVelocity = config.getParameter("spawnVelocity") 87c88 < return entity.configParameter("poSize") --- > return config.getParameter("poSize") 111,112c112,113 < if delta[2] > entity.configParameter("largeJumpYThreshold") then < self.jumpHoldTime = entity.configParameter("largeHumpHoldTime") --- > if delta[2] > config.getParameter("largeJumpYThreshold") then > self.jumpHoldTime = config.getParameter("largeHumpHoldTime") 114c115 < self.jumpHoldTime = entity.configParameter("smallBounceHoldTime") --- > self.jumpHoldTime = config.getParameter("smallBounceHoldTime") 159c160 < timer = entity.randomizeParameterRange("moveTimeRange"), --- > timer = util.randomInRange(config.getParameter("moveTimeRange")), 173c174 < return true, entity.randomizeParameterRange("moveCooldownTimeRange") --- > return true, util.randomInRange(config.getParameter("moveCooldownTimeRange")) 191c192 < if stateData.timer > entity.configParameter("attackSearchTime") then --- > if stateData.timer > config.getParameter("attackSearchTime") then monsters\dungeon\repairbot\behavior.lua 0a1,2 > require "/scripts/util.lua" > 10,12c12,14 < entity.setAggressive(false) < entity.setDeathParticleBurst("deathPoof") < entity.setAnimationState("movement", "idle") --- > monster.setAggressive(false) > monster.setDeathParticleBurst("deathPoof") > animator.setAnimationState("movement", "idle") 26c28 < if entity.health() > 0 then --- > if status.resourcePositive("health") then 48c50 < local animation = entity.animationState("movement") --- > local animation = animator.animationState("movement") 55c57 < entity.setAnimationState("movement", "attackStart") --- > animator.setAnimationState("movement", "attackStart") 59c61 < entity.setAnimationState("movement", "repairStart") --- > animator.setAnimationState("movement", "repairStart") 63c65 < entity.setAnimationState("movement", "attackEnd") --- > animator.setAnimationState("movement", "attackEnd") 65c67 < entity.setAnimationState("movement", "repairEnd") --- > animator.setAnimationState("movement", "repairEnd") 67c69 < entity.setAnimationState("movement", desiredAnimation) --- > animator.setAnimationState("movement", desiredAnimation) 86c88 < timer = entity.randomizeParameterRange("moveTimeRange"), --- > timer = util.randomInRange(config.getParameter("moveTimeRange")), 100c102 < return true, entity.randomizeParameterRange("idleTimeRange") --- > return true, util.randomInRange(config.getParameter("idleTimeRange")) 127,128c129,130 < local animation = entity.animationState("movement") < if world.magnitude(toTarget) < entity.configParameter("repairDistance") then --- > local animation = animator.animationState("movement") > if world.magnitude(toTarget) < config.getParameter("repairDistance") then 130c132 < entity.heal(stateData.targetId, entity.configParameter("repairHealthPerSecond") * dt) --- > monster.heal(stateData.targetId, config.getParameter("repairHealthPerSecond") * dt) 142c144 < local entityIds = world.entityQuery(mcontroller.position(), entity.configParameter("repairResponseMaxDistance"), {includedTypes = {"monster"}}) --- > local entityIds = world.entityQuery(mcontroller.position(), config.getParameter("repairResponseMaxDistance"), {includedTypes = {"monster"}}) 164c166 < return { timer = entity.configParameter("attackTargetHoldTime") } --- > return { timer = config.getParameter("attackTargetHoldTime") } 170c172 < entity.setAggressive(true) --- > monster.setAggressive(true) 175c177 < local attackRange = entity.configParameter("attackRange") --- > local attackRange = config.getParameter("attackRange") 189c191 < -- entity.setFireDirection(entity.configParameter("projectileOffset"), { mcontroller.facingDirection(), 0 }) --- > -- monster.setFireDirection(config.getParameter("projectileOffset"), { mcontroller.facingDirection(), 0 }) 196,197c198,199 < -- if not entity.isFiring() then < -- entity.startFiring("projectile") --- > -- if not monster.isFiring() then > -- monster.startFiring("projectile") 200c202 < -- entity.stopFiring() --- > -- monster.stopFiring() 206c208 < stateData.timer = entity.configParameter("attackTargetHoldTime") --- > stateData.timer = config.getParameter("attackTargetHoldTime") 210c212 < entity.setAggressive(false) --- > monster.setAggressive(false) monsters\dungeon\robotchicken\behavior.lua 0a1,2 > require "/scripts/util.lua" > 9c11 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 12,13c14,15 < entity.setAggressive(false) < entity.setAnimationState("movement", "idle") --- > monster.setAggressive(false) > animator.setAnimationState("movement", "idle") 22c24 < if entity.health() > 0 then --- > if status.resourcePositive("health") then 43c45 < timer = entity.randomizeParameterRange("moveTimeRange"), --- > timer = util.randomInRange(config.getParameter("moveTimeRange")), 53c55 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 73,74c75,76 < timer = entity.configParameter("fleeMaxTime"), < distance = entity.randomizeParameterRange("fleeDistanceRange") --- > timer = config.getParameter("fleeMaxTime"), > distance = util.randomInRange(config.getParameter("fleeDistanceRange")) 79c81 < entity.setAnimationState("movement", "run") --- > animator.setAnimationState("movement", "run") monsters\dungeon\swarpion\behavior.lua 0a1,2 > require "/scripts/util.lua" > 10c12 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 13c15 < entity.setDeathParticleBurst("deathPoof") --- > monster.setDeathParticleBurst("deathPoof") 18c20 < if util.trackTarget(entity.configParameter("targetNoticeDistance")) then --- > if util.trackTarget(config.getParameter("targetNoticeDistance")) then 25c27 < if entity.animationState("movement") ~= "attack" then --- > if animator.animationState("movement") ~= "attack" then 30c32 < table.insert(movements, { flockMovement, entity.configParameter("flockMovementWeight") }) --- > table.insert(movements, { flockMovement, config.getParameter("flockMovementWeight") }) 63c65 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 77c79 < timer = entity.randomizeParameterRange("moveTimeRange"), --- > timer = util.randomInRange(config.getParameter("moveTimeRange")), 91c93 < return true, entity.randomizeParameterRange("idleTimeRange") --- > return true, util.randomInRange(config.getParameter("idleTimeRange")) 103c105 < entity.setAggressive(true) --- > monster.setAggressive(true) 105c107 < timer = entity.configParameter("attackTargetHoldTime"), --- > timer = config.getParameter("attackTargetHoldTime"), 112,113c114,115 < if entity.animationState("movement") == "attack" then < entity.setDamageOnTouch(true) --- > if animator.animationState("movement") == "attack" then > monster.setDamageOnTouch(true) 116c118 < entity.setDamageOnTouch(false) --- > monster.setDamageOnTouch(false) 126c128 < local attackRange = entity.configParameter("attackRange") --- > local attackRange = config.getParameter("attackRange") 132,134c134,136 < stateData.attackPauseTimer = entity.configParameter("attackPauseTime") < entity.setAnimationState("movement", "attack") < entity.setDamageOnTouch(true) --- > stateData.attackPauseTimer = config.getParameter("attackPauseTime") > animator.setAnimationState("movement", "attack") > monster.setDamageOnTouch(true) 141c143 < stateData.timer = entity.configParameter("attackTargetHoldTime") --- > stateData.timer = config.getParameter("attackTargetHoldTime") 148,149c150,151 < entity.setAggressive(false) < entity.setDamageOnTouch(false) --- > monster.setAggressive(false) > monster.setDamageOnTouch(false) monsters\generated\flying\skills\flyingswoopattack.lua 9c9 < local swoopDiameter = entity.configParameter("swoopDiameter") --- > local swoopDiameter = config.getParameter("swoopDiameter") 15c15 < timer = entity.configParameter("swoopTime"), --- > timer = config.getParameter("swoopTime"), 32c32 < entity.setAggressive(true) --- > monster.setAggressive(true) 36,37c36,37 < local ratio = stateData.timer / entity.configParameter("swoopTime") < local xOffset = stateData.direction * (1.0 - ratio) * entity.configParameter("swoopDiameter") --- > local ratio = stateData.timer / config.getParameter("swoopTime") > local xOffset = stateData.direction * (1.0 - ratio) * config.getParameter("swoopDiameter") 43c43 < entity.setAnimationState("movement", "flying") --- > animator.setAnimationState("movement", "flying") 45c45 < entity.setAnimationState("movement", "gliding") --- > animator.setAnimationState("movement", "gliding") 53c53 < entity.flyTo(destination) --- > monster.flyTo(destination) monsters\generated\swimming\attackstate.lua 8c8 < return { timer = entity.configParameter("attackApproachTime"), stage = "approach" } --- > return { timer = config.getParameter("attackApproachTime"), stage = "approach" } 24c24 < if vec2.mag(toTarget) <= entity.configParameter("attackStartDistance") then --- > if vec2.mag(toTarget) <= config.getParameter("attackStartDistance") then 27c27 < stateData.timer = entity.configParameter("attackWindupTime") --- > stateData.timer = config.getParameter("attackWindupTime") 30c30 < entity.setAnimationState("movement", "swimSlow") --- > animator.setAnimationState("movement", "swimSlow") 35c35 < entity.setAnimationState("attack", "melee") --- > animator.setAnimationState("attack", "melee") 37c37 < stateData.timer = entity.configParameter("attackChargeTime") --- > stateData.timer = config.getParameter("attackChargeTime") 42,44c42,44 < if entity.animationState("attack") == "melee" then < entity.setDamageOnTouch(true) < mcontroller.controlParameters({flySpeed = entity.configParameter("attackChargeSpeed")}) --- > if animator.animationState("attack") == "melee" then > monster.setDamageOnTouch(true) > mcontroller.controlParameters({flySpeed = config.getParameter("attackChargeSpeed")}) 47c47 < entity.setDamageOnTouch(false) --- > monster.setDamageOnTouch(false) 56c56 < entity.setDamageOnTouch(false) --- > monster.setDamageOnTouch(false) monsters\generated\swimming\fleestate.lua 0a1,2 > require "/scripts/util.lua" > 8c10 < return { timer = entity.randomizeParameterRange("fleeTimeRange"), fleeDirection = {-toTarget[1], -toTarget[2]} } --- > return { timer = util.randomInRange(config.getParameter("fleeTimeRange")), fleeDirection = {-toTarget[1], -toTarget[2]} } monsters\generated\swimming\flopstate.lua 0a1,2 > require "/scripts/util.lua" > 18c20 < entity.setAnimationState("movement", "flopping") --- > animator.setAnimationState("movement", "flopping") 38c40 < stateData.jumpTimer = entity.randomizeParameterRange("flopJumpInterval") --- > stateData.jumpTimer = util.randomInRange(config.getParameter("flopJumpInterval")) monsters\generated\swimming\swimmingmonster.lua 2c2 < local scripts = entity.configParameter("scripts") --- > local scripts = config.getParameter("scripts") 6c6 < self.aggressive = entity.configParameter("aggressive", false) --- > self.aggressive = config.getParameter("aggressive", false) 12c12 < self.moveRatioLimit = entity.configParameter("moveRatioLimit", false) --- > self.moveRatioLimit = config.getParameter("moveRatioLimit", false) 17c17 < entity.setAnimationState("movement", "swimSlow") --- > animator.setAnimationState("movement", "swimSlow") 19,20c19,20 < entity.setDeathSound("deathPuff") < entity.setDeathParticleBurst(entity.configParameter("deathParticles")) --- > monster.setDeathSound("deathPuff") > monster.setDeathParticleBurst(config.getParameter("deathParticles")) 35c35 < local targetId = entity.closestValidTarget(entity.configParameter("targetSearchRadius")) --- > local targetId = entity.closestValidTarget(config.getParameter("targetSearchRadius")) 43c43 < vec2.mag(entity.distanceToEntity(targetId)) <= entity.configParameter("targetHoldRadius") --- > vec2.mag(entity.distanceToEntity(targetId)) <= config.getParameter("targetHoldRadius") 49c49 < self.targetChangeTimer = entity.configParameter("targetChangeCooldown") --- > self.targetChangeTimer = config.getParameter("targetChangeCooldown") 59c59 < self.aggressive = entity.configParameter("aggressive", false) --- > self.aggressive = config.getParameter("aggressive", false) 111c111 < self.directionChangeTimer = entity.configParameter("directionChangeCooldown") --- > self.directionChangeTimer = config.getParameter("directionChangeCooldown") 121c121 < entity.setAnimationState("movement", "swimFast") --- > animator.setAnimationState("movement", "swimFast") 124c124 < entity.setAnimationState("movement", "swimSlow") --- > animator.setAnimationState("movement", "swimSlow") 129,131c129,131 < for i, sensor in ipairs(entity.configParameter(sensorGroup)) do < -- world.debugPoint(entity.toAbsolutePosition(vec2.rotate(sensor, self.rotation)), "blue") < if world.pointTileCollision(entity.toAbsolutePosition(vec2.rotate(sensor, self.rotation)), {"Dynamic", "Null", "Block"}) then --- > for i, sensor in ipairs(config.getParameter(sensorGroup)) do > -- world.debugPoint(monster.toAbsolutePosition(vec2.rotate(sensor, self.rotation)), "blue") > if world.pointTileCollision(monster.toAbsolutePosition(vec2.rotate(sensor, self.rotation)), {"Dynamic", "Null", "Block"}) then 149c149 < entity.rotateGroup("all", self.rotation) --- > animator.rotateGroup("all", self.rotation) monsters\generated\swimming\wanderstate.lua 0a1,2 > require "/scripts/util.lua" > 13c15 < self.wanderTime = entity.randomizeParameterRange("wanderTime") --- > self.wanderTime = util.randomInRange(config.getParameter("wanderTime")) 29c31 < self.wanderTime = entity.randomizeParameterRange("wanderTime") --- > self.wanderTime = util.randomInRange(config.getParameter("wanderTime")) monsters\generated\swimming\smallfish\fleestate.lua 0a1,2 > require "/scripts/util.lua" > 4c6 < local target = entity.closestValidTarget(entity.configParameter("fleeTriggerDistance")) --- > local target = entity.closestValidTarget(config.getParameter("fleeTriggerDistance")) 8c10 < fleeDistance = entity.randomizeParameterRange("fleeDistanceRange"), --- > fleeDistance = util.randomInRange(config.getParameter("fleeDistanceRange")), 37c39 < if targetDist > entity.configParameter("fleeTriggerDistance") then --- > if targetDist > config.getParameter("fleeTriggerDistance") then 43c45 < self.movementWeight = entity.configParameter("fleeMovementWeight") --- > self.movementWeight = config.getParameter("fleeMovementWeight") monsters\generated\swimming\smallfish\investigatestate.lua 0a1,2 > require "/scripts/util.lua" > 4c6 < local targetIds = world.entityQuery(mcontroller.position(), entity.configParameter("investigateTriggerDistance"), { includedTypes = {"itemDrop"}, order = "nearest" }) --- > local targetIds = world.entityQuery(mcontroller.position(), config.getParameter("investigateTriggerDistance"), { includedTypes = {"itemDrop"}, order = "nearest" }) 9,10c11,12 < maxDistance = entity.randomizeParameterRange("investigateLoseInterestRange"), < timer = entity.randomizeParameterRange("investigateTimeRange") --- > maxDistance = util.randomInRange(config.getParameter("investigateLoseInterestRange")), > timer = util.randomInRange(config.getParameter("investigateTimeRange")) 29c31 < return true, entity.configParameter("investigateCooldownTime") --- > return true, config.getParameter("investigateCooldownTime") 38,39c40,41 < if distance < entity.configParameter("investigateStopDistance") then < return true, entity.configParameter("investigateCooldownTime") --- > if distance < config.getParameter("investigateStopDistance") then > return true, config.getParameter("investigateCooldownTime") monsters\generated\swimming\smallfish\scatterstate.lua 7c7 < timer = entity.configParameter("scatterTime") --- > timer = config.getParameter("scatterTime") 22c22 < if distance > entity.configParameter("scatterDistance") then --- > if distance > config.getParameter("scatterDistance") then 27c27 < self.movementWeight = entity.configParameter("scatterMovementWeight") --- > self.movementWeight = config.getParameter("scatterMovementWeight") monsters\generated\swimming\smallfish\smallfish.lua 0a1,2 > require "/scripts/util.lua" > 7c9 < local scripts = entity.configParameter("scripts") --- > local scripts = config.getParameter("scripts") 14c16 < entity.setAnimationState("movement", "swimming") --- > animator.setAnimationState("movement", "swimming") 56c58 < entity.rotateGroup("all", rotateAmount) --- > animator.rotateGroup("all", rotateAmount) 60c62 < entity.rotateGroup("all", 0) --- > animator.rotateGroup("all", 0) 70c72 < if self.wanderTimer > entity.configParameter("wanderChangeDirectionTime") then --- > if self.wanderTimer > config.getParameter("wanderChangeDirectionTime") then 75c77 < if self.wanderTimer > entity.configParameter("wanderChangeDirectionCooldown") then --- > if self.wanderTimer > config.getParameter("wanderChangeDirectionCooldown") then 77c79 < self.movement[2] = entity.randomizeParameterRange("wanderChangeDirectionYRange") --- > self.movement[2] = util.randomInRange(config.getParameter("wanderChangeDirectionYRange")) 90c92 < self.collisionAvoidance.timer = entity.configParameter("collisionAvoidanceTime") --- > self.collisionAvoidance.timer = config.getParameter("collisionAvoidanceTime") 95c97 < table.insert(movements, { self.collisionAvoidance.movement, entity.configParameter("collisionAvoidanceWeight") }) --- > table.insert(movements, { self.collisionAvoidance.movement, config.getParameter("collisionAvoidanceWeight") }) 123c125 < table.insert(movements, { flockMovement, entity.configParameter("flockMovementWeight") }) --- > table.insert(movements, { flockMovement, config.getParameter("flockMovementWeight") }) monsters\pets\groundpet.lua 21,22c21,22 < storage.petResources = storage.petResources or entity.configParameter("petResources") < self.petResourceDeltas = entity.configParameter("petResourceDeltas") --- > storage.petResources = storage.petResources or config.getParameter("petResources") > self.petResourceDeltas = config.getParameter("petResourceDeltas") 25c25 < local states = stateMachine.scanScripts(entity.configParameter("scripts"), "(%a+State)%.lua") --- > local states = stateMachine.scanScripts(config.getParameter("scripts"), "(%a+State)%.lua") 29c29 < local actions = stateMachine.scanScripts(entity.configParameter("scripts"), "(%a+Action)%.lua") --- > local actions = stateMachine.scanScripts(config.getParameter("scripts"), "(%a+Action)%.lua") 42c42 < self.behaviorName = entity.configParameter("petBehavior") --- > self.behaviorName = config.getParameter("petBehavior") 45,46c45,46 < storage.knownPlayers = storage.knownPlayers or entity.configParameter("knownPlayers", {}) < storage.foodLikings = storage.foodLikings or entity.configParameter("foodLikings", {}) --- > storage.knownPlayers = storage.knownPlayers or config.getParameter("knownPlayers", {}) > storage.foodLikings = storage.foodLikings or config.getParameter("foodLikings", {}) 48c48 < self.querySurroundingsCooldown = entity.configParameter("querySurroundingsCooldown", 3) --- > self.querySurroundingsCooldown = config.getParameter("querySurroundingsCooldown", 3) 50c50 < self.querySurroundingsRange = entity.configParameter("querySurroundingsRange", 50) --- > self.querySurroundingsRange = config.getParameter("querySurroundingsRange", 50) 105c105 < seed = entity.seed() --- > seed = monster.seed() 125c125 < local anchorName = entity.configParameter("anchorName", "humantechstation") --- > local anchorName = config.getParameter("anchorName", "humantechstation") 181c181 < entity.burstParticleEmitter("emote"..emoteType) --- > animator.burstParticleEmitter("emote"..emoteType) 262c262 < entity.setAnimationState("movement", "swim") --- > animator.setAnimationState("movement", "swim") 268c268 < entity.setAnimationState("movement", "run") --- > animator.setAnimationState("movement", "run") 270c270 < entity.setAnimationState("movement", "walk") --- > animator.setAnimationState("movement", "walk") 276c276 < local currentState = entity.animationState("movement") --- > local currentState = animator.animationState("movement") 278c278 < self.standTimer = entity.configParameter("idle.standTime", 2) --- > self.standTimer = config.getParameter("idle.standTime", 2) 284c284 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 286c286 < entity.setAnimationState("movement", "stand") --- > animator.setAnimationState("movement", "stand") 292c292 < entity.setAnimationState("movement", "jumping") --- > animator.setAnimationState("movement", "jumping") 294c294 < entity.setAnimationState("movement", "falling") --- > animator.setAnimationState("movement", "falling") monsters\pets\idlestate.lua 0a1,2 > require "/scripts/util.lua" > 4c6 < local idleTime = entity.randomizeParameterRange("idle.idleTime") --- > local idleTime = util.randomInRange(config.getParameter("idle.idleTime")) monsters\pets\petbehavior.lua 28,29c28,29 < self.actionParams = entity.configParameter("actionParams") < self.actionInterruptThreshold = entity.configParameter("actionParams.interruptThreshold", 15) --- > self.actionParams = config.getParameter("actionParams") > self.actionInterruptThreshold = config.getParameter("actionParams.interruptThreshold", 15) 120c120 < if hunger > entity.configParameter("actionParams.hungerStarvingLevel") then --- > if hunger > config.getParameter("actionParams.hungerStarvingLevel") then monsters\pets\petcapturepod.lua 7c7 < local ownerUuid = entity.configParameter("ownerUuid") --- > local ownerUuid = config.getParameter("ownerUuid") 47c47 < local parameters = entity.uniqueParameters() --- > local parameters = monster.uniqueParameters() 55,57c55,57 < parameters.seed = entity.seed() < parameters.level = entity.level() < parameters.familyIndex = entity.familyIndex() --- > parameters.seed = monster.seed() > parameters.level = monster.level() > parameters.familyIndex = monster.familyIndex() 72c72 < type = entity.type(), --- > type = monster.type(), 80c80 < entity.setDropPool(nil) --- > monster.setDropPool(nil) monsters\pets\wanderstate.lua 0a1,2 > require "/scripts/util.lua" > 9,11c11,13 < wanderTimer = entity.randomizeParameterRange("wander.wanderTime"), < changeDirectionTimer = entity.randomizeParameterRange("wander.changeDirectionTime"), < changeDirectionWait = entity.randomizeParameterRange("wander.changeDirectionWait"), --- > wanderTimer = util.randomInRange(config.getParameter("wander.wanderTime")), > changeDirectionTimer = util.randomInRange(config.getParameter("wander.changeDirectionTime")), > changeDirectionWait = util.randomInRange(config.getParameter("wander.changeDirectionWait")), 43c45 < stateData.changeDirectionTimer = entity.randomizeParameterRange("wander.changeDirectionTime") --- > stateData.changeDirectionTimer = util.randomInRange(config.getParameter("wander.changeDirectionTime")) monsters\pets\actions\begaction.lua 12c12 < approachDistance = entity.configParameter("actionParams.beg.distance", 3), --- > approachDistance = config.getParameter("actionParams.beg.distance", 3), 15c15 < emoteCooldown = entity.configParameter("actionParams.beg.emoteCooldown", 2), --- > emoteCooldown = config.getParameter("actionParams.beg.emoteCooldown", 2), 39c39 < return true, entity.configParameter("actionParams.beg.distance", 10) --- > return true, config.getParameter("actionParams.beg.distance", 10) monsters\pets\actions\eataction.lua 7c7 < if status.resource("hunger") < entity.configParameter("actionParams.eat.minHunger", 40) then --- > if status.resource("hunger") < config.getParameter("actionParams.eat.minHunger", 40) then 19c19 < approachDistance = entity.configParameter("actionParams.eat.distance", 2), --- > approachDistance = config.getParameter("actionParams.eat.distance", 2), 47c47 < entity.setAnimationState("movement", "eat") --- > animator.setAnimationState("movement", "eat") 58c58 < return true, entity.configParameter("actionParams.eat.cooldown") --- > return true, config.getParameter("actionParams.eat.cooldown") monsters\pets\actions\followaction.lua 6c6 < local startDistance = entity.configParameter("actionParams.follow.startDistance", 6) --- > local startDistance = config.getParameter("actionParams.follow.startDistance", 6) 15c15 < stopDistance = entity.configParameter("actionParams.follow.stopDistance", 3), --- > stopDistance = config.getParameter("actionParams.follow.stopDistance", 3), 17,18c17,18 < runDistance = entity.configParameter("actionParams.follow.runDistance", 20), < curiosityDelta = entity.configParameter("actionParams.follow.curiosityDelta", -5), --- > runDistance = config.getParameter("actionParams.follow.runDistance", 20), > curiosityDelta = config.getParameter("actionParams.follow.curiosityDelta", -5), 21c21 < boredTimer = entity.configParameter("actionParams.follow.boredTime", 3) --- > boredTimer = config.getParameter("actionParams.follow.boredTime", 3) 45c45 < return true, entity.configParameter("actionParams.follow.cooldown", 15) --- > return true, config.getParameter("actionParams.follow.cooldown", 15) 54c54 < return true, entity.configParameter("actionParams.follow.cooldown", 15) --- > return true, config.getParameter("actionParams.follow.cooldown", 15) monsters\pets\actions\inspectaction.lua 37c37 < return true, entity.configParameter("actionParams.inspect.cooldown", 15) --- > return true, config.getParameter("actionParams.inspect.cooldown", 15) 44c44 < entity.setAnimationState("movement", "inspect") --- > animator.setAnimationState("movement", "inspect") 68c68 < return true, entity.configParameter("actionParams.inspect.cooldown", 15) --- > return true, config.getParameter("actionParams.inspect.cooldown", 15) monsters\pets\actions\pounceaction.lua 76c76 < return true, entity.configParameter("actionParams.play.cooldown", 10) --- > return true, config.getParameter("actionParams.play.cooldown", 10) monsters\pets\actions\sleepaction.lua 12c12 < if args.sleepTarget and status.resource("sleepy") < entity.configParameter("actions.sleep.minSleepy", 65) then --- > if args.sleepTarget and status.resource("sleepy") < config.getParameter("actions.sleep.minSleepy", 65) then 27c27 < entity.setParticleEmitterActive("sleep", true) --- > animator.setParticleEmitterActive("sleep", true) 35c35 < entity.setParticleEmitterActive("sleep", true) --- > animator.setParticleEmitterActive("sleep", true) 42c42 < return true, entity.configParameter("actionParams.sleep.cooldown") --- > return true, config.getParameter("actionParams.sleep.cooldown") 47c47 < entity.setParticleEmitterActive("sleep", true) --- > animator.setParticleEmitterActive("sleep", true) 56c56 < return true, entity.configParameter("actionParams.sleep.cooldown", 15) --- > return true, config.getParameter("actionParams.sleep.cooldown", 15) 58c58 < entity.setAnimationState("movement", "invisible") --- > animator.setAnimationState("movement", "invisible") 60c60 < entity.setAnimationState("movement", "sleep") --- > animator.setAnimationState("movement", "sleep") 64c64 < return true, entity.configParameter("actionParams.sleep.cooldown", 15) --- > return true, config.getParameter("actionParams.sleep.cooldown", 15) 73c73 < entity.setParticleEmitterActive("sleep", false) --- > animator.setParticleEmitterActive("sleep", false) monsters\pets\actions\starvingaction.lua 13c13 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 21c21 < return true, entity.configParameter("actionParams.starving.cooldown", 3) --- > return true, config.getParameter("actionParams.starving.cooldown", 3) monsters\pets\petball\petball.lua 0a1,2 > require "/scripts/util.lua" > 1a4 > 22,23c25,26 < local angle = entity.randomizeParameterRange("angleRange") < local speed = entity.randomizeParameterRange("speedRange") --- > local angle = util.randomInRange(config.getParameter("angleRange")) > local speed = util.randomInRange(config.getParameter("speedRange")) npcs\bmain.lua 26,27c26,27 < if entity.configParameter("behavior") then < self.behavior = BTree:new(entity.configParameter("behavior"), entity.configParameter("behaviorConfig", {})) --- > if config.getParameter("behavior") then > self.behavior = BTree:new(config.getParameter("behavior"), config.getParameter("behaviorConfig", {})) 30c30 < entity.setInteractive(true) --- > npc.setInteractive(true) 33c33 < self.behaviorConfig = entity.configParameter("behaviorConfig", {}) --- > self.behaviorConfig = config.getParameter("behaviorConfig", {}) 38,41c38,41 < self.primary = entity.getItemSlot("primary") < self.alt = entity.getItemSlot("alt") < self.sheathedPrimary = entity.getItemSlot("sheathedprimary") < self.sheathedAlt = entity.getItemSlot("sheathedalt") --- > self.primary = npc.getItemSlot("primary") > self.alt = npc.getItemSlot("alt") > self.sheathedPrimary = npc.getItemSlot("sheathedprimary") > self.sheathedAlt = npc.getItemSlot("sheathedalt") 137c137 < return util.weightedRandom(entity.configParameter("personalities"), entity.seed()) --- > return util.weightedRandom(config.getParameter("personalities"), npc.seed()) 141c141 < local enabled = entity.configParameter("questGenerator.enableParticipation") --- > local enabled = config.getParameter("questGenerator.enableParticipation") 159c159 < entity.setStatusText(options[math.random(#options)]) --- > npc.setStatusText(options[math.random(#options)]) 161c161 < entity.setStatusText(nil) --- > npc.setStatusText(nil) 163c163 < entity.setDisplayNametag(true) --- > npc.setDisplayNametag(true) 174c174 < local portrait = entity.configParameter("chatPortrait") --- > local portrait = config.getParameter("chatPortrait") 179c179 < entity.say(args.content, args.tags) --- > npc.say(args.content, args.tags) 181c181 < entity.sayPortrait(args.content, portrait, args.tags) --- > npc.sayPortrait(args.content, portrait, args.tags) 213c213 < entity.setLounging(entityId) --- > npc.setLounging(entityId) 218,219c218,219 < if not entity.isLounging() then return false end < entity.resetLounging() --- > if not npc.isLounging() then return false end > npc.resetLounging() 236c236 < level = args.level or entity.level() --- > level = args.level or npc.level() 244c244 < entity.setItemSlot(args.slot, item) --- > npc.setItemSlot(args.slot, item) 286c286 < entity.setItemSlot(slot, item) --- > npc.setItemSlot(slot, item) 305c305 < entity.setAimPosition(position) --- > npc.setAimPosition(position) 314c314 < entity.beginAltFire() --- > npc.beginAltFire() 319c319 < entity.endAltFire() --- > npc.endAltFire() 324c324 < entity.beginPrimaryFire() --- > npc.beginPrimaryFire() 329c329 < entity.endPrimaryFire() --- > npc.endPrimaryFire() 337c337 < entity.setDropPools(args.dropPools) --- > npc.setDropPools(args.dropPools) 345c345 < entity.setDeathParticleBurst(args.deathParticleBurst) --- > npc.setDeathParticleBurst(args.deathParticleBurst) 355c355 < entity.emote(args.emote) --- > npc.emote(args.emote) 363c363 < entity.dance(args.dance) --- > npc.dance(args.dance) 372c372 < entity.setItemSlot("primary", self.sheathedPrimary) --- > npc.setItemSlot("primary", self.sheathedPrimary) 377c377 < entity.setItemSlot("alt", self.sheathedAlt) --- > npc.setItemSlot("alt", self.sheathedAlt) objects\explodingsmashable.lua 5c5 < world.spawnProjectile(entity.configParameter("explosionProjectile", fireexplosion), vec2.add(entity.position(), entity.configParameter("explosionOffset", {0,0})), entity.id(), {0,0}) --- > world.spawnProjectile(config.getParameter("explosionProjectile", fireexplosion), vec2.add(object.position(), config.getParameter("explosionOffset", {0,0})), entity.id(), {0,0}) objects\ancient\ancientconsole\ancientconsole.lua 2,4c2,4 < self.detectArea = entity.configParameter("detectArea") < self.detectArea[1] = entity.toAbsolutePosition(self.detectArea[1]) < self.detectArea[2] = entity.toAbsolutePosition(self.detectArea[2]) --- > self.detectArea = config.getParameter("detectArea") > self.detectArea[1] = object.toAbsolutePosition(self.detectArea[1]) > self.detectArea[2] = object.toAbsolutePosition(self.detectArea[2]) 6,7c6,7 < entity.setAnimationState("console", "off") < entity.setLightColor({0, 0, 0, 0}) --- > animator.setAnimationState("console", "off") > object.setLightColor({0, 0, 0, 0}) 16,23c16,23 < if #players > 0 and entity.animationState("console") == "off" then < entity.setAnimationState("console", "turnon") < entity.playSound("on"); < entity.setLightColor(entity.configParameter("lightColor", {255, 255, 255})) < elseif #players == 0 and entity.animationState("console") == "on" then < entity.setAnimationState("console", "turnoff") < entity.playSound("off"); < entity.setLightColor({0, 0, 0, 0}) --- > if #players > 0 and animator.animationState("console") == "off" then > animator.setAnimationState("console", "turnon") > animator.playSound("on"); > object.setLightColor(config.getParameter("lightColor", {255, 255, 255})) > elseif #players == 0 and animator.animationState("console") == "on" then > animator.setAnimationState("console", "turnoff") > animator.playSound("off"); > object.setLightColor({0, 0, 0, 0}) objects\ancient\challengedoor\challengedoor.lua 2,4c2,4 < self.detectArea = entity.configParameter("detectArea") < self.detectArea[1] = entity.toAbsolutePosition(self.detectArea[1]) < self.detectArea[2] = entity.toAbsolutePosition(self.detectArea[2]) --- > self.detectArea = config.getParameter("detectArea") > self.detectArea[1] = object.toAbsolutePosition(self.detectArea[1]) > self.detectArea[2] = object.toAbsolutePosition(self.detectArea[2]) 6,7c6,7 < entity.setAnimationState("portal", "off") < entity.setLightColor({0, 0, 0, 0}) --- > animator.setAnimationState("portal", "off") > object.setLightColor({0, 0, 0, 0}) 10c10 < entity.setInteractive(true) --- > object.setInteractive(true) 13,16c13,16 < if not entity.configParameter("returnDoor") and not storage.vanishTime then < storage.vanishTime = world.time() + entity.configParameter("vanishTime") < if not (entity.animationState("portal") == "open" or entity.animationState("portal") == "on") then < entity.setAnimationState("portal", "open") --- > if not config.getParameter("returnDoor") and not storage.vanishTime then > storage.vanishTime = world.time() + config.getParameter("vanishTime") > if not (animator.animationState("portal") == "open" or animator.animationState("portal") == "on") then > animator.setAnimationState("portal", "open") 23,24c23,24 < if entity.animationState("portal") == "gone" then < entity.smash() --- > if animator.animationState("portal") == "gone" then > object.smash() 27c27 < entity.setAnimationState("portal", "vanish") --- > animator.setAnimationState("portal", "vanish") 35,42c35,42 < if #players > 0 and entity.animationState("portal") == "off" then < entity.setAnimationState("portal", "open") < entity.playSound("on"); < entity.setLightColor(entity.configParameter("lightColor", {255, 255, 255})) < elseif #players == 0 and entity.animationState("portal") == "on" and not storage.vanishTime then < entity.setAnimationState("portal", "close") < entity.playSound("off"); < entity.setLightColor({0, 0, 0, 0}) --- > if #players > 0 and animator.animationState("portal") == "off" then > animator.setAnimationState("portal", "open") > animator.playSound("on"); > object.setLightColor(config.getParameter("lightColor", {255, 255, 255})) > elseif #players == 0 and animator.animationState("portal") == "on" and not storage.vanishTime then > animator.setAnimationState("portal", "close") > animator.playSound("off"); > object.setLightColor({0, 0, 0, 0}) 47c47 < if entity.configParameter("returnDoor") then --- > if config.getParameter("returnDoor") then objects\apex\apexstoragelocker\apexstoragelocker.object 4a5 > "category" : "storage", 9,10d9 < < "category" : "storage", 12c11 < "shortdescription" : "Apex Ship Locker", --- > "shortdescription" : "Apex Storage Locker", 18,19c17,18 < "glitchDescription" : "Neutral. A metallic ship locker.", < "humanDescription" : "It's an industrial looking ship locker.", --- > "glitchDescription" : "Neutral. A metallic storage locker.", > "humanDescription" : "It's an industrial looking storage locker.", 22d20 < objects\apex\respawnpod\behavior.lua 8c8 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 11,12c11,12 < entity.setAnimationState("movement", "idle") < entity.setInteractive(false) --- > animator.setAnimationState("movement", "idle") > object.setInteractive(false) 33c33 < local animation = entity.animationState("movement") --- > local animation = animator.animationState("movement") 36c36 < return true, entity.configParameter("spawnCooldownTime") --- > return true, config.getParameter("spawnCooldownTime") 38c38 < entity.setAnimationState("movement", "spawn") --- > animator.setAnimationState("movement", "spawn") 43,44c43,44 < if not stateData.spawned and stateData.timer > entity.configParameter("spawnTime") then < self.spawnedEntityId = world.spawnNpc(spawnState.spawnPosition(), "apex", "default", entity.level()) --- > if not stateData.spawned and stateData.timer > config.getParameter("spawnTime") then > self.spawnedEntityId = world.spawnNpc(spawnState.spawnPosition(), "apex", "default", object.level()) 50,51c50,51 < if stateData.timer > entity.configParameter("closeTime") then < entity.setAnimationState("movement", "close") --- > if stateData.timer > config.getParameter("closeTime") then > animator.setAnimationState("movement", "close") 59c59 < return vec2.add(entity.position(), entity.configParameter("spawnOffset")) --- > return vec2.add(object.position(), config.getParameter("spawnOffset")) objects\apex\securitycamera\securitycamera.lua 7,9c7,9 < entity.setAnimationState("movement", "idle") < entity.setInteractive(false) < entity.setAllOutboundNodes(false) --- > animator.setAnimationState("movement", "idle") > object.setInteractive(false) > object.setAllOutboundNodes(false) 17,18c17,18 < if entity.direction() > 0 then < return vec2.add(entity.position(), offset) --- > if object.direction() > 0 then > return vec2.add(object.position(), offset) 20c20 < return vec2.sub(entity.position(), offset) --- > return vec2.sub(object.position(), offset) 25c25 < local baseOffset = entity.configParameter("baseOffset") --- > local baseOffset = config.getParameter("baseOffset") 30c30 < entity.rotateGroup("camera", -targetAimAngle) --- > animator.rotateGroup("camera", -targetAimAngle) 32c32 < local tipOffset = entity.configParameter("tipOffset") --- > local tipOffset = config.getParameter("tipOffset") 35,36c35,36 < local aimAngle = entity.currentRotationAngle("camera") < local facingDirection = entity.direction() --- > local aimAngle = animator.currentRotationAngle("camera") > local facingDirection = object.direction() 40c40 < tipOffset = world.distance(tipPosition, entity.position()) --- > tipOffset = world.distance(tipPosition, object.position()) 45c45 < local laserVector = vec2.mul(aimVector, entity.configParameter("maxLaserLength")) --- > local laserVector = vec2.mul(aimVector, config.getParameter("maxLaserLength")) 87c87 < timer = -entity.configParameter("rotationPauseTime"), --- > timer = -config.getParameter("rotationPauseTime"), 93,94c93,94 < local rotationRange = vec2.mul(entity.configParameter("rotationRange"), math.pi / 180) < local rotationTime = entity.configParameter("rotationTime") --- > local rotationRange = vec2.mul(config.getParameter("rotationRange"), math.pi / 180) > local rotationTime = config.getParameter("rotationTime") 107c107 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 109c109 < entity.setAnimationState("movement", "move") --- > animator.setAnimationState("movement", "move") 123c123 < stateData.timer = -entity.configParameter("rotationPauseTime") --- > stateData.timer = -config.getParameter("rotationPauseTime") 147,149c147,149 < entity.rotateGroup("camera", entity.currentRotationAngle("camera")) < entity.setAnimationState("movement", "alert") < entity.setAllOutboundNodes(true) --- > animator.rotateGroup("camera", animator.currentRotationAngle("camera")) > animator.setAnimationState("movement", "alert") > object.setAllOutboundNodes(true) 156,157c156,157 < entity.setAnimationState("movement", "idle") < entity.setAllOutboundNodes(false) --- > animator.setAnimationState("movement", "idle") > object.setAllOutboundNodes(false) 164c164 < local desiredAimAngle = vec2.angle(toTarget) * entity.direction() --- > local desiredAimAngle = vec2.angle(toTarget) * object.direction() 167c167 < local rotationRange = vec2.mul(entity.configParameter("rotationRange"), math.pi / 180) --- > local rotationRange = vec2.mul(config.getParameter("rotationRange"), math.pi / 180) 173c173 < entity.rotateGroup("camera", entity.currentRotationAngle("camera")) --- > animator.rotateGroup("camera", animator.currentRotationAngle("camera")) 180,181c180,181 < entity.setAnimationState("movement", "idle") < entity.setAllOutboundNodes(false) --- > animator.setAnimationState("movement", "idle") > object.setAllOutboundNodes(false) objects\apex\turret\turret.lua 7,9c7,9 < entity.setAnimationState("movement", "idle") < entity.setInteractive(false) < entity.setAllOutboundNodes(false) --- > animator.setAnimationState("movement", "idle") > object.setInteractive(false) > object.setAllOutboundNodes(false) 19,20c19,20 < if entity.direction() > 0 then < return vec2.add(entity.position(), offset) --- > if object.direction() > 0 then > return vec2.add(object.position(), offset) 22c22 < return vec2.sub(entity.position(), offset) --- > return vec2.sub(object.position(), offset) 28c28 < local baseOffset = entity.configParameter("baseOffset") --- > local baseOffset = config.getParameter("baseOffset") 34c34 < entity.rotateGroup("gun", -targetAimAngle) --- > animator.rotateGroup("gun", -targetAimAngle) 36c36 < local tipOffset = entity.configParameter("tipOffset") --- > local tipOffset = config.getParameter("tipOffset") 39,40c39,40 < local aimAngle = entity.currentRotationAngle("gun") < local facingDirection = entity.direction() --- > local aimAngle = animator.currentRotationAngle("gun") > local facingDirection = object.direction() 44c44 < tipOffset = world.distance(tipPosition, entity.position()) --- > tipOffset = world.distance(tipPosition, object.position()) 48c48 < local laserVector = vec2.mul(aimVector, entity.configParameter("maxLaserLength")) --- > local laserVector = vec2.mul(aimVector, config.getParameter("maxLaserLength")) 90c90 < timer = -entity.configParameter("rotationPauseTime"), --- > timer = -config.getParameter("rotationPauseTime"), 96c96 < entity.setAnimationState("beam", "visible") --- > animator.setAnimationState("beam", "visible") 100,101c100,101 < local rotationRange = vec2.mul(entity.configParameter("rotationRange"), math.pi / 180) < local rotationTime = entity.configParameter("rotationTime") --- > local rotationRange = vec2.mul(config.getParameter("rotationRange"), math.pi / 180) > local rotationTime = config.getParameter("rotationTime") 114c114 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 116c116 < entity.setAnimationState("movement", "idle") --- > animator.setAnimationState("movement", "idle") 123c123 < entity.scaleGroup("beam", { length, 1.0 }) --- > object.scaleGroup("beam", { length, 1.0 }) 133c133 < stateData.timer = -entity.configParameter("rotationPauseTime") --- > stateData.timer = -config.getParameter("rotationPauseTime") 141c141 < entity.setAnimationState("beam", "invisible") --- > animator.setAnimationState("beam", "invisible") 161,163c161,163 < entity.rotateGroup("gun", entity.currentRotationAngle("gun")) < entity.setAnimationState("movement", "attack") < entity.setAllOutboundNodes(true) --- > animator.rotateGroup("gun", animator.currentRotationAngle("gun")) > animator.setAnimationState("movement", "attack") > object.setAllOutboundNodes(true) 175,176c175,176 < entity.setAnimationState("movement", "idle") < entity.setAllOutboundNodes(false) --- > animator.setAnimationState("movement", "idle") > object.setAllOutboundNodes(false) 183c183 < local desiredAimAngle = vec2.angle(toTarget) * entity.direction() --- > local desiredAimAngle = vec2.angle(toTarget) * object.direction() 186c186 < local rotationRange = vec2.mul(entity.configParameter("rotationRange"), math.pi / 180) --- > local rotationRange = vec2.mul(config.getParameter("rotationRange"), math.pi / 180) 192c192 < entity.rotateGroup("gun", entity.currentRotationAngle("gun")) --- > animator.rotateGroup("gun", animator.currentRotationAngle("gun")) 199c199 < local fireOffsets = entity.configParameter("fireOffsets") --- > local fireOffsets = config.getParameter("fireOffsets") 206c206 < stateData.fireTimer = entity.configParameter("fireCooldown") --- > stateData.fireTimer = config.getParameter("fireCooldown") 213,215c213,215 < if stateData.timer > entity.configParameter("targetHoldTime") then < entity.setAnimationState("movement", "idle") < entity.setAllOutboundNodes(false) --- > if stateData.timer > config.getParameter("targetHoldTime") then > animator.setAnimationState("movement", "idle") > object.setAllOutboundNodes(false) objects\avian\avianstoragelocker\avianstoragelocker.object 11c11 < "shortdescription" : "Avian Ship Locker", --- > "shortdescription" : "Avian Storage Locker", 13c13 < --- > 17,18c17,18 < "glitchDescription" : "Neutral. A metallic ship locker.", < "humanDescription" : "It's an industrial looking ship locker.", --- > "glitchDescription" : "Neutral. A metallic storage locker.", > "humanDescription" : "It's an industrial looking storage locker.", objects\avian\earthemblem\earthemblem.object 18c18 < "novakidDescription" : "I reckon this is an Avian emblem for earth", --- > "novakidDescription" : "I reckon this is an Avian emblem for earth.", objects\biome\crystalline\crystallinebush1\crystallinebush1.object 37c37 < [ [ "crystal", 1, { } ], [ "crystal", 1, { } ], [ "crystal", 1, { } ] ] --- > [ [ "geode", 1, { } ], [ "geode", 1, { } ], [ "geode", 1, { } ] ] objects\biome\crystalline\crystallinebush2\crystallinebush2.object 37c37 < [ [ "crystal", 1, { } ], [ "crystal", 1, { } ], [ "crystal", 1, { } ] ] --- > [ [ "geode", 1, { } ], [ "geode", 1, { } ], [ "geode", 1, { } ] ] objects\biome\crystalline\crystallinebush3\crystallinebush3.object 37c37 < [ [ "crystal", 1, { } ], [ "crystal", 1, { } ], [ "crystal", 1, { } ] ] --- > [ [ "geode", 1, { } ], [ "geode", 1, { } ], [ "geode", 1, { } ] ] objects\biome\crystalline\crystallinebush4\crystallinebush4.object 37c37 < [ [ "crystal", 1, { } ], [ "crystal", 1, { } ], [ "crystal", 1, { } ] ] --- > [ [ "geode", 1, { } ], [ "geode", 1, { } ], [ "geode", 1, { } ] ] objects\colony\colonydeed\colonydeed.lua 1c1,2 < require("/scripts/quest/participant.lua") --- > require "/scripts/quest/participant.lua" > require "/scripts/util.lua" 4c5 < self = entity.configParameter("deed") --- > self = config.getParameter("deed") 6c7 < world.logInfo("Colony deed at %s is missing configuration.", entity.position()) --- > world.logInfo("Colony deed at %s is missing configuration.", object.position()) 10,11c11,12 < entity.setInteractive(self.interactive) < self.position = entity.toAbsolutePosition(self.position) --- > object.setInteractive(self.interactive) > self.position = object.toAbsolutePosition(self.position) 79c80 < entity.setAnimationState("deedState", "beacon") --- > animator.setAnimationState("deedState", "beacon") 177c178 < local currentState = entity.animationState("deedState") --- > local currentState = animator.animationState("deedState") 184c185 < entity.setAnimationState("deedState", "vacated") --- > animator.setAnimationState("deedState", "vacated") 187c188 < entity.setAnimationState("deedState", "rentdue") --- > animator.setAnimationState("deedState", "rentdue") 191c192 < entity.setAnimationState("deedState", "grumbling") --- > animator.setAnimationState("deedState", "grumbling") 193c194 < entity.setAnimationState("deedState", "healing") --- > animator.setAnimationState("deedState", "healing") 195c196 < entity.setAnimationState("deedState", "occupied") --- > animator.setAnimationState("deedState", "occupied") 199c200 < entity.setAnimationState("deedState", "scanning") --- > animator.setAnimationState("deedState", "scanning") 260c261 < return entity.randomizeParameterRange("deed.questScanFrequency") --- > return util.randomInRange(config.getParameter("deed.questScanFrequency")) 262c263 < return entity.randomizeParameterRange("deed.scanFrequency") --- > return util.randomInRange(config.getParameter("deed.scanFrequency")) 268c269 < return entity.randomizeParameterRange("deed.rentPeriodRange", rent.periodRange) --- > return util.randomInRange(config.getParameter("deed.rentPeriodRange", rent.periodRange)) 410c411 < tenant.seed = world.callScriptedEntity(entity, "entity.seed") --- > tenant.seed = world.callScriptedEntity(entity, "object.seed") 425c426 < local uniqueId = world.entityUniqueId(entity.id()) --- > local uniqueId = entity.uniqueId() 449c450 < if entity.configParameter("owner") then --- > if config.getParameter("owner") then 452c453 < world.sendEntityMessage(entity.configParameter("owner"), "colonyDeed.newHome", storage.occupier.tenants, storage.house.objects, storage.house.boundary) --- > world.sendEntityMessage(config.getParameter("owner"), "colonyDeed.newHome", storage.occupier.tenants, storage.house.objects, storage.house.boundary) 480c481 < entity.setAnimationState("particles", "newArrival") --- > animator.setAnimationState("particles", "newArrival") 487c488 < entity.setAnimationState("deedState", "error") --- > animator.setAnimationState("deedState", "error") objects\colony\colonydeed\scanning.lua 95c95 < local objectTags = world.objectConfigParameter(objectId, "colonyTags", {}) --- > local objectTags = world.getObjectParameter(objectId, "colonyTags", {}) objects\colony\colonydeed\timer.lua 0a1,2 > require "/scripts/util.lua" > 2,7c4,9 < key = nil, < delay = nil, < timeCallback = nil, < completeCallback = nil, < loop = false < } --- > key = nil, > delay = nil, > timeCallback = nil, > completeCallback = nil, > loop = false > } 57c59 < return entity.randomizeParameterRange(delay) --- > return util.randomInRange(config.getParameter(delay)) objects\crafting\alloyfurnace\alloyfurnace.object 13c13 < "file" : "/interface/crafting/alloyfurnace.png" --- > "file" : "/interface/crafting/craftingfurnace2.png" objects\crafting\apothecary\apothecary.object 13c13 < "file" : "/interface/crafting/apothecaryicon.png" --- > "file" : "/interface/crafting/craftingmedical.png" objects\crafting\farmtable\farmtable.object 16c16 < "file" : "/interface/crafting/foragingicon.png" --- > "file" : "/interface/crafting/craftingfarm.png" objects\crafting\ironanvil\ironanvil.object 17c17 < "file" : "/interface/crafting/anvil.png" --- > "file" : "/interface/crafting/craftinganvil.png" objects\crafting\metalworkstation\metalworkstation.object 13c13 < "file" : "/interface/crafting/metalwork.png" --- > "file" : "/interface/crafting/craftinganvil2.png" objects\crafting\pixelcompressor\pixelcompressor.object 8c8 < "config" : "/interface/windowconfig/craftingnocategories.config", --- > "config" : "/interface/windowconfig/crafting.config", objects\crafting\scifianvil\scifianvil.object 13c13 < "file" : "/interface/crafting/scifianvil.png" --- > "file" : "/interface/crafting/craftinganvil3.png" objects\crafting\scififurnace\scififurnace.object 13c13 < "file" : "/interface/crafting/scififurnace.png" --- > "file" : "/interface/crafting/craftingfurnace3.png" objects\crafting\upgradeablecraftingobjects\upgradeablecraftingobject.lua 5c5 < entity.setInteractive(true) --- > object.setInteractive(true) 8c8 < self.maxUpgradeStage=entity.configParameter("maxUpgradeStage") --- > self.maxUpgradeStage=config.getParameter("maxUpgradeStage") 11c11 < local startUpgradeStage = entity.configParameter("startingUpgradeStage") --- > local startUpgradeStage = config.getParameter("startingUpgradeStage") 19c19 < self.stageDataList = entity.configParameter("upgradeStages") --- > self.stageDataList = config.getParameter("upgradeStages") 72c72 < entity.stopAllSounds(stageData.soundEffect, 0.5) --- > animator.stopAllSounds(stageData.soundEffect, 0.5) 76c76 < entity.setLightActive(stageData.lightEffect,false) --- > animator.setLightActive(stageData.lightEffect,false) 87c87 < entity.playSound(stageData.upgradeSoundEffect) --- > animator.playSound(stageData.upgradeSoundEffect) 91c91 < entity.burstParticleEmitter(stageData.upgradeParticleEffect) --- > animator.burstParticleEmitter(stageData.upgradeParticleEffect) 98c98 < entity.setAnimationState("stage", stageData.animName) --- > animator.setAnimationState("stage", stageData.animName) 101c101 < entity.playSound(stageData.soundEffect, -1) -- -1 means loop forever. --- > animator.playSound(stageData.soundEffect, -1) -- -1 means loop forever. 105c105 < entity.setLightActive(stageData.lightEffect,true) --- > animator.setLightActive(stageData.lightEffect,true) 116c116 < local itemDescriptor = {name=entity.configParameter("objectName"), count=1, parameters=stageData.itemSpawnParameters} --- > local itemDescriptor = {name=config.getParameter("objectName"), count=1, parameters=stageData.itemSpawnParameters} 118c118 < world.spawnItem(itemDescriptor, vec2.add(entity.position(), {0,3}) ) --- > world.spawnItem(itemDescriptor, vec2.add(object.position(), {0,3}) ) objects\crafting\upgradeablecraftingobjects\craftinganvil\craftinganvil.animation 17a18,22 > }, > "craftinganvil3" : { > "frames" : 4, > "cycle" : 0.4, > "mode" : "loop" 38a44,71 > "image" : "craftinganvil2lit.png:." > } > }, > > "craftinganvil3" : { > "properties" : { > "image" : "craftinganvil3lit.png:." > } > } > } > } > }, > > "lights" : { > "properties" : { > "centered" : true, > "fullbright" : true > }, > "partStates" : { > "stage" : { > "craftinganvil" : { > "properties" : { > "image" : "craftinganvil.png:." > } > }, > > "craftinganvil2" : { > "properties" : { 40a74,79 > }, > > "craftinganvil3" : { > "properties" : { > "image" : "craftinganvil3.png:." > } 64a104,115 > }, > > "replicatorglow" : { > "active" : false, > "color" : [89, 119, 179], > "position" : [0, 1], > > "flickerPeriod" : 0.9, > "flickerMinIntensity" : 0.75, > "flickerMaxIntensity" : 0.8, > "flickerPeriodVariance" : 0, > "flickerIntensityVariance" : 0 objects\crafting\upgradeablecraftingobjects\craftinganvil\craftinganvil.object 19c19 < "animationPosition" : [4, 8], --- > "animationPosition" : [0, 12], 26c26 < "placementImagePosition" : [-8, 0], --- > "placementImagePosition" : [-24, 0], 41c41 < "maxUpgradeStage" : 2, --- > "maxUpgradeStage" : 3, 50c50 < "placementImagePosition" : [-8, 0], --- > "placementImagePosition" : [-24, 0], 71c71 < "file" : "/interface/crafting/anvil.png" --- > "file" : "/interface/crafting/craftinganvil.png" 94c94 < "placementImagePosition" : [-8, 0], --- > "placementImagePosition" : [-24, 0], 115c115 < "file" : "/interface/crafting/anvil.png" --- > "file" : "/interface/crafting/craftinganvil2.png" 119c119,127 < "filter" : [ "craftinganvil", "craftinganvil2" ] --- > "filter" : [ "craftinganvil", "craftinganvil2" ], > "upgradeMaterials" : [ > { "item" : "refinedaegisalt", "count" : 5 }, > { "item" : "refinedrubium", "count" : 5 }, > { "item" : "refinedviolium", "count" : 5 }, > { "item" : "battery", "count" : 1 }, > { "item" : "siliconboard", "count" : 10 }, > { "item" : "wire", "count" : 20 } > ] 124a133,171 > }, > > { > "animName" : "craftinganvil3", > > "itemSpawnParameters" : { > "inventoryIcon" : "craftinganvil3icon.png", > "placementImage" : "craftinganvil3.png:default.default", > "placementImagePosition" : [-24, 0], > > "description" : "This module can turn strong ores into high quality equipment.", > "shortdescription" : "^orange;Replicator^white;", > > "apexDescription" : "A replicator. I can create high quality equipment with this.", > "avianDescription" : "I can turn ores into good quality equipment from here.", > "floranDescription" : "Floran make ssstrong weapon here.", > "glitchDescription" : "Neutral. I can make equipment and more with this.", > "humanDescription" : "I can create super strong equipment from this replicator.", > "hylotlDescription" : "This replicator enables me to create high quality equipment from good quality materials.", > "novakidDescription" : "I can make myself some great equipment using this replicator." > }, > > "interactData" : { > "config" : "/interface/windowconfig/craftinganvil.config", > "paneLayoutOverride" : { > "windowtitle" : { > "title" : " REPLICATOR", > "subtitle" : " Armor and Weapons", > "icon" : { > "file" : "/interface/crafting/craftinganvil3.png" > } > } > }, > "filter" : [ "craftinganvil", "craftinganvil2", "craftinganvil3" ] > }, > > "learnBlueprintsOnPickup" : [ "acceleratoraddon", "manipulatoraddon", "separatoraddon"], > > "lightEffect" : "replicatorglow" 133c180 < "imagePosition" : [-8, 0], --- > "imagePosition" : [-24, 0], 141c188 < "imagePosition" : [-8, 0], --- > "imagePosition" : [-24, 0], objects\crafting\upgradeablecraftingobjects\craftinganvil\default.frames 3c3 < "size" : [24, 16], --- > "size" : [48, 24], objects\crafting\upgradeablecraftingobjects\craftingfarm\craftingfarm.object 75c75 < "file" : "/interface/crafting/foragingicon.png" --- > "file" : "/interface/crafting/craftingfarm.png" 121c121 < "file" : "/interface/crafting/foragingicon.png" --- > "file" : "/interface/crafting/craftingfarm2.png" objects\crafting\upgradeablecraftingobjects\craftingfurniture\craftingfurniture.object 71c71 < "file" : "/interface/crafting/craftingtable.png" --- > "file" : "/interface/crafting/craftingfurniture.png" 115c115 < "file" : "/interface/crafting/craftingtable.png" --- > "file" : "/interface/crafting/craftingfurniture2.png" objects\crafting\upgradeablecraftingobjects\craftingmedical\craftingmedical.object 71c71 < "file" : "/interface/crafting/apothecaryicon.png" --- > "file" : "/interface/crafting/craftingmedical.png" 119c119 < "file" : "/interface/crafting/apothecaryicon.png" --- > "file" : "/interface/crafting/craftingmedical2.png" objects\crafting\upgradeablecraftingobjects\craftingwheel\craftingwheel.object 76c76 < "file" : "/interface/crafting/spinningwheel.png" --- > "file" : "/interface/crafting/craftingwheel.png" 122c122 < "file" : "/interface/crafting/spinningwheel.png" --- > "file" : "/interface/crafting/craftingwheel2.png" objects\crafting\upgradeablecraftingobjects\inventorstable\inventorstable.animation 20,21c20,21 < "frames" : 1, < "cycle" : 1, --- > "frames" : 8, > "cycle" : 0.8, 49a50,78 > "image" : "inventorstable3lit.png:." > } > } > > } > } > }, > > "light" : { > "properties" : { > "centered" : true, > "fullbright" : true > }, > "partStates" : { > "stage" : { > "inventorstable" : { > "properties" : { > "image" : "inventorstable.png:." > } > }, > > "inventorstable2" : { > "properties" : { > "image" : "inventorstable2.png:." > } > }, > > "inventorstable3" : { > "properties" : { 65a95,107 > }, > > "lights" : { > "scifiglow" : { > "active" : false, > "position" : [0, 1], > "color" : [31, 66, 102], > "flickerPeriod" : 0.5, > "flickerMinIntensity" : 0.95, > "flickerMaxIntensity" : 1.0, > "flickerPeriodVariance" : 0.0, > "flickerIntensityVariance" : 0.0 > } objects\crafting\upgradeablecraftingobjects\inventorstable\inventorstable.object 19c19 < "animationPosition" : [0, 19], --- > "animationPosition" : [0, 18], 26c26 < "placementImagePosition" : [-16, 0], --- > "placementImagePosition" : [-16, -1], 50c50 < "placementImagePosition" : [-16, 0], --- > "placementImagePosition" : [-16, -1], 71c71 < "file" : "/interface/crafting/researchtable.png" --- > "file" : "/interface/crafting/inventorstable.png" 97c97 < "placementImagePosition" : [-16, 0], --- > "placementImagePosition" : [-16, -1], 118c118 < "file" : "/interface/crafting/researchtable.png" --- > "file" : "/interface/crafting/inventorstable2.png" 125c125,127 < { "item" : "goldbar", "count" : 5 } --- > { "item" : "battery", "count" : 1 }, > { "item" : "siliconboard", "count" : 5 }, > { "item" : "wire", "count" : 10 } 143c145 < "placementImagePosition" : [-16, 0], --- > "placementImagePosition" : [-16, -1], 164c166 < "file" : "/interface/crafting/researchtable.png" --- > "file" : "/interface/crafting/inventorstable3.png" 171c173,175 < "learnBlueprintsOnPickup" : [] --- > "learnBlueprintsOnPickup" : [], > > "lightEffect" : "scifiglow" 184c188 < "spaceScan" : 0.1, --- > "spaces" : [ [-2,0], [-1,0], [0,0], [1,0], [-2,1], [-1,1], [0,1], [1,1], [-2,2], [-1,2], [0,2], [1,2], [-2,3], [-1,3], [0,3], [1,3], [-2,4], [-1,4], [0,4], [1,4] ], 191c195 < "spaceScan" : 0.1, --- > "spaces" : [ [-2,0], [-1,0], [0,0], [1,0], [-2,1], [-1,1], [0,1], [1,1], [-2,2], [-1,2], [0,2], [1,2], [-2,3], [-1,3], [0,3], [1,3], [-2,4], [-1,4], [0,4], [1,4] ], objects\crafting\wiringstation\wiringstation.object 7c7 < "config" : "/interface/windowconfig/craftingnocategories.config", --- > "config" : "/interface/windowconfig/wiringstation.config", 17c17 < "filter" : [ "wiringstation" ] --- > "filter" : [ "craftingwiring" ] objects\crafting\woodencraftingtable\woodencraftingtable.object 13c13 < "file" : "/interface/crafting/researchtable.png" --- > "file" : "/interface/crafting/inventorstable.png" objects\farmables\flowerred\flowerred.object 17c17 < "novakidDescription" : "A red flower, I always wanna stop nΓÇÖ smell ΓÇÿem. I wonder why?", --- > "novakidDescription" : "A red flower, I always wanna stop n' smell 'em. I wonder why?", objects\farmables\toxictop\toxictopseed.object 6c6 < "description" : "A Toxic Top. Toxic, but also top!", --- > "description" : "Toxic looking fruit, but is it all that bad?", 14,16c14,16 < "floranDescription" : "Floran feed Toxic Tops to friends as joke.", < "glitchDescription" : "Analysis. This plant is toxic to every known species bar penguins.", < "humanDescription" : "A toxic pineapple. My favourite dish.", --- > "floranDescription" : "Floran feeds toxic tops to friendsss for fun.", > "glitchDescription" : "Perplexed. This plant is toxic to every known species bar penguins.", > "humanDescription" : "A toxic pineapple, for when a regular pineapple just isn't toxic enough.", 17a18 > "novakidDescription" : "I wouldnΓÇÖt trust anythinΓÇÖ with \"toxic\" in the name.", objects\farmables\toxictop\wildtoxictopseed.object 6c6 < "description" : "A Toxic Top. Toxic, but also top!", --- > "description" : "Toxic looking fruit, but is it all that bad?", 15,17c15,17 < "floranDescription" : "Floran feed Toxic Tops to friends as joke.", < "glitchDescription" : "Analysis. This plant is toxic to every known species bar penguins.", < "humanDescription" : "A toxic pineapple. My favourite dish.", --- > "floranDescription" : "Floran feeds toxic tops to friendsss for fun.", > "glitchDescription" : "Perplexed. This plant is toxic to every known species bar penguins.", > "humanDescription" : "A toxic pineapple, for when a regular pineapple just isn't toxic enough.", 18a19 > "novakidDescription" : "I wouldnΓÇÖt trust anythinΓÇÖ with \"toxic\" in the name.", objects\farmables\wartweed\wartweedseed.object 6c6 < "description" : "Wartweed! It has a tough skin, regrows easily.", --- > "description" : "Not a fussy plant, wartweed grow easily under any condition.", 12c12 < "apexDescription" : "An easily-sustainable crop.", --- > "apexDescription" : "Wartweed is an easily-sustainable crop.", 14,17c14,18 < "floranDescription" : "Perfeccct for Floran to eat or kick.", < "glitchDescription" : "Statement. The wartweed's skin is almost as tough as the Glitch's.", < "humanDescription" : "Looking at this plant makes me feel a bit weird.", < "hylotlDescription" : "A tough, dull plant favoured by poor farmers.", --- > "floranDescription" : "Warweedss are perfect for Floran to eat or kick.", > "glitchDescription" : "Observant. The skin of a wartweed is almost as tough as mine", > "humanDescription" : "Looking at a warweed makes me feel a bit weird.", > "hylotlDescription" : "Wartweed are tough, dull plants favoured for their ability to thrive in poor conditions.", > "novakidDescription" : "I canΓÇÖt see a use for a crop so tough as a wartweed.", objects\farmables\wartweed\wildwartweedseed.object 6c6 < "description" : "Wartweed! It has a tough skin, regrows easily.", --- > "description" : "Not a fussy plant, wartweed grow easily under any condition.", 13c13 < "apexDescription" : "An easily-sustainable crop.", --- > "apexDescription" : "Wartweed is an easily-sustainable crop.", 15,18c15,19 < "floranDescription" : "Perfeccct for Floran to eat or kick.", < "glitchDescription" : "Statement. The wartweed's skin is almost as tough as the Glitch's.", < "humanDescription" : "Looking at this plant makes me feel a bit weird.", < "hylotlDescription" : "A tough, dull plant favoured by poor farmers.", --- > "floranDescription" : "Warweedss are perfect for Floran to eat or kick.", > "glitchDescription" : "Observant. The skin of a wartweed is almost as tough as mine", > "humanDescription" : "Looking at a warweed makes me feel a bit weird.", > "hylotlDescription" : "Wartweed are tough, dull plants favoured for their ability to thrive in poor conditions.", > "novakidDescription" : "I canΓÇÖt see a use for a crop so tough as a wartweed.", objects\farmables\wheat\wheatseed.object 6c6 < "description" : "Wheat-- a staple crop!", --- > "description" : "Wheat, a staple crop with many uses.", 12,16c12,16 < "apexDescription" : "Wheat is unpleasant on its own, but can be used to make banana bread.", < "avianDescription" : "Delicious on its own, or when used to make breadcrumbs.", < "floranDescription" : "Wheat has earsss. Floran pull off earsss.", < "glitchDescription" : "Scientific. The Glitch wonder if all possible uses for wheat have been discovered yet.", < "humanDescription" : "Wheat. Maybe it's time to bake some fresh bread.", --- > "apexDescription" : "Wheat is unpleasant when unprocressed, but can be used to make all manner of dishes.", > "avianDescription" : "Wheat is delicious on its own, or when used to make breadcrumbs.", > "floranDescription" : "Wheat has earsss. Floran pull off earsss for fun.", > "glitchDescription" : "Thoughtful. I wonder if all the possible uses for wheat have been found.", > "humanDescription" : "Wheat, perfect for baking some fresh bread.", 17a18 > "novakidDescription" : "I get a hankerin' for fresh bread whenever I see wheat.", objects\farmables\wheat\wildwheatseed.object 6c6 < "description" : "Wheat-- a staple crop!", --- > "description" : "Wheat, a staple crop with many uses.", 13,17c13,17 < "apexDescription" : "Wheat is unpleasant on its own, but can be used to make banana bread.", < "avianDescription" : "Delicious on its own, or when used to make breadcrumbs.", < "floranDescription" : "Wheat has earsss. Floran pull off earsss.", < "glitchDescription" : "Scientific. The Glitch wonder if all possible uses for wheat have been discovered yet.", < "humanDescription" : "Wheat. Maybe it's time to bake some fresh bread.", --- > "apexDescription" : "Wheat is unpleasant when unprocressed, but can be used to make all manner of dishes.", > "avianDescription" : "Wheat is delicious on its own, or when used to make breadcrumbs.", > "floranDescription" : "Wheat has earsss. Floran pull off earsss for fun.", > "glitchDescription" : "Thoughtful. I wonder if all the possible uses for wheat have been found.", > "humanDescription" : "Wheat, perfect for baking some fresh bread.", 18a19 > "novakidDescription" : "I get a hankerin' for fresh bread whenever I see wheat.", objects\floran\floranbench\floranbench.object 14c14 < "glitchDescription" : "Perceptive. There is logic in the construction of this bench that one would assume is beyond the Floran.", --- > "glitchDescription" : "Skeptical. There is logic in the construction of this bench that one would assume is beyond the Floran.", 16a17 > "novakidDescription" : "This bench seems as good a place as any to park my keister.", objects\floran\floranbonedisplay1\floranbonedisplay1.object 8c8 < "description" : "Whoa! What kind of bone is that?", --- > "description" : "The result of a successful Floran hunt.", 12,13c12,13 < "apexDescription" : "A gigantic bone. It looks like a trophy.", < "avianDescription" : "What huge creature did this originate from?", --- > "apexDescription" : "A gigantic bone being displayed like a trophy.", > "avianDescription" : "What huge creature did this bone originate from?", 15c15 < "glitchDescription" : "Extrapolate. Based on the size of this bone, the creature it came from is likely bigger than an entire Glitch castle.", --- > "glitchDescription" : "Fearful. Based on the size of this bone, the creature it came from is likely bigger than an entire Glitch castle.", 17c17,18 < "hylotlDescription" : "What creature did the Floran kill to obtain this... trophy?", --- > "hylotlDescription" : "What creature did the Floran kill to obtain this... Trophy?", > "novakidDescription" : "It must've taken some serious skill to take this guy down.", objects\floran\floranstoragelocker\floranstoragelocker.object 11c11 < "shortdescription" : "Storage Locker", --- > "shortdescription" : "Floran Storage Locker", 12a13,20 > > "apexDescription" : "A locker made from metal.", > "avianDescription" : "A place to keep your things.", > "floranDescription" : "Floran can ssstuff things into locker.", > "glitchDescription" : "Neutral. A metallic storage locker.", > "humanDescription" : "It's an industrial looking storage locker.", > "hylotlDescription" : "Somewhere to store personal belongings.", > "novakidDescription" : "A locker in the wall.", objects\generic\arcadegame\arcadegameobject.lua 3c3 < world.spawnItem(entity.configParameter("winningItem"), vec2.add(entity.position(), {0, 3})) --- > world.spawnItem(config.getParameter("winningItem"), vec2.add(object.position(), {0, 3})) objects\generic\foodbowl\foodbowl.lua 6c6 < entity.setAnimationState("bowl", "full") --- > animator.setAnimationState("bowl", "full") 11c11 < entity.setAnimationState("bowl", "empty") --- > animator.setAnimationState("bowl", "empty") objects\glitch\anvil\anvil.object 17c17 < "file" : "/interface/crafting/anvil.png" --- > "file" : "/interface/crafting/craftinganvil.png" objects\glitch\glitchstoragelocker\glitchstoragelocker.object 5c5 < "printable" : false, --- > "category" : "storage", 6a7 > "printable" : false, 9,10d9 < < "category" : "storage", 12c11 < "shortdescription" : "Storage Locker", --- > "shortdescription" : "Glitch Storage Locker", 13a13,20 > > "apexDescription" : "A locker made from metal.", > "avianDescription" : "A place to keep your things.", > "floranDescription" : "Floran can ssstuff things into locker.", > "glitchDescription" : "Neutral. A metallic storage locker.", > "humanDescription" : "It's an industrial looking storage locker.", > "hylotlDescription" : "Somewhere to store personal belongings.", > "novakidDescription" : "A locker in the wall.", objects\holiday\giftmonsterbox\giftmonsterbox.lua 7,8c7,8 < world.spawnMonster(entity.configParameter("monsterType"), entity.position()) < entity.smash() --- > world.spawnMonster(config.getParameter("monsterType"), object.position()) > object.smash() objects\human\bunkerrobotfactory\behavior.lua 12c12 < entity.setInteractive(false) --- > object.setInteractive(false) 34c34 < local animation = entity.animationState("movement") --- > local animation = animator.animationState("movement") 40c40 < entity.setAnimationState("movement", desiredAnimation) --- > animator.setAnimationState("movement", desiredAnimation) 43c43 < entity.setAnimationState("movement", "close") --- > animator.setAnimationState("movement", "close") 53c53 < if #self.spawnedEntityIds >= entity.configParameter("maxSpawnedRobots") then return nil end --- > if #self.spawnedEntityIds >= config.getParameter("maxSpawnedRobots") then return nil end 69c69 < local animation = entity.animationState("movement") --- > local animation = animator.animationState("movement") 72c72 < return true, entity.configParameter("spawnCooldownTime") --- > return true, config.getParameter("spawnCooldownTime") 79c79 < if not stateData.spawned and stateData.timer > entity.configParameter("spawnTime") then --- > if not stateData.spawned and stateData.timer > config.getParameter("spawnTime") then 89c89 < return vec2.add(entity.position(), entity.configParameter(configKey)) --- > return vec2.add(object.position(), config.getParameter(configKey)) objects\human\humanstoragelocker\humanstoragelocker.object 5c5 < "printable" : false, --- > "category" : "storage", 6a7 > "printable" : false, 9,10d9 < < "category" : "storage", 12c11 < "shortdescription" : "Storage Locker", --- > "shortdescription" : "Human Storage Locker", 13a13,20 > > "apexDescription" : "A locker made from metal.", > "avianDescription" : "A place to keep your things.", > "floranDescription" : "Floran can ssstuff things into locker.", > "glitchDescription" : "Neutral. A metallic storage locker.", > "humanDescription" : "It's an industrial looking storage locker.", > "hylotlDescription" : "Somewhere to store personal belongings.", > "novakidDescription" : "A locker in the wall.", objects\hylotl\hylotlredalert\hylotlredalert.lua 3c3 < self.alarmSoundDuration = entity.configParameter("alarmSoundDuration") --- > self.alarmSoundDuration = config.getParameter("alarmSoundDuration") 5c5 < self.lightColor = entity.configParameter("lightColor", {0, 187, 255}) --- > self.lightColor = config.getParameter("lightColor", {0, 187, 255}) 9,10c9,10 < if entity.getInboundNodeLevel(0) then < entity.setAnimationState("alarmState", "on") --- > if object.getInboundNodeLevel(0) then > animator.setAnimationState("alarmState", "on") 13c13 < entity.setLightColor({lightWave * self.lightColor[1], lightWave * self.lightColor[2], lightWave * self.lightColor[3]}) --- > object.setLightColor({lightWave * self.lightColor[1], lightWave * self.lightColor[2], lightWave * self.lightColor[3]}) 16c16 < entity.playSound("alarm") --- > animator.playSound("alarm") 23,24c23,24 < entity.setAnimationState("alarmState", "off") < entity.setLightColor({0, 0, 0, 0}) --- > animator.setAnimationState("alarmState", "off") > object.setLightColor({0, 0, 0, 0}) objects\hylotl\hylotlstoragelocker\hylotlstoragelocker.object 11c11 < "shortdescription" : "Storage Locker", --- > "shortdescription" : "Hylotl Storage Locker", 12a13,20 > > "apexDescription" : "A locker made from metal.", > "avianDescription" : "A place to keep your things.", > "floranDescription" : "Floran can ssstuff things into locker.", > "glitchDescription" : "Neutral. A metallic storage locker.", > "humanDescription" : "It's an industrial looking storage locker.", > "hylotlDescription" : "Somewhere to store personal belongings.", > "novakidDescription" : "A locker in the wall.", objects\mission\lunarbaselaser\lunarbaselaser.lua 5c5 < entity.setInteractive(true) --- > object.setInteractive(true) 8c8 < entity.setOutboundNodeLevel(1, storage.missionComplete) --- > object.setOutboundNodeLevel(1, storage.missionComplete) 16c16 < entity.playSound("blip") --- > animator.playSound("blip") 18c18 < entity.playSound("activate") --- > animator.playSound("activate") 27c27 < entity.playSound("error") --- > animator.playSound("error") 35c35 < entity.playSound("charge") --- > animator.playSound("charge") 37c37 < entity.setAnimationState("laserState", "on") --- > animator.setAnimationState("laserState", "on") 41,46c41,46 < entity.setOutboundNodeLevel(0, true) < local power = entity.configParameter("projectilePower") < local projectile = entity.configParameter("projectileType") < local offset = entity.configParameter("projectileOffset") < world.spawnProjectile(projectile, entity.toAbsolutePosition(offset), entity.id(), {0, 1}, true, {power = power, damageType = "IgnoresDef"}) < entity.playSound("fire") --- > object.setOutboundNodeLevel(0, true) > local power = config.getParameter("projectilePower") > local projectile = config.getParameter("projectileType") > local offset = config.getParameter("projectileOffset") > world.spawnProjectile(projectile, object.toAbsolutePosition(offset), entity.id(), {0, 1}, true, {power = power, damageType = "IgnoresDef"}) > animator.playSound("fire") 49c49 < entity.setOutboundNodeLevel(0, false) --- > object.setOutboundNodeLevel(0, false) 53c53 < entity.setAnimationState("laserState", "off."..activeNodes) --- > animator.setAnimationState("laserState", "off."..activeNodes) 55c55 < entity.setAnimationState("laserState", "charged") --- > animator.setAnimationState("laserState", "charged") 63c63 < if entity.getInboundNodeLevel(i) then --- > if object.getInboundNodeLevel(i) then 72c72 < entity.setOutboundNodeLevel(1, true) --- > object.setOutboundNodeLevel(1, true) objects\mission\proximitywallsensor\proximitywallsensor.lua 2,5c2,5 < self.detectEntityTypes = entity.configParameter("detectEntityTypes") < self.detectBoundMode = entity.configParameter("detectBoundMode", "CollisionArea") < local detectArea = entity.configParameter("detectArea") < local pos = entity.position() --- > self.detectEntityTypes = config.getParameter("detectEntityTypes") > self.detectBoundMode = config.getParameter("detectBoundMode", "CollisionArea") > local detectArea = config.getParameter("detectArea") > local pos = object.position() 20,22c20,22 < entity.setInteractive(entity.configParameter("interactive", true)) < entity.setAllOutboundNodes(false) < entity.setAnimationState("switchState", "off") --- > object.setInteractive(config.getParameter("interactive", true)) > object.setAllOutboundNodes(false) > animator.setAnimationState("switchState", "off") 27,29c27,29 < entity.setAllOutboundNodes(true) < entity.setAnimationState("switchState", "on") < self.triggerTimer = entity.configParameter("detectDuration") --- > object.setAllOutboundNodes(true) > animator.setAnimationState("switchState", "on") > self.triggerTimer = config.getParameter("detectDuration") 48,49c48,49 < entity.setAllOutboundNodes(false) < entity.setAnimationState("switchState", "off") --- > object.setAllOutboundNodes(false) > animator.setAnimationState("switchState", "off") objects\mission\templepressureplatform\templepressureplatform.object 51,52c51,52 < "stayClosedTime" : 0.5, // before the platform disappears < "stayOpenTime" : 3.0 // after the platform has disappeared and all players have left --- > "stayClosedTime" : 0.18, // before the platform disappears > "stayOpenTime" : 2.0 // after the platform has disappeared and all players have left objects\noisy\noisy.lua 2,4c2,4 < self.sounds = entity.configParameter("sounds", {}) < entity.setSoundPool("noise", self.sounds) < entity.setInteractive(true) --- > self.sounds = config.getParameter("sounds", {}) > animator.setSoundPool("noise", self.sounds) > object.setInteractive(true) 9c9 < entity.playSound("noise") --- > animator.playSound("noise") 14c14 < local interact = entity.configParameter("npcToy.interactOnNpcPlayStart") --- > local interact = config.getParameter("npcToy.interactOnNpcPlayStart") objects\novakid\novakidstoragelocker\novakidstoragelocker.object 5c5 < "printable" : false, --- > "category" : "storage", 6a7 > "printable" : false, 9,10d9 < < "category" : "storage", 12c11 < "shortdescription" : "Storage Locker", --- > "shortdescription" : "Novakid Storage Locker", 13a13,20 > > "apexDescription" : "A locker made from metal.", > "avianDescription" : "A place to keep your things.", > "floranDescription" : "Floran can ssstuff things into locker.", > "glitchDescription" : "Neutral. A metallic storage locker.", > "humanDescription" : "It's an industrial looking storage locker.", > "hylotlDescription" : "Somewhere to store personal belongings.", > "novakidDescription" : "A locker in the wall.", objects\outpost\customsign\customsign.lua 2,6c2,6 < self.signDirectiveStrings = entity.configParameter("signData") < self.lightFrames = entity.configParameter("lightData") < self.signLight = entity.configParameter("signLight") < self.signBacking = entity.configParameter("signBacking") < self.frameColors = entity.configParameter("frameColors") --- > self.signDirectiveStrings = config.getParameter("signData") > self.lightFrames = config.getParameter("lightData") > self.signLight = config.getParameter("signLight") > self.signBacking = config.getParameter("signBacking") > self.frameColors = config.getParameter("frameColors") 8c8 < entity.setAnimationState("displayedState", "idle") --- > animator.setAnimationState("displayedState", "idle") 10,11c10,11 < self.isWired = entity.configParameter("isWired") < self.isContainer = entity.configParameter("isContainer") --- > self.isWired = config.getParameter("isWired") > self.isContainer = config.getParameter("isContainer") 15,16c15,16 < entity.setInteractive(not entity.isInboundNodeConnected(0)) < entity.setAllOutboundNodes(storage.isOn) --- > object.setInteractive(not object.isInboundNodeConnected(0)) > object.setAllOutboundNodes(storage.isOn) 19c19 < self.scanCooldown = entity.configParameter("scanCooldown", 1) --- > self.scanCooldown = config.getParameter("scanCooldown", 1) 22c22 < self.drawCooldown = entity.configParameter("drawCooldown", 0.5) --- > self.drawCooldown = config.getParameter("drawCooldown", 0.5) 55,57c55,57 < entity.setInteractive(not entity.isInboundNodeConnected(0)) < if entity.isInboundNodeConnected(0) then < onInboundNodeChange({ level = entity.getInboundNodeLevel(0) }) --- > object.setInteractive(not object.isInboundNodeConnected(0)) > if object.isInboundNodeConnected(0) then > onInboundNodeChange({ level = object.getInboundNodeLevel(0) }) 72c72 < entity.setAllOutboundNodes(storage.isOn) --- > object.setAllOutboundNodes(storage.isOn) 78c78 < entity.setLightColor({math.random(0,255), math.random(0,255), math.random(0,255), math.random(0,255)}) --- > object.setLightColor({math.random(0,255), math.random(0,255), math.random(0,255), math.random(0,255)}) 83c83 < entity.setAllOutboundNodes(false) --- > object.setAllOutboundNodes(false) 87c87 < entity.setAllOutboundNodes(true) --- > object.setAllOutboundNodes(true) 144c144 < --world.logInfo("%s %s at %s", entity.name(), entity.id(), entity.position()) --- > --world.logInfo("%s %s at %s", object.name(), entity.id(), object.position()) 149,150c149,150 < if world.tileIsOccupied({entity.position()[1] + v[1][1], entity.position()[2] + v[1][2]}) then < local nearObjects = world.entityQuery({entity.position()[1] + v[1][1] + 0.5, entity.position()[2] + v[1][2] + 0.5}, 0.2, { includedTypes = { "object" }, boundMode = "CollisionArea", withoutEntityId = entity.id() }) --- > if world.tileIsOccupied({object.position()[1] + v[1][1], object.position()[2] + v[1][2]}) then > local nearObjects = world.entityQuery({object.position()[1] + v[1][1] + 0.5, object.position()[2] + v[1][2] + 0.5}, 0.2, { includedTypes = { "object" }, boundMode = "CollisionArea", withoutEntityId = entity.id() }) 153c153 < local signPos = world.distance(world.entityPosition(objectId) , entity.position()) --- > local signPos = world.distance(world.entityPosition(objectId) , object.position()) 194c194 < -- entity.setLightColor({lightRGB[1], lightRGB[2], lightRGB[3], 255}) --- > -- object.setLightColor({lightRGB[1], lightRGB[2], lightRGB[3], 255}) 196c196 < -- entity.setLightColor({0, 0, 0, 0}) --- > -- object.setLightColor({0, 0, 0, 0}) 199c199 < entity.setLightColor(convertRGBAtoArray(self.signLight)) --- > object.setLightColor(convertRGBAtoArray(self.signLight)) 201c201 < entity.setLightColor({0, 0, 0, 0}) --- > object.setLightColor({0, 0, 0, 0}) 217c217 < entity.setProcessingDirectives(storage.storedDirectiveString..frameDirectiveString) --- > object.setProcessingDirectives(storage.storedDirectiveString..frameDirectiveString) objects\outpost\frogfurnishing\frogfurnishing.lua 2c2 < self.buyFactor = entity.configParameter("buyFactor", root.assetJson("/merchant.config").defaultBuyFactor) --- > self.buyFactor = config.getParameter("buyFactor", root.assetJson("/merchant.config").defaultBuyFactor) 4c4 < entity.setInteractive(true) --- > object.setInteractive(true) 8c8 < local interactData = entity.configParameter("interactData") --- > local interactData = config.getParameter("interactData") 17c17 < local storeInventory = entity.configParameter("storeInventory") --- > local storeInventory = config.getParameter("storeInventory") 22c22 < local featureCycle = math.floor(os.time() / (entity.configParameter("rotationTime") * #storeInventory.featured)) --- > local featureCycle = math.floor(os.time() / (config.getParameter("rotationTime") * #storeInventory.featured)) 26c26 < local currentFeature = math.floor(os.time() / entity.configParameter("rotationTime")) % #storeInventory.featured + 1 --- > local currentFeature = math.floor(os.time() / config.getParameter("rotationTime")) % #storeInventory.featured + 1 objects\outpost\penguinbay\penguinbay.lua 2,4c2,4 < self.detectArea = entity.configParameter("detectArea") < self.detectArea[1] = entity.toAbsolutePosition(self.detectArea[1]) < self.detectArea[2] = entity.toAbsolutePosition(self.detectArea[2]) --- > self.detectArea = config.getParameter("detectArea") > self.detectArea[1] = object.toAbsolutePosition(self.detectArea[1]) > self.detectArea[2] = object.toAbsolutePosition(self.detectArea[2]) 6c6 < entity.setAnimationState("proximity", "off") --- > animator.setAnimationState("proximity", "off") 15,18c15,18 < if #players > 0 and entity.animationState("proximity") == "off" then < entity.setAnimationState("proximity", "open") < elseif #players == 0 and entity.animationState("proximity") == "on" then < entity.setAnimationState("proximity", "close") --- > if #players > 0 and animator.animationState("proximity") == "off" then > animator.setAnimationState("proximity", "open") > elseif #players == 0 and animator.animationState("proximity") == "on" then > animator.setAnimationState("proximity", "close") 23c23 < local chatOptions = entity.configParameter("chatOptions", {}) --- > local chatOptions = config.getParameter("chatOptions", {}) 25c25 < entity.say(chatOptions[math.random(1, #chatOptions)]) --- > object.say(chatOptions[math.random(1, #chatOptions)]) objects\outpost\repairo\repairo.lua 2c2 < self.chatOptions = entity.configParameter("chatOptions", {}) --- > self.chatOptions = config.getParameter("chatOptions", {}) 9c9 < local players = world.entityQuery(entity.position(), entity.configParameter("chatRadius"), { --- > local players = world.entityQuery(object.position(), config.getParameter("chatRadius"), { 15,16c15,16 < entity.say(self.chatOptions[math.random(1, #self.chatOptions)]) < self.chatTimer = entity.configParameter("chatCooldown") --- > object.say(self.chatOptions[math.random(1, #self.chatOptions)]) > self.chatTimer = config.getParameter("chatCooldown") 27c27 < healthFactor = math.min(healthFactor + entity.configParameter("chipRepairFactor", 1.0), 1.0) --- > healthFactor = math.min(healthFactor + config.getParameter("chipRepairFactor", 1.0), 1.0) objects\outpost\signstore\signdispenser.lua 3c3 < matchingEaselList = world.objectQuery({entity.position()[1]-4,entity.position()[2]},1) --- > matchingEaselList = world.objectQuery({object.position()[1]-4,object.position()[2]},1) objects\outpost\signstore\signstoreobject.lua 2c2 < storeData(entity.configParameter("storedStorage"), entity.configParameter("storedTemplates")) --- > storeData(config.getParameter("storedStorage"), config.getParameter("storedTemplates")) 17c17 < local matchingCabinetList = world.objectQuery({entity.position()[1]+7,entity.position()[2]},1) --- > local matchingCabinetList = world.objectQuery({object.position()[1]+7,object.position()[2]},1) objects\scripts\autofill.lua 2c2 < self.autofillContents = entity.configParameter("autofillContents", {}) --- > self.autofillContents = config.getParameter("autofillContents", {}) objects\spawner\monsterspawner.lua 0a1,2 > require "/scripts/util.lua" > 2c4 < self = entity.configParameter("spawner") --- > self = config.getParameter("spawner") 4c6 < world.logInfo("Monster spawner at %s is missing configuration! Prepare for some serious Lua errors!", entity.position()) --- > world.logInfo("Monster spawner at %s is missing configuration! Prepare for some serious Lua errors!", object.position()) 8,10c10,12 < entity.setInteractive(self.trigger == "interact") < self.position = entity.toAbsolutePosition(self.position) < storage.cooldown = storage.cooldown or entity.randomizeParameterRange("spawner.frequency") --- > object.setInteractive(self.trigger == "interact") > self.position = object.toAbsolutePosition(self.position) > storage.cooldown = storage.cooldown or util.randomInRange(config.getParameter("spawner.frequency")) 24c26 < if storage.cooldown <= 0 and ((not self.trigger) or (self.trigger == "wire" and entity.getInboundNodeLevel(0))) then --- > if storage.cooldown <= 0 and ((not self.trigger) or (self.trigger == "wire" and object.getInboundNodeLevel(0))) then 26c28 < storage.cooldown = entity.randomizeParameterRange("spawner.frequency") --- > storage.cooldown = util.randomInRange(config.getParameter("spawner.frequency")) 44,45c46,47 < local monsterType = entity.randomizeParameter("spawner.monsterTypes") < self.monsterParams.level = entity.randomizeParameterRange("spawner.monsterLevel") --- > local monsterType = util.randomFromList(config.getParameter("spawner.monsterTypes")) > self.monsterParams.level = util.randomInRange(config.getParameter("spawner.monsterLevel")) objects\spawner\shippetspawner.lua 6,7c6,7 < self.monsterType = entity.configParameter("shipPetType", "petcat") < self.spawnOffset = entity.configParameter("spawnOffset", {0, 2}) --- > self.monsterType = config.getParameter("shipPetType", "petcat") > self.spawnOffset = config.getParameter("spawnOffset", {0, 2}) 30c30 < self.petId = world.spawnMonster(self.monsterType, entity.toAbsolutePosition(self.spawnOffset), storage.petParams) --- > self.petId = world.spawnMonster(self.monsterType, object.toAbsolutePosition(self.spawnOffset), storage.petParams) objects\spawner\spawners\spawner.lua 0a1,2 > require "/scripts/util.lua" > 2,3c4,5 < entity.setInteractive(false) < entity.setAnimationState("switchState", "on") --- > object.setInteractive(false) > animator.setAnimationState("switchState", "on") 7c9 < if world.isVisibleToPlayer(entity.boundBox()) then --- > if world.isVisibleToPlayer(object.boundBox()) then 10,15c12,17 < local npcSpecies = entity.randomizeParameter("spawner.npcSpeciesOptions") < local npcType = entity.randomizeParameter("spawner.npcTypeOptions") < local npcParameter = entity.randomizeParameter("spawner.npcParameterOptions") < npcParameter.scriptConfig = { spawnedBy = entity.position() } < world.spawnNpc(entity.toAbsolutePosition({ 0.0, 2.0 }), npcSpecies, npcType, math.max(entity.level(), 1), nil, npcParameter); < entity.smash() --- > local npcSpecies = util.randomFromList(config.getParameter("spawner.npcSpeciesOptions")) > local npcType = util.randomFromList(config.getParameter("spawner.npcTypeOptions")) > local npcParameter = util.randomFromList(config.getParameter("spawner.npcParameterOptions")) > npcParameter.scriptConfig = { spawnedBy = object.position() } > world.spawnNpc(object.toAbsolutePosition({ 0.0, 2.0 }), npcSpecies, npcType, math.max(object.level(), 1), nil, npcParameter); > object.smash() objects\themed\island\hulagirl\hulagirl.lua 2,3c2,3 < entity.setInteractive(true) < entity.setAnimationState("sway", "stop") --- > object.setInteractive(true) > animator.setAnimationState("sway", "stop") 7c7 < entity.setAnimationState("sway", "sway1") --- > animator.setAnimationState("sway", "sway1") objects\themed\saloon\saloondoor\saloondoor.lua 2,3c2,3 < local detectArea = entity.configParameter("detectArea") < local pos = entity.position() --- > local detectArea = config.getParameter("detectArea") > local pos = object.position() 20c20 < if entity.animationState("doorState") == "closed" then --- > if animator.animationState("doorState") == "closed" then 29,30c29,30 < entity.setAnimationState("doorState", "swingRight") < entity.playSound("swing") --- > animator.setAnimationState("doorState", "swingRight") > animator.playSound("swing") 32,33c32,33 < entity.setAnimationState("doorState", "swingLeft") < entity.playSound("swing") --- > animator.setAnimationState("doorState", "swingLeft") > animator.playSound("swing") 40,41c40,41 < local relative = {position[1] - entity.position()[1], position[2] - entity.position()[2]} < for _, space in ipairs(entity.spaces()) do --- > local relative = {position[1] - object.position()[1], position[2] - object.position()[2]} > for _, space in ipairs(object.spaces()) do objects\wired\alarm\alarm.lua 3c3 < self.alarmSoundDuration = entity.configParameter("alarmSoundDuration") --- > self.alarmSoundDuration = config.getParameter("alarmSoundDuration") 5c5 < self.lightColor = entity.configParameter("lightColor", {255, 0, 0}) --- > self.lightColor = config.getParameter("lightColor", {255, 0, 0}) 9,10c9,10 < if entity.getInboundNodeLevel(0) then < entity.setAnimationState("alarmState", "on") --- > if object.getInboundNodeLevel(0) then > animator.setAnimationState("alarmState", "on") 13c13 < entity.setLightColor({lightWave * self.lightColor[1], lightWave * self.lightColor[2], lightWave * self.lightColor[3]}) --- > object.setLightColor({lightWave * self.lightColor[1], lightWave * self.lightColor[2], lightWave * self.lightColor[3]}) 16c16 < entity.playSound("alarm") --- > animator.playSound("alarm") 23,24c23,24 < entity.setAnimationState("alarmState", "off") < entity.setLightColor({0, 0, 0, 0}) --- > animator.setAnimationState("alarmState", "off") > object.setLightColor({0, 0, 0, 0}) objects\wired\door\door.lua 2c2 < setDirection(storage.doorDirection or entity.direction()) --- > setDirection(storage.doorDirection or object.direction()) 5c5 < storage.locked = entity.configParameter("locked", false) --- > storage.locked = config.getParameter("locked", false) 11c11 < entity.setAnimationState("doorState", storage.state and "open" or "closed") --- > animator.setAnimationState("doorState", storage.state and "open" or "closed") 21,22c21,22 < if entity.isInboundNodeConnected(0) then < onInboundNodeChange({ level = entity.getInboundNodeLevel(0) }) --- > if object.isInboundNodeConnected(0) then > onInboundNodeChange({ level = object.getInboundNodeLevel(0) }) 36c36 < entity.playSound("locked") --- > animator.playSound("locked") 48c48 < entity.setLightColor(entity.configParameter("closedLight", {0,0,0,0})) --- > object.setLightColor(config.getParameter("closedLight", {0,0,0,0})) 50c50 < entity.setLightColor(entity.configParameter("openLight", {0,0,0,0})) --- > object.setLightColor(config.getParameter("openLight", {0,0,0,0})) 55c55 < entity.setInteractive(entity.configParameter("interactive", true) and not entity.isInboundNodeConnected(0)) --- > object.setInteractive(config.getParameter("interactive", true) and not object.isInboundNodeConnected(0)) 59,60c59,60 < entity.setColliding(not storage.state) < entity.setAllOutboundNodes(storage.state) --- > object.setColliding(not storage.state) > object.setAllOutboundNodes(storage.state) 65c65 < entity.setGlobalTag("doorDirection", direction < 0 and "Left" or "Right") --- > animator.setGlobalTag("doorDirection", direction < 0 and "Left" or "Right") 69c69 < if entity.isInboundNodeConnected(0) or storage.locked then --- > if object.isInboundNodeConnected(0) or storage.locked then 83,84c83,84 < local relative = {position[1] - entity.position()[1], position[2] - entity.position()[2]} < for _, space in ipairs(entity.spaces()) do --- > local relative = {position[1] - object.position()[1], position[2] - object.position()[2]} > for _, space in ipairs(object.spaces()) do 99,100c99,100 < entity.playSound("close") < entity.setAnimationState("doorState", "locking") --- > animator.playSound("close") > animator.setAnimationState("doorState", "locking") 103c103 < entity.setAnimationState("doorState", "locked") --- > animator.setAnimationState("doorState", "locked") 112c112 < entity.setAnimationState("doorState", "closed") --- > animator.setAnimationState("doorState", "closed") 119,120c119,120 < entity.playSound("close") < entity.setAnimationState("doorState", "closing") --- > animator.playSound("close") > animator.setAnimationState("doorState", "closing") 130,132c130,132 < setDirection((direction == nil or direction * entity.direction() < 0) and -1 or 1) < entity.playSound("open") < entity.setAnimationState("doorState", "open") --- > setDirection((direction == nil or direction * object.direction() < 0) and -1 or 1) > animator.playSound("open") > animator.setAnimationState("doorState", "open") objects\wired\door\trapdoor.lua 9,12c9,12 < self.detectEntityTypes = entity.configParameter("detectEntityTypes", {"player", "npc"}) < self.detectBoundMode = entity.configParameter("detectBoundMode", "CollisionArea") < local detectArea = entity.configParameter("detectArea") < local pos = entity.position() --- > self.detectEntityTypes = config.getParameter("detectEntityTypes", {"player", "npc"}) > self.detectBoundMode = config.getParameter("detectBoundMode", "CollisionArea") > local detectArea = config.getParameter("detectArea") > local pos = object.position() 14c14 < local boundBox = entity.boundBox() --- > local boundBox = object.boundBox() 33,34c33,34 < self.stayClosedTime = entity.configParameter("stayClosedTime", 0.5) < self.stayOpenTime = entity.configParameter("stayOpenTime", 0.5) --- > self.stayClosedTime = config.getParameter("stayClosedTime", 0.5) > self.stayOpenTime = config.getParameter("stayOpenTime", 0.5) 39c39 < entity.setInteractive(false) --- > object.setInteractive(false) 43,44c43,44 < if not entity.isInboundNodeConnected(0) then < if entity.animationState("doorState") == "closed" then --- > if not object.isInboundNodeConnected(0) then > if animator.animationState("doorState") == "closed" then 54c54 < elseif entity.animationState("doorState") == "open" then --- > elseif animator.animationState("doorState") == "open" then objects\wired\drain\drain.lua 2c2 < self.drainPos = entity.position() --- > self.drainPos = object.position() 15c15 < entity.setAnimationState("drainState", "on") --- > animator.setAnimationState("drainState", "on") 17c17 < entity.setAnimationState("drainState", "off") --- > animator.setAnimationState("drainState", "off") 30c30 < if not entity.isInboundNodeConnected(0) or entity.getInboundNodeLevel(0) then --- > if not object.isInboundNodeConnected(0) or object.getInboundNodeLevel(0) then objects\wired\forcepad\forcepad.lua 14c14 < local active = not entity.isInboundNodeConnected(0) or entity.getInboundNodeLevel(0) --- > local active = not object.isInboundNodeConnected(0) or object.getInboundNodeLevel(0) 16c16 < entity.setAnimationState("padState", active and "on" or "off") --- > animator.setAnimationState("padState", active and "on" or "off") objects\wired\invisiblesound\invisiblesound.lua 14c14 < local newState = entity.isInboundNodeConnected(0) and entity.getInboundNodeLevel(0) --- > local newState = object.isInboundNodeConnected(0) and object.getInboundNodeLevel(0) 18,20c18,20 < entity.playSound("on") < entity.setSoundEffectEnabled(true) < entity.setAnimationState("soundState", "on") --- > animator.playSound("on") > object.setSoundEffectEnabled(true) > animator.setAnimationState("soundState", "on") 22,24c22,24 < entity.playSound("off") < entity.setSoundEffectEnabled(false) < entity.setAnimationState("soundState", "off") --- > animator.playSound("off") > object.setSoundEffectEnabled(false) > animator.setAnimationState("soundState", "off") objects\wired\ironbeacon\decoyprincess.lua 2c2 < if world.underground(entity.position()) then --- > if world.underground(object.position()) then 6,7c6,7 < local ll = entity.toAbsolutePosition({ -4.0, 1.0 }) < local tr = entity.toAbsolutePosition({ 4.0, 32.0 }) --- > local ll = object.toAbsolutePosition({ -4.0, 1.0 }) > local tr = object.toAbsolutePosition({ 4.0, 32.0 }) 19c19 < entity.setInteractive(true) --- > object.setInteractive(true) 26,28c26,28 < entity.smash() < world.spawnProjectile("regularexplosionknockback", entity.toAbsolutePosition({ 0.0, 1.0 })) < world.spawnMonster("dragonboss", entity.toAbsolutePosition({ 0.0, 30.0 }), { level = 3 }) --- > object.smash() > world.spawnProjectile("regularexplosionknockback", object.toAbsolutePosition({ 0.0, 1.0 })) > world.spawnMonster("dragonboss", object.toAbsolutePosition({ 0.0, 30.0 }), { level = 3 }) objects\wired\ironbeacon\ironbeacon.lua 2c2 < if world.underground(entity.position()) then --- > if world.underground(object.position()) then 6,7c6,7 < local ll = entity.toAbsolutePosition({ -4.0, 1.0 }) < local tr = entity.toAbsolutePosition({ 4.0, 32.0 }) --- > local ll = object.toAbsolutePosition({ -4.0, 1.0 }) > local tr = object.toAbsolutePosition({ 4.0, 32.0 }) 19c19 < entity.setInteractive(true) --- > object.setInteractive(true) 21c21 < entity.setAnimationState("beaconState", "idle") --- > animator.setAnimationState("beaconState", "idle") 23c23 < entity.setAnimationState("beaconState", "active") --- > animator.setAnimationState("beaconState", "active") 29c29 < entity.setAnimationState("beaconState", "idle") --- > animator.setAnimationState("beaconState", "idle") 32,35c32,35 < entity.setAnimationState("beaconState", "active") < world.spawnProjectile("regularexplosionknockback", entity.toAbsolutePosition({ 0.0, 1.0 })) < entity.smash() < world.spawnMonster("penguinUfo", entity.toAbsolutePosition({ 0.0, 32.0 }), { level = 1 }) --- > animator.setAnimationState("beaconState", "active") > world.spawnProjectile("regularexplosionknockback", object.toAbsolutePosition({ 0.0, 1.0 })) > object.smash() > world.spawnMonster("penguinUfo", object.toAbsolutePosition({ 0.0, 32.0 }), { level = 1 }) objects\wired\ironbeacon\jellyboss.lua 2c2 < if world.underground(entity.position()) then --- > if world.underground(object.position()) then 6,7c6,7 < local ll = entity.toAbsolutePosition({ -4.0, 1.0 }) < local tr = entity.toAbsolutePosition({ 4.0, 32.0 }) --- > local ll = object.toAbsolutePosition({ -4.0, 1.0 }) > local tr = object.toAbsolutePosition({ 4.0, 32.0 }) 19c19 < entity.setInteractive(true) --- > object.setInteractive(true) 26,30c26,30 < entity.smash() < world.spawnProjectile("regularexplosionknockback", entity.toAbsolutePosition({ 0.0, 1.0 })) < world.spawnMonster("jellyboss", entity.toAbsolutePosition({ 0.0, 40.0 }), { level = 4 }) < world.spawnMonster("skeyejelly", entity.toAbsolutePosition({ 20.0, 40.0 }), { level = 4 }) < world.spawnMonster("skeyejelly", entity.toAbsolutePosition({ -20.0, 40.0 }), { level = 4 }) --- > object.smash() > world.spawnProjectile("regularexplosionknockback", object.toAbsolutePosition({ 0.0, 1.0 })) > world.spawnMonster("jellyboss", object.toAbsolutePosition({ 0.0, 40.0 }), { level = 4 }) > world.spawnMonster("skeyejelly", object.toAbsolutePosition({ 20.0, 40.0 }), { level = 4 }) > world.spawnMonster("skeyejelly", object.toAbsolutePosition({ -20.0, 40.0 }), { level = 4 }) objects\wired\ironbeacon\robot.lua 2c2 < if world.underground(entity.position()) then --- > if world.underground(object.position()) then 6,7c6,7 < local ll = entity.toAbsolutePosition({ -4.0, 1.0 }) < local tr = entity.toAbsolutePosition({ 4.0, 32.0 }) --- > local ll = object.toAbsolutePosition({ -4.0, 1.0 }) > local tr = object.toAbsolutePosition({ 4.0, 32.0 }) 19c19 < entity.setInteractive(true) --- > object.setInteractive(true) 26,28c26,28 < entity.smash() < world.spawnProjectile("robotwake", entity.toAbsolutePosition({ 0.0, 1.0 })) < world.spawnMonster("robotboss", entity.toAbsolutePosition({ 0.0, 5.0 }), { level = 2 }) --- > object.smash() > world.spawnProjectile("robotwake", object.toAbsolutePosition({ 0.0, 1.0 })) > world.spawnMonster("robotboss", object.toAbsolutePosition({ 0.0, 5.0 }), { level = 2 }) objects\wired\landmine\landmine.lua 2,4c2,4 < entity.setInteractive(true) < entity.setAllOutboundNodes(false) < entity.setAnimationState("switchState", "off") --- > object.setInteractive(true) > object.setAllOutboundNodes(false) > animator.setAnimationState("switchState", "off") 9,12c9,12 < entity.setAllOutboundNodes(true) < entity.setAnimationState("switchState", "on") < if entity.configParameter("firstProjectile") ~= nil then < world.spawnProjectile(entity.configParameter("firstProjectile"), entity.toAbsolutePosition({ 0.0, 0.2 })) --- > object.setAllOutboundNodes(true) > animator.setAnimationState("switchState", "on") > if config.getParameter("firstProjectile") ~= nil then > world.spawnProjectile(config.getParameter("firstProjectile"), object.toAbsolutePosition({ 0.0, 0.2 })) 14c14 < self.projectileCooldown = entity.configParameter("timer") --- > self.projectileCooldown = config.getParameter("timer") 25,26c25,26 < if entity.configParameter("secondProjectile") ~= nil then < world.spawnProjectile(entity.configParameter("secondProjectile"), entity.toAbsolutePosition({ 0.0, 0.2 })) --- > if config.getParameter("secondProjectile") ~= nil then > world.spawnProjectile(config.getParameter("secondProjectile"), object.toAbsolutePosition({ 0.0, 0.2 })) 28c28 < entity.smash() --- > object.smash() 31,32c31,32 < local radius = entity.configParameter("detectRadius") < local entityIds = world.entityQuery(entity.position(), radius, { includedTypes = {"creature"} }) --- > local radius = config.getParameter("detectRadius") > local entityIds = world.entityQuery(object.position(), radius, { includedTypes = {"creature"} }) 34c34 < if entity.isTouching(entityIds[1]) then --- > if object.isTouching(entityIds[1]) then objects\wired\light\light.lua 2c2 < if storage.state == nil then storage.state = entity.configParameter("defaultLightState", true) end --- > if storage.state == nil then storage.state = config.getParameter("defaultLightState", true) end 4,5c4,5 < self.interactive = entity.configParameter("interactive", true) < entity.setInteractive(self.interactive) --- > self.interactive = config.getParameter("interactive", true) > object.setInteractive(self.interactive) 7c7 < if entity.configParameter("inboundNodes") then --- > if config.getParameter("inboundNodes") then 23c23 < if not entity.configParameter("inboundNodes") or not entity.isInboundNodeConnected(0) then --- > if not config.getParameter("inboundNodes") or not object.isInboundNodeConnected(0) then 30,32c30,32 < if entity.isInboundNodeConnected(0) then < entity.setInteractive(false) < storage.state = entity.getInboundNodeLevel(0) --- > if object.isInboundNodeConnected(0) then > object.setInteractive(false) > storage.state = object.getInboundNodeLevel(0) 35c35 < entity.setInteractive(true) --- > object.setInteractive(true) 41,44c41,44 < entity.setAnimationState("light", "on") < entity.setSoundEffectEnabled(true) < if entity.hasSound("on") then < entity.playSound("on"); --- > animator.setAnimationState("light", "on") > object.setSoundEffectEnabled(true) > if animator.hasSound("on") then > animator.playSound("on"); 47c47 < entity.setLightColor(entity.configParameter("lightColor", {255, 255, 255})) --- > object.setLightColor(config.getParameter("lightColor", {255, 255, 255})) 49,52c49,52 < entity.setAnimationState("light", "off") < entity.setSoundEffectEnabled(false) < if entity.hasSound("off") then < entity.playSound("off"); --- > animator.setAnimationState("light", "off") > object.setSoundEffectEnabled(false) > if animator.hasSound("off") then > animator.playSound("off"); 54c54 < entity.setLightColor({0, 0, 0, 0}) --- > object.setLightColor({0, 0, 0, 0}) objects\wired\lightsensor\lightsensor.lua 2,3c2,3 < self.detectThresholdHigh = entity.configParameter("detectThresholdHigh") < self.detectThresholdLow = entity.configParameter("detectThresholdLow") --- > self.detectThresholdHigh = config.getParameter("detectThresholdHigh") > self.detectThresholdLow = config.getParameter("detectThresholdLow") 7c7 < local sample = world.lightLevel(entity.position()) --- > local sample = world.lightLevel(object.position()) 15,16c15,16 < entity.setOutboundNodeLevel(0, true) < entity.setAnimationState("sensorState", "med") --- > object.setOutboundNodeLevel(0, true) > animator.setAnimationState("sensorState", "med") 18,19c18,19 < entity.setOutboundNodeLevel(0, false) < entity.setAnimationState("sensorState", "min") --- > object.setOutboundNodeLevel(0, false) > animator.setAnimationState("sensorState", "min") 23,24c23,24 < entity.setOutboundNodeLevel(1, true) < entity.setAnimationState("sensorState", "max") --- > object.setOutboundNodeLevel(1, true) > animator.setAnimationState("sensorState", "max") 26c26 < entity.setOutboundNodeLevel(1, false) --- > object.setOutboundNodeLevel(1, false) objects\wired\lightsensor\unwiredlightsensor.lua 2,3c2,3 < self.detectThresholdHigh = entity.configParameter("detectThresholdHigh") < self.detectThresholdLow = entity.configParameter("detectThresholdLow") --- > self.detectThresholdHigh = config.getParameter("detectThresholdHigh") > self.detectThresholdLow = config.getParameter("detectThresholdLow") 7c7 < local sample = world.lightLevel(entity.position()) --- > local sample = world.lightLevel(object.position()) 15c15 < entity.setAnimationState("sensorState", "med") --- > animator.setAnimationState("sensorState", "med") 17c17 < entity.setAnimationState("sensorState", "min") --- > animator.setAnimationState("sensorState", "min") 21c21 < entity.setAnimationState("sensorState", "max") --- > animator.setAnimationState("sensorState", "max") 23c23 < entity.setAnimationState("sensorState", "min") --- > animator.setAnimationState("sensorState", "min") objects\wired\liquidsensor\liquidsensor.lua 2c2 < return world.liquidAt(entity.position()) --- > return world.liquidAt(object.position()) 9,10c9,10 < entity.setOutboundNodeLevel(0, false) < entity.setAnimationState("sensorState", "off") --- > object.setOutboundNodeLevel(0, false) > animator.setAnimationState("sensorState", "off") 12,13c12,13 < entity.setOutboundNodeLevel(0, true) < entity.setAnimationState("sensorState", "water") --- > object.setOutboundNodeLevel(0, true) > animator.setAnimationState("sensorState", "water") 15,16c15,16 < entity.setOutboundNodeLevel(0, true) < entity.setAnimationState("sensorState", "poison") --- > object.setOutboundNodeLevel(0, true) > animator.setAnimationState("sensorState", "poison") 18,19c18,19 < entity.setOutboundNodeLevel(0, true) < entity.setAnimationState("sensorState", "lava") --- > object.setOutboundNodeLevel(0, true) > animator.setAnimationState("sensorState", "lava") 21,22c21,22 < entity.setOutboundNodeLevel(0, true) < entity.setAnimationState("sensorState", "other") --- > object.setOutboundNodeLevel(0, true) > animator.setAnimationState("sensorState", "other") objects\wired\logic\countdowntimer.lua 3c3 < storage.timerDuration = storage.timerDuration or entity.configParameter("duration", 5) --- > storage.timerDuration = storage.timerDuration or config.getParameter("duration", 5) 7c7 < entity.setInteractive(true) --- > object.setInteractive(true) 11c11 < if entity.getInboundNodeLevel(0) then --- > if object.getInboundNodeLevel(0) then 17c17 < entity.setOutboundNodeLevel(0, storage.timer > 0) --- > object.setOutboundNodeLevel(0, storage.timer > 0) 24c24 < entity.setAnimationState("timerState", "on"..storage.timerDuration) --- > animator.setAnimationState("timerState", "on"..storage.timerDuration) 26c26 < entity.setAnimationState("timerState", "count"..math.ceil(storage.timer)) --- > animator.setAnimationState("timerState", "count"..math.ceil(storage.timer)) 28c28 < entity.setAnimationState("timerState", "off"..storage.timerDuration) --- > animator.setAnimationState("timerState", "off"..storage.timerDuration) objects\wired\logic\delay.lua 2c2 < self.queueSize = math.floor(entity.configParameter("delay", 1.0) / script.updateDt() + 0.5) --- > self.queueSize = math.floor(config.getParameter("delay", 1.0) / script.updateDt() + 0.5) 18c18 < self.queue[self.index] = entity.getInboundNodeLevel(0) --- > self.queue[self.index] = object.getInboundNodeLevel(0) 25c25 < entity.setOutboundNodeLevel(0, state) --- > object.setOutboundNodeLevel(0, state) 27c27 < entity.setAnimationState("switchState", "on") --- > animator.setAnimationState("switchState", "on") 29c29 < entity.setAnimationState("switchState", "off") --- > animator.setAnimationState("switchState", "off") objects\wired\logic\dlatch.lua 2c2 < entity.setInteractive(false) --- > object.setInteractive(false) 13c13 < entity.setAllOutboundNodes(state) --- > object.setAllOutboundNodes(state) 15c15 < entity.setAnimationState("switchState", "on") --- > animator.setAnimationState("switchState", "on") 17c17 < entity.setAnimationState("switchState", "off") --- > animator.setAnimationState("switchState", "off") 24,25c24,25 < if entity.getInboundNodeLevel(1) then < output(entity.getInboundNodeLevel(0)) --- > if object.getInboundNodeLevel(1) then > output(object.getInboundNodeLevel(0)) objects\wired\logic\logic.lua 2c2 < entity.setInteractive(false) --- > object.setInteractive(false) 6c6 < entity.setAllOutboundNodes(storage.state) --- > object.setAllOutboundNodes(storage.state) 8c8 < entity.setAnimationState("switchState", "on") --- > animator.setAnimationState("switchState", "on") 10c10 < entity.setAnimationState("switchState", "off") --- > animator.setAnimationState("switchState", "off") 13,14c13,14 < self.gates = entity.configParameter("gates") < self.truthtable = entity.configParameter("truthtable") --- > self.gates = config.getParameter("gates") > self.truthtable = config.getParameter("truthtable") 20c20 < entity.setAllOutboundNodes(state) --- > object.setAllOutboundNodes(state) 22c22 < entity.setAnimationState("switchState", "on") --- > animator.setAnimationState("switchState", "on") 24c24 < entity.setAnimationState("switchState", "off") --- > animator.setAnimationState("switchState", "off") 39c39 < output(self.truthtable[toIndex(entity.getInboundNodeLevel(0))]) --- > output(self.truthtable[toIndex(object.getInboundNodeLevel(0))]) 41c41 < output(self.truthtable[toIndex(entity.getInboundNodeLevel(0))][toIndex(entity.getInboundNodeLevel(1))]) --- > output(self.truthtable[toIndex(object.getInboundNodeLevel(0))][toIndex(object.getInboundNodeLevel(1))]) 43c43 < output(self.truthtable[toIndex(entity.getInboundNodeLevel(0))][toIndex(entity.getInboundNodeLevel(1))][toIndex(entity.getInboundNodeLevel(2))]) --- > output(self.truthtable[toIndex(object.getInboundNodeLevel(0))][toIndex(object.getInboundNodeLevel(1))][toIndex(object.getInboundNodeLevel(2))]) objects\wired\logic\timer.lua 10c10 < self.interval = entity.configParameter("interval") --- > self.interval = config.getParameter("interval") 16c16 < entity.setAllOutboundNodes(state) --- > object.setAllOutboundNodes(state) 18c18 < entity.setAnimationState("switchState", "on") --- > animator.setAnimationState("switchState", "on") 20c20 < entity.setAnimationState("switchState", "off") --- > animator.setAnimationState("switchState", "off") 27c27 < if (not entity.isInboundNodeConnected(0)) or entity.getInboundNodeLevel(0) then --- > if (not object.isInboundNodeConnected(0)) or object.getInboundNodeLevel(0) then objects\wired\momentaryswitch\momentaryswitch.lua 2c2 < entity.setInteractive(true) --- > object.setInteractive(true) 11c11 < self.interval = entity.configParameter("interval") --- > self.interval = config.getParameter("interval") 19c19 < entity.playSound("on"); --- > animator.playSound("on"); 30c30 < entity.setAllOutboundNodes(state) --- > object.setAllOutboundNodes(state) 32,33c32,33 < entity.setAnimationState("switchState", "on") < entity.playSound("on"); --- > animator.setAnimationState("switchState", "on") > animator.playSound("on"); 35,36c35,36 < entity.setAnimationState("switchState", "off") < entity.playSound("off"); --- > animator.setAnimationState("switchState", "off") > animator.playSound("off"); objects\wired\movingplatform\movingplatform.lua 7,9c7,9 < self.platformStart = entity.configParameter("platformStart") < self.platformEnd = entity.configParameter("platformEnd") < self.platformMoveTime = entity.configParameter("platformMoveTime") --- > self.platformStart = config.getParameter("platformStart") > self.platformEnd = config.getParameter("platformEnd") > self.platformMoveTime = config.getParameter("platformMoveTime") 13c13 < if not entity.isInboundNodeConnected(0) then --- > if not object.isInboundNodeConnected(0) then 15c15 < elseif entity.getInboundNodeLevel(0) then --- > elseif object.getInboundNodeLevel(0) then 56c56 < entity.setAnimationState("moving", "off") --- > animator.setAnimationState("moving", "off") 58c58 < entity.setAnimationState("moving", "on") --- > animator.setAnimationState("moving", "on") 63,64c63,64 < entity.resetTransformationGroup("platform") < entity.translateTransformationGroup("platform", pos) --- > animator.resetTransformationGroup("platform") > animator.translateTransformationGroup("platform", pos) 67c67 < entity.playSound("changeDir") --- > animator.playSound("changeDir") objects\wired\projectiletrap\projectiletrap.lua 7c7 < entity.setSoundEffectEnabled(storage.active) --- > object.setSoundEffectEnabled(storage.active) 9,14c9,14 < self.fireTime = entity.configParameter("fireTime", 1) < self.fireTimeVariance = entity.configParameter("fireTimeVariance", 0) < self.projectile = entity.configParameter("projectile") < self.projectileConfig = entity.configParameter("projectileConfig", {}) < self.projectilePosition = entity.configParameter("projectilePosition", {0, 0}) < self.projectileDirection = entity.configParameter("projectileDirection", {1, 0}) --- > self.fireTime = config.getParameter("fireTime", 1) > self.fireTimeVariance = config.getParameter("fireTimeVariance", 0) > self.projectile = config.getParameter("projectile") > self.projectileConfig = config.getParameter("projectileConfig", {}) > self.projectilePosition = config.getParameter("projectilePosition", {0, 0}) > self.projectileDirection = config.getParameter("projectileDirection", {1, 0}) 16c16 < self.projectilePosition = entity.toAbsolutePosition(self.projectilePosition) --- > self.projectilePosition = object.toAbsolutePosition(self.projectilePosition) 38c38 < entity.playSound("shoot") --- > animator.playSound("shoot") 43c43 < local active = (not entity.isInboundNodeConnected(0)) or entity.getInboundNodeLevel(0) --- > local active = (not object.isInboundNodeConnected(0)) or object.getInboundNodeLevel(0) 48,51c48,51 < entity.setAnimationState("trapState", "on") < entity.setLightColor(entity.configParameter("activeLightColor", {0, 0, 0, 0})) < entity.setSoundEffectEnabled(true) < entity.playSound("on"); --- > animator.setAnimationState("trapState", "on") > object.setLightColor(config.getParameter("activeLightColor", {0, 0, 0, 0})) > object.setSoundEffectEnabled(true) > animator.playSound("on"); 53,56c53,56 < entity.setAnimationState("trapState", "off") < entity.setLightColor(entity.configParameter("inactiveLightColor", {0, 0, 0, 0})) < entity.setSoundEffectEnabled(false) < entity.playSound("off"); --- > animator.setAnimationState("trapState", "off") > object.setLightColor(config.getParameter("inactiveLightColor", {0, 0, 0, 0})) > object.setSoundEffectEnabled(false) > animator.playSound("off"); objects\wired\proximitysensor\proximitysensor.lua 2,5c2,5 < self.detectEntityTypes = entity.configParameter("detectEntityTypes") < self.detectBoundMode = entity.configParameter("detectBoundMode", "CollisionArea") < local detectArea = entity.configParameter("detectArea") < local pos = entity.position() --- > self.detectEntityTypes = config.getParameter("detectEntityTypes") > self.detectBoundMode = config.getParameter("detectBoundMode", "CollisionArea") > local detectArea = config.getParameter("detectArea") > local pos = object.position() 20,22c20,22 < entity.setInteractive(entity.configParameter("interactive", true)) < entity.setAllOutboundNodes(false) < entity.setAnimationState("switchState", "off") --- > object.setInteractive(config.getParameter("interactive", true)) > object.setAllOutboundNodes(false) > animator.setAnimationState("switchState", "off") 27,29c27,29 < entity.setAllOutboundNodes(true) < entity.setAnimationState("switchState", "on") < self.triggerTimer = entity.configParameter("detectDuration") --- > object.setAllOutboundNodes(true) > animator.setAnimationState("switchState", "on") > self.triggerTimer = config.getParameter("detectDuration") 48,49c48,49 < entity.setAllOutboundNodes(false) < entity.setAnimationState("switchState", "off") --- > object.setAllOutboundNodes(false) > animator.setAnimationState("switchState", "off") objects\wired\proximitysensor\proximitysensor.object 9,10c9,10 < "description" : "Watch your step!", < "shortdescription" : "Proximity Sensor", --- > "description" : "This pressure plate activates when stepped on.", > "shortdescription" : "Pressure Plate", objects\wired\shieldgenerator\shieldgenerator.lua 4c4 < self.dungeonId = world.dungeonId(entity.position()) --- > self.dungeonId = world.dungeonId(object.position()) 6c6 < entity.setInteractive(entity.configParameter("interactive", true) and not (entity.inboundNodeCount() > 0 and entity.isInboundNodeConnected(0))) --- > object.setInteractive(config.getParameter("interactive", true) and not (object.inboundNodeCount() > 0 and object.isInboundNodeConnected(0))) 9c9 < storage.state = entity.configParameter("defaultState", true); --- > storage.state = config.getParameter("defaultState", true); 14,15c14,15 < if entity.outboundNodeCount() > 0 then < entity.setOutboundNodeLevel(0, storage.state) --- > if object.outboundNodeCount() > 0 then > object.setOutboundNodeLevel(0, storage.state) 26c26 < entity.setInteractive(entity.configParameter("interactive", true) and not entity.isInboundNodeConnected(0)) --- > object.setInteractive(config.getParameter("interactive", true) and not object.isInboundNodeConnected(0)) 30c30 < output(entity.getInboundNodeLevel(0)) --- > output(object.getInboundNodeLevel(0)) 38,39c38,39 < if entity.outboundNodeCount() > 0 then < entity.setOutboundNodeLevel(0, storage.state) --- > if object.outboundNodeCount() > 0 then > object.setOutboundNodeLevel(0, storage.state) 48,49c48,49 < if entity.configParameter("explodeOnSmash") and smash then < world.spawnProjectile(entity.configParameter("explosionProjectile"), vec2.add(entity.position(), entity.configParameter("explosionOffset", {0,0})), entity.id(), {0,0}) --- > if config.getParameter("explodeOnSmash") and smash then > world.spawnProjectile(config.getParameter("explosionProjectile"), vec2.add(object.position(), config.getParameter("explosionOffset", {0,0})), entity.id(), {0,0}) 55,57c55,57 < entity.setAnimationState("switchState", "on") < if not (entity.configParameter("alwaysLit")) then entity.setLightColor(entity.configParameter("lightColor", {0, 0, 0, 0})) end < entity.playSound("on"); --- > animator.setAnimationState("switchState", "on") > if not (config.getParameter("alwaysLit")) then object.setLightColor(config.getParameter("lightColor", {0, 0, 0, 0})) end > animator.playSound("on"); 59,61c59,61 < entity.setAnimationState("switchState", "off") < if not (entity.configParameter("alwaysLit")) then entity.setLightColor({0, 0, 0, 0}) end < entity.playSound("off"); --- > animator.setAnimationState("switchState", "off") > if not (config.getParameter("alwaysLit")) then object.setLightColor({0, 0, 0, 0}) end > animator.playSound("off"); objects\wired\standingturret\standingturret.lua 6,8c6,8 < self.baseOffset = entity.configParameter("baseOffset") < self.basePosition = vec2.add(entity.position(), self.baseOffset) < self.tipOffset = entity.configParameter("tipOffset") --This is offset from BASE position, not object origin --- > self.baseOffset = config.getParameter("baseOffset") > self.basePosition = vec2.add(object.position(), self.baseOffset) > self.tipOffset = config.getParameter("tipOffset") --This is offset from BASE position, not object origin 10,11c10,11 < self.rotationSpeed = util.toRadians(entity.configParameter("rotationSpeed")) < self.offAngle = util.toRadians(entity.configParameter("offAngle", -30)) --- > self.rotationSpeed = util.toRadians(config.getParameter("rotationSpeed")) > self.offAngle = util.toRadians(config.getParameter("offAngle", -30)) 14,17c14,17 < self.targetQueryRange = entity.configParameter("targetQueryRange") < self.targetMinRange = entity.configParameter("targetMinRange") < self.targetMaxRange = entity.configParameter("targetMaxRange") < self.targetAngleRange = util.toRadians(entity.configParameter("targetAngleRange")) --- > self.targetQueryRange = config.getParameter("targetQueryRange") > self.targetMinRange = config.getParameter("targetMinRange") > self.targetMaxRange = config.getParameter("targetMaxRange") > self.targetAngleRange = util.toRadians(config.getParameter("targetAngleRange")) 22,28c22,28 < self.energyRegen = entity.configParameter("energyRegen") < self.maxEnergy = entity.configParameter("maxEnergy") < self.energyRegenBlock = entity.configParameter("energyRegenBlock") < < self.energyBarOffset = entity.configParameter("energyBarOffset") < self.verticalScaling = entity.configParameter("verticalScaling") < entity.translateTransformationGroup("energy", self.energyBarOffset) --- > self.energyRegen = config.getParameter("energyRegen") > self.maxEnergy = config.getParameter("maxEnergy") > self.energyRegenBlock = config.getParameter("energyRegenBlock") > > self.energyBarOffset = config.getParameter("energyBarOffset") > self.verticalScaling = config.getParameter("verticalScaling") > animator.translateTransformationGroup("energy", self.energyBarOffset) 31c31 < entity.setInteractive(false) --- > object.setInteractive(false) 64,66c64,66 < entity.resetTransformationGroup("energy") < entity.scaleTransformationGroup("energy", scale) < entity.translateTransformationGroup("energy", self.energyBarOffset) --- > animator.resetTransformationGroup("energy") > animator.scaleTransformationGroup("energy", scale) > animator.translateTransformationGroup("energy", self.energyBarOffset) 68c68 < entity.setAnimationState("energy", animationState) --- > animator.setAnimationState("energy", animationState) 75,76c75,76 < entity.setAnimationState("attack", "dead") < entity.playSound("powerDown") --- > animator.setAnimationState("attack", "dead") > animator.playSound("powerDown") 79c79 < entity.rotateGroup("gun", self.offAngle) --- > animator.rotateGroup("gun", self.offAngle) 85c85 < entity.playSound("powerUp") --- > animator.playSound("powerUp") 91c91 < entity.setAnimationState("attack", "idle") --- > animator.setAnimationState("attack", "idle") 93c93 < entity.playSound("scan") --- > animator.playSound("scan") 97,98c97,98 < local scanInterval = entity.configParameter("scanInterval") < local scanAngle = util.toRadians(entity.configParameter("scanAngle")) --- > local scanInterval = config.getParameter("scanInterval") > local scanAngle = util.toRadians(config.getParameter("scanAngle")) 111c111 < entity.rotateGroup("gun", scanAngle * math.sin(timer * math.pi*2)) --- > animator.rotateGroup("gun", scanAngle * math.sin(timer * math.pi*2)) 123,124c123,124 < entity.setAnimationState("attack", "attack") < entity.playSound("foundTarget") --- > animator.setAnimationState("attack", "attack") > animator.playSound("foundTarget") 126c126 < local maxFireAngle = util.toRadians(entity.configParameter("maxFireAngle")) --- > local maxFireAngle = util.toRadians(config.getParameter("maxFireAngle")) 137c137 < local targetAngle = math.atan(toTarget[2], entity.direction() * toTarget[1]) --- > local targetAngle = math.atan(toTarget[2], object.direction() * toTarget[1]) 142c142 < entity.rotateGroup("gun", targetAngle) --- > animator.rotateGroup("gun", targetAngle) 144c144 < local rotation = entity.currentRotationAngle("gun") --- > local rotation = animator.currentRotationAngle("gun") 167,168c167,168 < if entity.isInboundNodeConnected(0) then < return entity.getInboundNodeLevel(0) --- > if object.isInboundNodeConnected(0) then > return object.getInboundNodeLevel(0) 176,178c176,178 < local animationPosition = vec2.div(entity.configParameter("animationPosition"), 8) < local fireOffset = vec2.add(animationPosition, entity.partPoint("gun", "projectileSource")) < return vec2.add(entity.position(), fireOffset) --- > local animationPosition = vec2.div(config.getParameter("animationPosition"), 8) > local fireOffset = vec2.add(animationPosition, animator.partPoint("gun", "projectileSource")) > return vec2.add(object.position(), fireOffset) 184c184 < local power = entity.configParameter("power", 2) --- > local power = config.getParameter("power", 2) 186,188c186,188 < local fireTime = entity.configParameter("fireTime", 0.1) < local projectileParameters = entity.configParameter("projectileParameters", {}) < local energyUsage = entity.configParameter("energyUsage") --- > local fireTime = config.getParameter("fireTime", 0.1) > local projectileParameters = config.getParameter("projectileParameters", {}) > local energyUsage = config.getParameter("energyUsage") 193,194c193,194 < local rotation = entity.currentRotationAngle("gun") < local aimVector = {entity.direction() * math.cos(rotation), math.sin(rotation)} --- > local rotation = animator.currentRotationAngle("gun") > local aimVector = {object.direction() * math.cos(rotation), math.sin(rotation)} 196c196 < entity.playSound("fire") --- > animator.playSound("fire") 209c209 < local targetAngle = math.atan(toTarget[2], entity.direction() * toTarget[1]) --- > local targetAngle = math.atan(toTarget[2], object.direction() * toTarget[1]) objects\wired\standingturret\standingturret.object 21c21 < [ [ "circuitboard", 1, { } ], [ "laserdiode", 1, { } ] ] --- > [ [ "siliconboard", 1, { } ], [ "laserdiode", 1, { } ] ] objects\wired\switch\persistentswitch.lua 2c2 < entity.setInteractive(entity.configParameter("interactive", true)) --- > object.setInteractive(config.getParameter("interactive", true)) 4c4 < output(entity.configParameter("defaultSwitchState", false)) --- > output(config.getParameter("defaultSwitchState", false)) 27,30c27,30 < entity.setAnimationState("switchState", "on") < if not (entity.configParameter("alwaysLit")) then entity.setLightColor(entity.configParameter("lightColor", {0, 0, 0, 0})) end < entity.playSound("on"); < entity.setAllOutboundNodes(true) --- > animator.setAnimationState("switchState", "on") > if not (config.getParameter("alwaysLit")) then object.setLightColor(config.getParameter("lightColor", {0, 0, 0, 0})) end > animator.playSound("on"); > object.setAllOutboundNodes(true) 32,35c32,35 < entity.setAnimationState("switchState", "off") < if not (entity.configParameter("alwaysLit")) then entity.setLightColor({0, 0, 0, 0}) end < entity.playSound("off"); < entity.setAllOutboundNodes(false) --- > animator.setAnimationState("switchState", "off") > if not (config.getParameter("alwaysLit")) then object.setLightColor({0, 0, 0, 0}) end > animator.playSound("off"); > object.setAllOutboundNodes(false) objects\wired\switch\switch.lua 2c2 < entity.setInteractive(true) --- > object.setInteractive(true) 4c4 < output(entity.configParameter("defaultSwitchState", false)) --- > output(config.getParameter("defaultSwitchState", false)) 25,29c25,29 < entity.setAnimationState("switchState", "on") < if not (entity.configParameter("alwaysLit")) then entity.setLightColor(entity.configParameter("lightColor", {0, 0, 0, 0})) end < entity.setSoundEffectEnabled(true) < entity.playSound("on"); < entity.setAllOutboundNodes(true) --- > animator.setAnimationState("switchState", "on") > if not (config.getParameter("alwaysLit")) then object.setLightColor(config.getParameter("lightColor", {0, 0, 0, 0})) end > object.setSoundEffectEnabled(true) > animator.playSound("on"); > object.setAllOutboundNodes(true) 31,35c31,35 < entity.setAnimationState("switchState", "off") < if not (entity.configParameter("alwaysLit")) then entity.setLightColor({0, 0, 0, 0}) end < entity.setSoundEffectEnabled(false) < entity.playSound("off"); < entity.setAllOutboundNodes(false) --- > animator.setAnimationState("switchState", "off") > if not (config.getParameter("alwaysLit")) then object.setLightColor({0, 0, 0, 0}) end > object.setSoundEffectEnabled(false) > animator.playSound("off"); > object.setAllOutboundNodes(false) objects\wired\switch\switchwithinput.lua 2c2 < entity.setInteractive(entity.configParameter("interactive", true)) --- > object.setInteractive(config.getParameter("interactive", true)) 4c4 < output(entity.configParameter("defaultSwitchState", false)) --- > output(config.getParameter("defaultSwitchState", false)) 29,32c29,32 < entity.setAnimationState("switchState", "on") < if not (entity.configParameter("alwaysLit")) then entity.setLightColor(entity.configParameter("lightColor", {0, 0, 0, 0})) end < entity.playSound("on"); < entity.setAllOutboundNodes(true) --- > animator.setAnimationState("switchState", "on") > if not (config.getParameter("alwaysLit")) then object.setLightColor(config.getParameter("lightColor", {0, 0, 0, 0})) end > animator.playSound("on"); > object.setAllOutboundNodes(true) 34,37c34,37 < entity.setAnimationState("switchState", "off") < if not (entity.configParameter("alwaysLit")) then entity.setLightColor({0, 0, 0, 0}) end < entity.playSound("off"); < entity.setAllOutboundNodes(false) --- > animator.setAnimationState("switchState", "off") > if not (config.getParameter("alwaysLit")) then object.setLightColor({0, 0, 0, 0}) end > animator.playSound("off"); > object.setAllOutboundNodes(false) 42c42 < if entity.getInboundNodeLevel(0) and not storage.triggered then --- > if object.getInboundNodeLevel(0) and not storage.triggered then 45c45 < elseif storage.triggered and not entity.getInboundNodeLevel(0) then --- > elseif storage.triggered and not object.getInboundNodeLevel(0) then objects\wired\switch\switchwithinputalwayslit.lua 2c2 < entity.setInteractive(entity.configParameter("interactive", true)) --- > object.setInteractive(config.getParameter("interactive", true)) 4c4 < output(entity.configParameter("defaultSwitchState", false)) --- > output(config.getParameter("defaultSwitchState", false)) 25,27c25,27 < entity.setAnimationState("switchState", "on") < entity.playSound("on"); < entity.setAllOutboundNodes(true) --- > animator.setAnimationState("switchState", "on") > animator.playSound("on"); > object.setAllOutboundNodes(true) 29,31c29,31 < entity.setAnimationState("switchState", "off") < entity.playSound("off"); < entity.setAllOutboundNodes(false) --- > animator.setAnimationState("switchState", "off") > animator.playSound("off"); > object.setAllOutboundNodes(false) 36c36 < if entity.getInboundNodeLevel(0) and not storage.triggered then --- > if object.getInboundNodeLevel(0) and not storage.triggered then 39c39 < elseif storage.triggered and not entity.getInboundNodeLevel(0) then --- > elseif storage.triggered and not object.getInboundNodeLevel(0) then projectiles\activeitems\boomerang\boomerangprojectile.lua 4,11c4,11 < self.returning = config.configParameter("returning", false) < self.returnOnHit = config.configParameter("returnOnHit", false) < self.controlForce = config.configParameter("controlForce") < self.pickupDistance = config.configParameter("pickupDistance") < self.snapDistance = config.configParameter("snapDistance") < self.timeToLive = config.configParameter("timeToLive") < self.speed = config.configParameter("speed") < self.ignoreTerrain = config.configParameter("ignoreTerrain") --- > self.returning = config.getParameter("returning", false) > self.returnOnHit = config.getParameter("returnOnHit", false) > self.controlForce = config.getParameter("controlForce") > self.pickupDistance = config.getParameter("pickupDistance") > self.snapDistance = config.getParameter("snapDistance") > self.timeToLive = config.getParameter("timeToLive") > self.speed = config.getParameter("speed") > self.ignoreTerrain = config.getParameter("ignoreTerrain") projectiles\activeitems\boomerang\lunarangprojectile.lua 6,7c6,7 < self.shardCount = config.configParameter("shardCount", 1) < self.shardType = config.configParameter("shardType") --- > self.shardCount = config.getParameter("shardCount", 1) > self.shardType = config.getParameter("shardType") 17,18c17,18 < params.powerMultiplier = config.configParameter("powerMultiplier", 1.0) < params.power = config.configParameter("power") / self.shardCount --- > params.powerMultiplier = config.getParameter("powerMultiplier", 1.0) > params.power = config.getParameter("power") / self.shardCount projectiles\activeitems\boomerang\wormerangprojectile.lua 7,8c7,8 < self.wobbleRate = config.configParameter("wobbleRate") < self.wobbleIntensity = config.configParameter("wobbleIntensity") --- > self.wobbleRate = config.getParameter("wobbleRate") > self.wobbleIntensity = config.getParameter("wobbleIntensity") projectiles\activeitems\chakram\chakramprojectile.lua 4,8c4,8 < self.returning = config.configParameter("returning", false) < self.returnOnHit = config.configParameter("returnOnHit", false) < self.pickupDistance = config.configParameter("pickupDistance") < self.timeToLive = config.configParameter("timeToLive") < self.speed = config.configParameter("speed") --- > self.returning = config.getParameter("returning", false) > self.returnOnHit = config.getParameter("returnOnHit", false) > self.pickupDistance = config.getParameter("pickupDistance") > self.timeToLive = config.getParameter("timeToLive") > self.speed = config.getParameter("speed") 11,12c11,12 < self.maxDistance = config.configParameter("maxDistance") < self.stickTime = config.configParameter("stickTime", 0) --- > self.maxDistance = config.getParameter("maxDistance") > self.stickTime = config.getParameter("stickTime", 0) projectiles\activeitems\chakram\hoverchakramprojectile.lua 4,8c4,8 < self.returning = config.configParameter("returning", false) < self.returnOnHit = config.configParameter("returnOnHit", false) < self.pickupDistance = config.configParameter("pickupDistance") < self.timeToLive = config.configParameter("timeToLive") < self.speed = config.configParameter("speed") --- > self.returning = config.getParameter("returning", false) > self.returnOnHit = config.getParameter("returnOnHit", false) > self.pickupDistance = config.getParameter("pickupDistance") > self.timeToLive = config.getParameter("timeToLive") > self.speed = config.getParameter("speed") 11,12c11,12 < self.hoverMaxDistance = config.configParameter("hoverMaxDistance") < self.hoverTime = config.configParameter("hoverTime") --- > self.hoverMaxDistance = config.getParameter("hoverMaxDistance") > self.hoverTime = config.getParameter("hoverTime") 15c15 < local aimPosition = config.configParameter("ownerAimPosition") --- > local aimPosition = config.getParameter("ownerAimPosition") projectiles\activeitems\delaybullet\delaybullet.lua 4c4 < self.delayTimer = config.configParameter("delayTime") --- > self.delayTimer = config.getParameter("delayTime") 18c18 < mcontroller.setVelocity(vec2.mul(vec2.norm(mcontroller.velocity()), config.configParameter("triggerSpeed"))) --- > mcontroller.setVelocity(vec2.mul(vec2.norm(mcontroller.velocity()), config.getParameter("triggerSpeed"))) projectiles\activeitems\fuelaircloud\fuelaircloud.lua 2,3c2,3 < self.chainProjectile = config.configParameter("chainProjectile") < self.igniteAction = config.configParameter("igniteAction") --- > self.chainProjectile = config.getParameter("chainProjectile") > self.igniteAction = config.getParameter("igniteAction") 19c19 < if projectile.timeToLive() < config.configParameter("cutoffTime") then return end --- > if projectile.timeToLive() < config.getParameter("cutoffTime") then return end 24c24 < self.chainTimer = config.configParameter("chainTime") --- > self.chainTimer = config.getParameter("chainTime") projectiles\activeitems\guidedrocket\guidedrocket.lua 5,6c5,6 < self.trailProjectile = config.configParameter("trailProjectile") < self.trailDistance = config.configParameter("trailDistance") --- > self.trailProjectile = config.getParameter("trailProjectile") > self.trailDistance = config.getParameter("trailDistance") 18,19c18,19 < if math.abs(angleDelta) <= config.configParameter("maxTrackingAngle") then < local rotateAmount = util.clamp(angleDelta, -config.configParameter("rotationRate") * dt, config.configParameter("rotationRate") * dt) --- > if math.abs(angleDelta) <= config.getParameter("maxTrackingAngle") then > local rotateAmount = util.clamp(angleDelta, -config.getParameter("rotationRate") * dt, config.getParameter("rotationRate") * dt) projectiles\activeitems\translocatordisc\translocatordisc.lua 21c21 < local resolvedPoint = world.resolvePolyCollision(collidePoly, vec2.add(mcontroller.position(), config.configParameter("teleportOffset")), config.configParameter("teleportTolerance")) --- > local resolvedPoint = world.resolvePolyCollision(collidePoly, vec2.add(mcontroller.position(), config.getParameter("teleportOffset")), config.getParameter("teleportTolerance")) projectiles\boss\spiderboss\ixolingspawn.lua 13c13 < world.spawnMonster("ixoling", mcontroller.position(), { level = config.configParameter("level", 1.0) } ) --- > world.spawnMonster("ixoling", mcontroller.position(), { level = config.getParameter("level", 1.0) } ) projectiles\explosions\globeexplosions\redglobeexplosion\redglobeexplosion.projectile 13c13 < "damageTeam" : { "type" : "indiscriminate" }, --- > //"damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\lightblockexplosion\lightblockexplosion.projectile 11c11 < "damageTeam" : { "type" : "indiscriminate" }, --- > //"damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\vlightblockexplosion\vlightblockexplosion.projectile 11c11 < "damageTeam" : { "type" : "indiscriminate" }, --- > //"damageTeam" : { "type" : "indiscriminate" }, projectiles\guns\arrows\chargedicearrow\chargedicearrow.projectile 9c9 < "damageKindImage" : "/interface/statuses/cold.png", --- > "damageKindImage" : "/interface/statuses/ice.png", projectiles\guns\arrows\icebolt\icebolt.projectile 8c8 < "damageKindImage" : "/interface/statuses/cold.png", --- > "damageKindImage" : "/interface/statuses/ice.png", projectiles\guns\arrows\ironarrow\ironarrow.projectile 9c9 < "knockback" : 5, --- > "knockback" : 10, projectiles\guns\arrows\woodenarrow\woodenarrow.projectile 9c9 < "knockback" : 5, --- > "knockback" : 10, projectiles\guns\rockets\homingrocket\homingrocket.lua 4,5c4,5 < self.controlForce = config.configParameter("controlForce") < self.maxSpeed = config.configParameter("maxSpeed") --- > self.controlForce = config.getParameter("controlForce") > self.maxSpeed = config.getParameter("maxSpeed") projectiles\guns\rockets\minirocket\minirocket.lua 6,7c6,7 < self.maxSpeed = config.configParameter("maxSpeed") < self.controlForce = config.configParameter("controlForce") --- > self.maxSpeed = config.getParameter("maxSpeed") > self.controlForce = config.getParameter("controlForce") projectiles\guns\unsorted\icethrower\icethrower.projectile 16c16 < "damageKindImage" : "/interface/statuses/cold.png", --- > "damageKindImage" : "/interface/statuses/ice.png", projectiles\homingarrow\homingarrow.lua 5c5 < self.controlForce = config.configParameter("baseHomingControlForce") * self.targetSpeed --- > self.controlForce = config.getParameter("baseHomingControlForce") * self.targetSpeed projectiles\staves\racialstaves\crystal\cardinalschalcedony\chalcedonyspawner.projectile 27c27 < "type" : "regularexplosionuniversal", --- > "type" : "regularexplosion", 34c34 < "type" : "regularexplosionuniversal", --- > "type" : "regularexplosion", 42c42 < "type" : "regularexplosionuniversal", --- > "type" : "regularexplosion", 50c50 < "type" : "regularexplosionuniversal", --- > "type" : "regularexplosion", 58c58 < "type" : "regularexplosionuniversal", --- > "type" : "regularexplosion", 66c66 < "type" : "regularexplosionuniversal", --- > "type" : "regularexplosion", 74c74 < "type" : "regularexplosionuniversal", --- > "type" : "regularexplosion", 82c82 < "type" : "regularexplosionuniversal", --- > "type" : "regularexplosion", projectiles\staves\racialstaves\crystal\quetzalcoatlsquartz\quartzpulse\quartzpulse.projectile 11c11 < "damageTeam" : { "type" : "indiscriminate" }, --- > //"damageTeam" : { "type" : "indiscriminate" }, projectiles\swoosh\spear\frostspearswoosh\frostspearswoosh.projectile 14c14 < "damageKindImage" : "/interface/statuses/cold.png", --- > "damageKindImage" : "/interface/statuses/ice.png", projectiles\throwable\capturepod\capturepod.lua 4c4 < self.matchTypes = config.configParameter("capturableTypes") --- > self.matchTypes = config.getParameter("capturableTypes") quests\scripts\main.lua 13,14c13,14 < if quest.configParameter("completionLogValues") then < table.insert(conditions, buildPlayerLogCondition(quest.configParameter("completionLogValues"))) --- > if config.getParameter("completionLogValues") then > table.insert(conditions, buildPlayerLogCondition(config.getParameter("completionLogValues"))) 17,18c17,18 < if quest.configParameter("shipLevel") then < table.insert(conditions, buildShipLevelCondition(quest.configParameter("shipLevel"))) --- > if config.getParameter("shipLevel") then > table.insert(conditions, buildShipLevelCondition(config.getParameter("shipLevel"))) 21c21 < local gatherRequirements = quest.configParameter("gatherRequirements") --- > local gatherRequirements = config.getParameter("gatherRequirements") 31,32c31,32 < if quest.configParameter("scanObjects") then < table.insert(conditions, buildScanObjectsCondition(quest.configParameter("scanObjects"))) --- > if config.getParameter("scanObjects") then > table.insert(conditions, buildScanObjectsCondition(config.getParameter("scanObjects"))) 51c51 < local acceptItems = quest.configParameter("acceptItems", {}) --- > local acceptItems = config.getParameter("acceptItems", {}) 56c56 < local associatedMission = quest.configParameter("associatedMission") --- > local associatedMission = config.getParameter("associatedMission") 67c67 < local enableAiCommands = quest.configParameter("enableAiCommands") --- > local enableAiCommands = config.getParameter("enableAiCommands") 74c74 < local associatedMission = quest.configParameter("associatedMission") --- > local associatedMission = config.getParameter("associatedMission") 79c79 < local enableTech = quest.configParameter("enableTech") --- > local enableTech = config.getParameter("enableTech") 86c86 < local equipTech = quest.configParameter("equipTech") --- > local equipTech = config.getParameter("equipTech") 94c94 < local followUp = quest.configParameter("followUp") --- > local followUp = config.getParameter("followUp") 119c119 < if quest.configParameter("requireTurnIn", false) then --- > if config.getParameter("requireTurnIn", false) then quests\scripts\generated\clothing.lua 6c6 < self.questClient:setEventHandler({"friend", quest.configParameter("clothingCraftedEventName")}, onClothingCrafted) --- > self.questClient:setEventHandler({"friend", config.getParameter("clothingCraftedEventName")}, onClothingCrafted) 8c8 < self.questClient:setEventHandler({"questGiver", quest.configParameter("clothingAcceptedEventName")}, onClothingAccepted) --- > self.questClient:setEventHandler({"questGiver", config.getParameter("clothingAcceptedEventName")}, onClothingAccepted) 16c16 < notifyNpc("friend", quest.configParameter("requestClothingCraftNotification")) --- > notifyNpc("friend", config.getParameter("requestClothingCraftNotification")) 26,27c26,27 < local parcelDescriptionConfig = quest.configParameter("parcelDescription") < local parcelNameConfig = quest.configParameter("parcelName") --- > local parcelDescriptionConfig = config.getParameter("parcelDescription") > local parcelNameConfig = config.getParameter("parcelName") 45c45 < notifyNpc("questGiver", quest.configParameter("wearClothingNotification")) --- > notifyNpc("questGiver", config.getParameter("wearClothingNotification")) quests\scripts\generated\collect_fine.lua 9c9 < player.giveItem(generateNoteItem("crime", quest.configParameter("crimeNotice"), "Crime Notice")) --- > player.giveItem(generateNoteItem("crime", config.getParameter("crimeNotice"), "Crime Notice")) quests\scripts\generated\collect_gift.lua 5c5 < self.questClient:setEventHandler({"target", quest.configParameter("giftReceivedEventName")}, onGiftReceived) --- > self.questClient:setEventHandler({"target", config.getParameter("giftReceivedEventName")}, onGiftReceived) 12c12 < notifyNpc(target, quest.configParameter("requestGiftNotification")) --- > notifyNpc(target, config.getParameter("requestGiftNotification")) quests\scripts\generated\common.lua 15c15 < storage.indicators = storage.indicators or quest.configParameter("indicators", {}) --- > storage.indicators = storage.indicators or config.getParameter("indicators", {}) 68c68 < if quest.configParameter("requireTurnIn") then --- > if config.getParameter("requireTurnIn") then quests\scripts\generated\fetch.lua 4c4 < local giveItems = quest.configParameter("giveItems") --- > local giveItems = config.getParameter("giveItems") 20c20 < local fetchList = quest.configParameter("fetchList") --- > local fetchList = config.getParameter("fetchList") 29c29 < local paramName = quest.configParameter("fetchList") --- > local paramName = config.getParameter("fetchList") quests\scripts\generated\gift.lua 5,6c5,6 < self.questClient:setEventHandler({"target", quest.configParameter("giftAcceptedEventName")}, onGiftAccepted) < self.questClient:setEventHandler({"target", quest.configParameter("requestAdditionToHouseEventName")}, onRequestAdditionToHouse) --- > self.questClient:setEventHandler({"target", config.getParameter("giftAcceptedEventName")}, onGiftAccepted) > self.questClient:setEventHandler({"target", config.getParameter("requestAdditionToHouseEventName")}, onRequestAdditionToHouse) 13c13 < notifyNpc(target, quest.configParameter("provideGiftNotification")) --- > notifyNpc(target, config.getParameter("provideGiftNotification")) 38c38 < notifyNpc("target", quest.configParameter("objectAddedNotification")) --- > notifyNpc("target", config.getParameter("objectAddedNotification")) quests\scripts\generated\new_stock.lua 6c6 < self.questClient:setEventHandler({"target", quest.configParameter("tradeAcceptedEventName")}, onTradeAccepted) --- > self.questClient:setEventHandler({"target", config.getParameter("tradeAcceptedEventName")}, onTradeAccepted) 8c8 < self.questClient:setEventHandler({"questGiver", quest.configParameter("stockAcceptedEventName")}, onStockAccepted) --- > self.questClient:setEventHandler({"questGiver", config.getParameter("stockAcceptedEventName")}, onStockAccepted) 16c16 < notifyNpc("target", quest.configParameter("requestTradeNotification")) --- > notifyNpc("target", config.getParameter("requestTradeNotification")) 26,27c26,27 < local parcelDescriptionConfig = quest.configParameter("parcelDescription") < local parcelNameConfig = quest.configParameter("parcelName") --- > local parcelDescriptionConfig = config.getParameter("parcelDescription") > local parcelNameConfig = config.getParameter("parcelName") 45c45 < notifyNpc("questGiver", quest.configParameter("stockDeliveredNotification")) --- > notifyNpc("questGiver", config.getParameter("stockDeliveredNotification")) quests\scripts\generated\recruit_guard.lua 34c34 < local amountNeeded = quest.configParameter("amountOfFurnitureNeeded") --- > local amountNeeded = config.getParameter("amountOfFurnitureNeeded") quests\scripts\generated\secret_note.lua 21c21 < player.giveItem(generateNoteItem("response", quest.configParameter("responseNote"))) --- > player.giveItem(generateNoteItem("response", config.getParameter("responseNote"))) 26c26 < player.giveItem(generateNoteItem("message", quest.configParameter("secretNote"))) --- > player.giveItem(generateNoteItem("message", config.getParameter("secretNote"))) quests\scripts\generated\themed_build.lua 9c9 < local amountNeeded = quest.configParameter("amountOfFurnitureNeeded") --- > local amountNeeded = config.getParameter("amountOfFurnitureNeeded") recipes\anvil1\armor\tier2\apextier2chest.recipe 4c4,5 < { "item" : "apextier1chest", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 }, > { "item" : "leather", "count" : 1 } recipes\anvil1\armor\tier2\apextier2head.recipe 4c4 < { "item" : "apextier1head", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 } recipes\anvil1\armor\tier2\apextier2pants.recipe 4c4 < { "item" : "apextier1pants", "count" : 1 } --- > { "item" : "cottonwool", "count" : 1 } recipes\anvil1\armor\tier2\aviantier2chest.recipe 4c4,5 < { "item" : "aviantier1chest", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 }, > { "item" : "leather", "count" : 1 } recipes\anvil1\armor\tier2\aviantier2head.recipe 4c4 < { "item" : "aviantier1head", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 } recipes\anvil1\armor\tier2\aviantier2pants.recipe 4c4 < { "item" : "aviantier1pants", "count" : 1 } --- > { "item" : "cottonwool", "count" : 1 } recipes\anvil1\armor\tier2\florantier2chest.recipe 4c4,5 < { "item" : "florantier1chest", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 }, > { "item" : "leather", "count" : 1 } recipes\anvil1\armor\tier2\florantier2head.recipe 4c4 < { "item" : "florantier1head", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 } recipes\anvil1\armor\tier2\florantier2pants.recipe 4c4 < { "item" : "florantier1pants", "count" : 1 } --- > { "item" : "cottonwool", "count" : 1 } recipes\anvil1\armor\tier2\glitchtier2chest.recipe 4c4,5 < { "item" : "glitchtier1chest", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 }, > { "item" : "leather", "count" : 1 } recipes\anvil1\armor\tier2\glitchtier2head.recipe 4c4 < { "item" : "glitchtier1head", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 } recipes\anvil1\armor\tier2\glitchtier2pants.recipe 4c4 < { "item" : "glitchtier1pants", "count" : 1 } --- > { "item" : "cottonwool", "count" : 1 } recipes\anvil1\armor\tier2\humantier2chest.recipe 4c4,5 < { "item" : "humantier1chest", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 }, > { "item" : "leather", "count" : 1 } recipes\anvil1\armor\tier2\humantier2head.recipe 4c4 < { "item" : "humantier1head", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 } recipes\anvil1\armor\tier2\humantier2pants.recipe 4c4 < { "item" : "humantier1pants", "count" : 1 } --- > { "item" : "cottonwool", "count" : 1 } recipes\anvil1\armor\tier2\hylotltier2chest.recipe 4c4,5 < { "item" : "hylotltier1chest", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 }, > { "item" : "leather", "count" : 1 } recipes\anvil1\armor\tier2\hylotltier2head.recipe 4c4 < { "item" : "hylotltier1head", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 } recipes\anvil1\armor\tier2\hylotltier2pants.recipe 4c4 < { "item" : "hylotltier1pants", "count" : 1 } --- > { "item" : "cottonwool", "count" : 1 } recipes\anvil1\armor\tier2\novatier2chest.recipe 4c4,5 < { "item" : "novatier1chest", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 }, > { "item" : "leather", "count" : 1 } recipes\anvil1\armor\tier2\novatier2head.recipe 4c4 < { "item" : "novatier1head", "count" : 1 } --- > { "item" : "cottonwool", "count" : 5 } recipes\anvil1\armor\tier2\novatier2pants.recipe 4c4 < { "item" : "novatier1pants", "count" : 1 } --- > { "item" : "cottonwool", "count" : 1 } recipes\anvil2\armor\tier3\apextier3chest.recipe 3c3,5 < { "item" : "titaniumbar", "count" : 10 } --- > { "item" : "titaniumbar", "count" : 10 }, > { "item" : "leather", "count" : 1 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier3\apextier3head.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 6 } --- > { "item" : "titaniumbar", "count" : 6 }, > { "item" : "canvas", "count" : 3 } recipes\anvil2\armor\tier3\apextier3pants.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 4 } --- > { "item" : "titaniumbar", "count" : 4 }, > { "item" : "canvas", "count" : 1 } recipes\anvil2\armor\tier3\aviantier3chest.recipe 3c3,5 < { "item" : "titaniumbar", "count" : 10 } --- > { "item" : "titaniumbar", "count" : 10 }, > { "item" : "leather", "count" : 1 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier3\aviantier3head.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 6 } --- > { "item" : "titaniumbar", "count" : 6 }, > { "item" : "canvas", "count" : 3 } recipes\anvil2\armor\tier3\aviantier3pants.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 4 } --- > { "item" : "titaniumbar", "count" : 4 }, > { "item" : "canvas", "count" : 1 } recipes\anvil2\armor\tier3\florantier3chest.recipe 3c3,5 < { "item" : "titaniumbar", "count" : 10 } --- > { "item" : "titaniumbar", "count" : 10 }, > { "item" : "leather", "count" : 1 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier3\florantier3head.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 6 } --- > { "item" : "titaniumbar", "count" : 6 }, > { "item" : "canvas", "count" : 3 } recipes\anvil2\armor\tier3\florantier3pants.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 4 } --- > { "item" : "titaniumbar", "count" : 4 }, > { "item" : "canvas", "count" : 1 } recipes\anvil2\armor\tier3\glitchtier3chest.recipe 3c3,5 < { "item" : "titaniumbar", "count" : 10 } --- > { "item" : "titaniumbar", "count" : 10 }, > { "item" : "leather", "count" : 1 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier3\glitchtier3head.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 6 } --- > { "item" : "titaniumbar", "count" : 6 }, > { "item" : "canvas", "count" : 3 } recipes\anvil2\armor\tier3\glitchtier3pants.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 4 } --- > { "item" : "titaniumbar", "count" : 4 }, > { "item" : "canvas", "count" : 1 } recipes\anvil2\armor\tier3\humantier3chest.recipe 3c3,5 < { "item" : "titaniumbar", "count" : 10 } --- > { "item" : "titaniumbar", "count" : 10 }, > { "item" : "leather", "count" : 1 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier3\humantier3head.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 6 } --- > { "item" : "titaniumbar", "count" : 6 }, > { "item" : "canvas", "count" : 3 } recipes\anvil2\armor\tier3\humantier3pants.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 4 } --- > { "item" : "titaniumbar", "count" : 4 }, > { "item" : "canvas", "count" : 1 } recipes\anvil2\armor\tier3\hylotltier3chest.recipe 3c3,5 < { "item" : "titaniumbar", "count" : 10 } --- > { "item" : "titaniumbar", "count" : 10 }, > { "item" : "leather", "count" : 1 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier3\hylotltier3head.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 6 } --- > { "item" : "titaniumbar", "count" : 6 }, > { "item" : "canvas", "count" : 3 } recipes\anvil2\armor\tier3\hylotltier3pants.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 4 } --- > { "item" : "titaniumbar", "count" : 4 }, > { "item" : "canvas", "count" : 1 } recipes\anvil2\armor\tier3\novatier3chest.recipe 3c3,5 < { "item" : "titaniumbar", "count" : 10 } --- > { "item" : "titaniumbar", "count" : 10 }, > { "item" : "leather", "count" : 1 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier3\novatier3head.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 6 } --- > { "item" : "titaniumbar", "count" : 6 }, > { "item" : "canvas", "count" : 3 } recipes\anvil2\armor\tier3\novatier3pants.recipe 3c3,4 < { "item" : "titaniumbar", "count" : 4 } --- > { "item" : "titaniumbar", "count" : 4 }, > { "item" : "canvas", "count" : 1 } recipes\anvil2\armor\tier4\apextier4chest.recipe 4c4,5 < { "item" : "apextier3chest", "count" : 1 } --- > { "item" : "leather", "count" : 3 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier4\apextier4head.recipe 4c4 < { "item" : "apextier3head", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\apextier4pants.recipe 4c4 < { "item" : "apextier3pants", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\aviantier4chest.recipe 4c4,5 < { "item" : "aviantier3chest", "count" : 1 } --- > { "item" : "leather", "count" : 3 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier4\aviantier4head.recipe 4c4 < { "item" : "aviantier3head", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\aviantier4pants.recipe 4c4 < { "item" : "aviantier3pants", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\florantier4chest.recipe 4c4,5 < { "item" : "florantier3chest", "count" : 1 } --- > { "item" : "leather", "count" : 3 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier4\florantier4head.recipe 4c4 < { "item" : "florantier3head", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\florantier4pants.recipe 4c4 < { "item" : "florantier3pants", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\glitchtier4chest.recipe 4c4,5 < { "item" : "glitchtier3chest", "count" : 1 } --- > { "item" : "leather", "count" : 3 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier4\glitchtier4head.recipe 4c4 < { "item" : "glitchtier3head", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\glitchtier4pants.recipe 4c4 < { "item" : "glitchtier3pants", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\humantier4chest.recipe 4c4,5 < { "item" : "humantier3chest", "count" : 1 } --- > { "item" : "leather", "count" : 3 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier4\humantier4head.recipe 4c4 < { "item" : "humantier3head", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\humantier4pants.recipe 4c4 < { "item" : "humantier3pants", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\hylotltier4chest.recipe 4c4,5 < { "item" : "hylotltier3chest", "count" : 1 } --- > { "item" : "leather", "count" : 3 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier4\hylotltier4head.recipe 4c4 < { "item" : "hylotltier3head", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\hylotltier4pants.recipe 4c4 < { "item" : "hylotltier3pants", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\novatier4chest.recipe 4c4,5 < { "item" : "novatier3chest", "count" : 1 } --- > { "item" : "leather", "count" : 3 }, > { "item" : "silk", "count" : 1 } recipes\anvil2\armor\tier4\novatier4head.recipe 4c4 < { "item" : "novatier3head", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\anvil2\armor\tier4\novatier4pants.recipe 4c4 < { "item" : "novatier3pants", "count" : 1 } --- > { "item" : "leather", "count" : 1 } recipes\farmtable1\hunting\bow.recipe 7,10c7 < "output" : { < "item" : "bow", < "count" : 1 < }, --- > "output" : { "item" : "bow", "count" : 1 }, recipes\furnace2\bars\durasteelbar.recipe 3,4c3 < { "item" : "titaniumbar", "count" : 1 }, < { "item" : "silverbar", "count" : 1 } --- > { "item" : "durasteelore", "count" : 2 } 6,9c5 < "output" : { < "item" : "durasteelbar", < "count" : 1 < }, --- > "output" : { "item" : "durasteelbar", "count" : 1 }, recipes\furniture2\beds\tier4bed.recipe 4c4,5 < { "item" : "fabric", "count" : 10 } --- > { "item" : "fabric", "count" : 10 }, > { "item" : "silk", "count" : 5 } recipes\furniture2\decorative\tier4chair.recipe 3c3,5 < { "item" : "durasteelbar", "count" : 2 } --- > { "item" : "durasteelbar", "count" : 2 }, > { "item" : "leather", "count" : 5 }, > { "item" : "blackdye", "count" : 1 } recipes\furniture2\decorative\tier4table.recipe 3c3,4 < { "item" : "durasteelbar", "count" : 2 } --- > { "item" : "durasteelbar", "count" : 2 }, > { "item" : "canvas", "count" : 2 } recipes\furniture2\doors\tier4door.recipe 3c3,4 < { "item" : "durasteelbar", "count" : 2 } --- > { "item" : "durasteelbar", "count" : 2 }, > { "item" : "ironbar", "count" : 2 } recipes\furniture2\lights\tier4light.recipe 3c3,5 < { "item" : "durasteelbar", "count" : 1 } --- > { "item" : "durasteelbar", "count" : 1 }, > { "item" : "glass", "count" : 2 }, > { "item" : "smallbattery", "count" : 1 } recipes\inventorstable3\wiringstation.recipe 5,6c5,7 < { "item" : "stickofram", "count" : 5 }, < { "item" : "wire", "count" : 10 } --- > { "item" : "stickofram", "count" : 2 }, > { "item" : "wire", "count" : 10 }, > { "item" : "battery", "count" : 1 } recipes\refinery\silverbar.recipe 5c5 < "output" : { "item" : "money", "count" : 20 }, --- > "output" : { "item" : "money", "count" : 18 }, recipes\refinery\silverore.recipe 5c5 < "output" : { "item" : "money", "count" : 8 }, --- > "output" : { "item" : "money", "count" : 9 }, recipes\refinery\titaniumore.recipe 5c5 < "output" : { "item" : "money", "count" : 24 }, --- > "output" : { "item" : "money", "count" : 25 }, scripts\behavior.lua 59c59 < return self.behaviorConfig or entity.configParameter("behaviorConfig", {}) --- > return self.behaviorConfig or config.getParameter("behaviorConfig", {}) 397c397,398 < local value = entity.configParameter(args.path, default) --- > > local value = config.getParameter(args.path, args.default) scripts\chattyobject.lua 2c2 < entity.setInteractive(true) --- > object.setInteractive(true) 6c6 < local chatOptions = entity.configParameter("chatOptions", {}) --- > local chatOptions = config.getParameter("chatOptions", {}) 8c8 < entity.say(chatOptions[math.random(1, #chatOptions)]) --- > object.say(chatOptions[math.random(1, #chatOptions)]) scripts\npctoyobject.lua 7c7 < return entity.configParameter("npcToy.influence") --- > return config.getParameter("npcToy.influence") 11c11 < return entity.configParameter("npcToy.defaultReactions") --- > return config.getParameter("npcToy.defaultReactions") 15,16c15,16 < if entity.direction() < 0 then < return entity.configParameter("npcToy.preciseStandPositionLeft") --- > if object.direction() < 0 then > return config.getParameter("npcToy.preciseStandPositionLeft") 18c18 < return entity.configParameter("npcToy.preciseStandPositionRight") --- > return config.getParameter("npcToy.preciseStandPositionRight") 23c23 < local standXRange = entity.configParameter("npcToy.randomStandXRange") --- > local standXRange = config.getParameter("npcToy.randomStandXRange") 32c32 < return entity.configParameter("npcToy.maxNpcs") --- > return config.getParameter("npcToy.maxNpcs") 49c49 < return entity.configParameter("npcToy.ownerOnly", false) --- > return config.getParameter("npcToy.ownerOnly", false) scripts\pathing.lua 168c168 < if entity.configParameter("pathing.forceWalkingBackwards", false) then --- > if config.getParameter("pathing.forceWalkingBackwards", false) then 252c252 < if entity.configParameter("pathing.canOpenDoors", false) and not self:openDoors() then --- > if config.getParameter("pathing.canOpenDoors", false) and not self:openDoors() then 279c279 < if #closedDoorIds == 0 or not entity.configParameter("pathing.canOpenDoors", true) then --- > if #closedDoorIds == 0 or not config.getParameter("pathing.canOpenDoors", true) then scripts\sensors.lua 43,44c43,44 < for i, sensor in ipairs(entity.configParameter(sensorGroup)) do < local sensorPosition = entity.toAbsolutePosition(sensor) --- > for i, sensor in ipairs(config.getParameter(sensorGroup)) do > local sensorPosition = monster.toAbsolutePosition(sensor) 115d114 < scripts\spawnpoint.lua 10c10 < local underground = world.underground(world.entityPosition(entity.id())) --- > local underground = world.underground(entity.position()) scripts\statemachine.lua 300c300 < -- Example: stateMachine.scanScripts(entity.configParameter("scripts"), "(%a+)State%.lua") --- > -- Example: stateMachine.scanScripts(config.getParameter("scripts"), "(%a+)State%.lua") scripts\statusprojectileobject.lua 2c2 < self.activationTime = entity.configParameter("activationTime") or 600 --- > self.activationTime = config.getParameter("activationTime") or 600 6c6 < entity.setAnimationState("podState", storage.active and "active" or "expire") --- > animator.setAnimationState("podState", storage.active and "active" or "expire") 16c16 < if isTimeToActivate() and not world.isVisibleToPlayer(entity.boundBox()) then --- > if isTimeToActivate() and not world.isVisibleToPlayer(object.boundBox()) then 27c27 < entity.playSound("use") --- > animator.playSound("use") 33c33 < for i, option in ipairs(entity.configParameter("projectileOptions"), {}) do --- > for i, option in ipairs(config.getParameter("projectileOptions"), {}) do 41c41 < world.spawnProjectile(projectile.projectileType, entity.position(), entity.id(), args.source, false, projectile.projectileParams) --- > world.spawnProjectile(projectile.projectileType, object.position(), entity.id(), args.source, false, projectile.projectileParams) 49c49 < entity.setAnimationState("podState", "active") --- > animator.setAnimationState("podState", "active") 52c52 < entity.setInteractive(true) --- > object.setInteractive(true) 56c56 < entity.setAnimationState("podState", "expire") --- > animator.setAnimationState("podState", "expire") 59c59 < entity.setInteractive(false) --- > object.setInteractive(false) scripts\tenant.lua 12,13c12,13 < entity.setDeathParticleBurst(nil) < entity.setDropPools({}) --- > npc.setDeathParticleBurst(nil) > npc.setDropPools({}) 38c38 < entity.setItemSlot(slot, item) --- > npc.setItemSlot(slot, item) 53c53 < local uniqueId = world.entityUniqueId(entity.id()) --- > local uniqueId = entity.uniqueId() scripts\util.lua 10c10 < for i, sensor in ipairs(entity.configParameter(sensorGroup)) do --- > for i, sensor in ipairs(config.getParameter(sensorGroup)) do 15c15 < if world.pointTileCollision(entity.toAbsolutePosition(sensor), {"Null", "Block", "Dynamic"}) then --- > if world.pointTileCollision(monster.toAbsolutePosition(sensor), {"Null", "Block", "Dynamic"}) then scripts\actions\crawling.lua 139c139 < local groundRect = {bounds[1], bounds[2] - entity.configParameter("crawlMaxGroundDistance", 0.5), bounds[3], bounds[2]} --- > local groundRect = {bounds[1], bounds[2] - config.getParameter("crawlMaxGroundDistance", 0.5), bounds[3], bounds[2]} scripts\actions\dialog.lua 2c2 < local configEntry = entity.configParameter(dialogKey) --- > local configEntry = config.getParameter(dialogKey) 23c23 < local species = entity.species() --- > local species = npc.species() 36c36 < math.randomseed(entity.seed()) --- > math.randomseed(npc.seed()) 59c59 < entity.say(dialog, args.tags) --- > npc.say(dialog, args.tags) 86c86 < local portrait = entity.configParameter("chatPortrait") --- > local portrait = config.getParameter("chatPortrait") 91c91 < entity.say(self.currentDialog[1], args.tags) --- > npc.say(self.currentDialog[1], args.tags) 93c93 < entity.sayPortrait(self.currentDialog[1], portrait, args.tags) --- > npc.sayPortrait(self.currentDialog[1], portrait, args.tags) scripts\actions\entities.lua 0a1,10 > function entityLevel() > if entity.entityType() == "monster" then > return monster.level() > elseif entity.entityType() == "npc" then > return npc.level() > else > return 1 > end > end > 271c281 < return world.objectConfigParameter(entityId, "objectType") == "loungeable" --- > return world.getObjectParameter(entityId, "objectType") == "loungeable" 358,361c368,371 < if args.scalePower and world.entityType(entity.id()) == "monster" then < projectileConfig.power = root.evalFunction("monsterLevelPowerMultiplier", entity.level()) * (projectileConfig.power or 10) < elseif args.scalePower and world.entityType(entity.id()) == "npc" then < projectileConfig.power = (1.0 + root.evalFunction("npcLevelPowerMultiplierModifier", entity.level())) * (projectileConfig.power or 10) --- > if args.scalePower and entity.entityType() == "monster" then > projectileConfig.power = root.evalFunction("monsterLevelPowerMultiplier", entityLevel()) * (projectileConfig.power or 10) > elseif args.scalePower and entity.entityType() == "npc" then > projectileConfig.power = (1.0 + root.evalFunction("npcLevelPowerMultiplierModifier", entityLevel())) * (projectileConfig.power or 10) 380c390 < if entity.level then projectileConfig.level = entity.level() end --- > projectileConfig.level = entityLevel() 433c443 < level = entity.level() --- > level = entityLevel() 486c496 < -- param config --- > -- param stagehandConfig 491c501 < config = {} --- > stagehandConfig = {} 497c507 < world.spawnStagehand(position, args.type, args.config) --- > world.spawnStagehand(position, args.type, args.stagehandConfig) scripts\actions\merchant.lua 1c1 < require("/scripts/util.lua") --- > require "/scripts/util.lua" 5c5 < local level = entity.level() --- > local level = npc.level() 7c7 < self.merchantPools = root.assetJson(entity.configParameter("merchant.poolsFile", "/npcs/merchantpools.config")) --- > self.merchantPools = root.assetJson(config.getParameter("merchant.poolsFile", "/npcs/merchantpools.config")) 21c21 < if item.item.parameters then item.item.parameters.level = entity.level() end --- > if item.item.parameters then item.item.parameters.level = npc.level() end 32c32 < local seed = tonumber(entity.seed()) --- > local seed = tonumber(npc.seed()) 42c42 < local numItems = entity.configParameter("merchant.numItems") --- > local numItems = config.getParameter("merchant.numItems") 66c66 < local level = entity.level() --- > local level = npc.level() 78c78 < storage.buyFactor = entity.randomizeParameterRange("merchant.buyFactorRange") --- > storage.buyFactor = util.randomInRange(config.getParameter("merchant.buyFactorRange")) 81c81 < storage.sellFactor = entity.randomizeParameterRange("merchant.sellFactorRange") --- > storage.sellFactor = util.randomInRange(config.getParameter("merchant.sellFactorRange")) 90c90 < paneLayoutOverride = entity.configParameter("merchant.paneLayoutOverride", nil) --- > paneLayoutOverride = config.getParameter("merchant.paneLayoutOverride", nil) 140,144c140,144 < local species = entity.species() < if entity.configParameter("merchant.categories.override") then < return entity.configParameter("merchant.categories.override") < elseif entity.configParameter("merchant.categories."..species) then < return entity.configParameter("merchant.categories."..species) --- > local species = npc.species() > if config.getParameter("merchant.categories.override") then > return config.getParameter("merchant.categories.override") > elseif config.getParameter("merchant.categories."..species) then > return config.getParameter("merchant.categories."..species) 146c146 < return entity.configParameter("merchant.categories.default") --- > return config.getParameter("merchant.categories.default") scripts\actions\movement.lua 16c16 < local facingMode = entity.configParameter("facingMode", "control") --- > local facingMode = config.getParameter("facingMode", "control") 19,20c19,20 < if entity.setAimPosition then < entity.setAimPosition(vec2.add(mcontroller.position(), {direction, -1})) --- > if entity.entityType() == "npc" then > npc.setAimPosition(vec2.add(mcontroller.position(), {direction, -1})) 24,25c24,25 < entity.resetTransformationGroup("facing") < entity.scaleTransformationGroup("facing", {util.toDirection(direction), 1}) --- > animator.resetTransformationGroup("facing") > animator.scaleTransformationGroup("facing", {util.toDirection(direction), 1}) 60c60 < if entity.configParameter("pathing.forceWalkingBackwards", false) then --- > if config.getParameter("pathing.forceWalkingBackwards", false) then 170c170 < if entity.configParameter("pathing.forceWalkingBackwards", false) then --- > if config.getParameter("pathing.forceWalkingBackwards", false) then 261c261 < if entity.resetLounging then entity.resetLounging() end --- > if entity.entityType() == "npc" then npc.resetLounging() end 498c498 < -- param config --- > -- param parameters 501c501 < config = {} --- > parameters = {} 504,505c504,505 < local config = copy(args.config) < config.gravityMultiplier = BData:getNumber(args.config.gravityMultiplier) --- > local parameters = copy(args.parameters) > parameters.gravityMultiplier = BData:getNumber(args.parameters.gravityMultiplier) 507c507 < mcontroller.controlParameters(config) --- > mcontroller.controlParameters(parameters) 567c567 < if not closed and entity.configParameter("canOpenDoors", true) and #npcs == 0 then --- > if not closed and config.getParameter("canOpenDoors", true) and #npcs == 0 then scripts\actions\quests.lua 48c48 < return world.objectConfigParameter(entityId, "shortdescription") --- > return world.getObjectParameter(entityId, "shortdescription") 137c137 < entity.say(dialog, tags) --- > npc.say(dialog, tags) 154c154 < if not entity.configParameter("questGenerator.enableParticipation") then --- > if not config.getParameter("questGenerator.enableParticipation") then 165c165 < local position = world.entityPosition(entity.id()) --- > local position = entity.position() scripts\actions\reaction.lua 12c12 < variantReactions = entity.configParameter("reactions", {}) --- > variantReactions = config.getParameter("reactions", {}) 399c399 < entity.emote(reactionConfig.emote) --- > npc.emote(reactionConfig.emote) 402c402 < entity.dance(reactionConfig.dance) --- > npc.dance(reactionConfig.dance) scripts\actions\boss\kluexboss.lua 25c25 < local power = BData:getNumber(args.power) * root.evalFunction("monsterLevelPowerMultiplier", entity.level()) --- > local power = BData:getNumber(args.power) * root.evalFunction("monsterLevelPowerMultiplier", monster.level()) scripts\projectiles\chainbullet.lua 5,7c5,7 < self.seekSpeed = config.configParameter("seekSpeed", 30) < self.triggered = config.configParameter("triggered", false) < self.targets = config.configParameter("targets") --- > self.seekSpeed = config.getParameter("seekSpeed", 30) > self.triggered = config.getParameter("triggered", false) > self.targets = config.getParameter("targets") 10c10 < self.chainPower = config.configParameter("power") --- > self.chainPower = config.getParameter("power") 33c33 < type = config.configParameter("chainProjectile"), --- > type = config.getParameter("chainProjectile"), scripts\quest\manager.lua 79c79 < for questId, plugin in pairs(entity.configParameter("plugins", {})) do --- > for questId, plugin in pairs(config.getParameter("plugins", {})) do 97c97 < self.data.expiration = world.time() + entity.configParameter("quest.expiration", 300) --- > self.data.expiration = world.time() + config.getParameter("quest.expiration", 300) 255c255 < -- they die through findUniqueEntity. --- > -- they die through findUniqueEntity scripts\quest\messaging.lua 76c76 < -- messages onto an invisible stagehand entity.) --- > -- messages onto an invisible stagehand entity) 116,121c116 < local position < if entity.position then < position = entity.position() < else < position = mcontroller.position() < end --- > local position = entity.position() 125c120 < callScript = "entity.typeName", --- > callScript = "stagehand.typeName", 150,151c145,146 < local uniqueId = world.entityUniqueId(entity.id()) or entity.id() < world.logInfo(tostring(world.entityType(entity.id())).." "..uniqueId.." "..tostring(text)) --- > local uniqueId = entity.uniqueId() or entity.id() > world.logInfo(tostring(entity.entityType()).." "..uniqueId.." "..tostring(text)) scripts\quest\participant.lua 43c43 < local selfUniqueId = world.entityUniqueId(entity.id()) --- > local selfUniqueId = entity.uniqueId() 106c106 < local turnInQuests = entity.configParameter("turnInQuests", jarray()) --- > local turnInQuests = config.getParameter("turnInQuests", jarray()) 112c112,117 < entity.setTurnInQuests(turnInQuests) --- > > if entity.entityType() == "npc" then > npc.setTurnInQuests(turnInQuests) > else > object.setTurnInQuests(turnInQuests) > end 116c121 < local offeredQuests = entity.configParameter("offeredQuests", jarray()) --- > local offeredQuests = config.getParameter("offeredQuests", jarray()) 124a130 > 126c132,137 < entity.setOfferedQuests(offeredQuests) --- > > if entity.entityType() == "npc" then > npc.setOfferedQuests(offeredQuests) > else > object.setOfferedQuests(offeredQuests) > end 130c141 < if #entity.configParameter("offeredQuests", jarray()) > 0 then --- > if #config.getParameter("offeredQuests", jarray()) > 0 then 201c212 < if world.entityType(entity.id()) ~= "object" then --- > if entity.entityType() ~= "object" then 208c219 < if world.entityType(entity.id()) ~= "object" then --- > if entity.entityType() ~= "object" then 304c315 < local uniqueId = world.entityUniqueId(entity.id()) --- > local uniqueId = entity.uniqueId() scripts\quest\player.lua 51c51 < return world.entityUniqueId(entity.id()) --- > return entity.uniqueId() scripts\quest\manager\plugin.lua 6c6 < function QuestManagerPlugin:init(questManager, storageArea, questId, config) --- > function QuestManagerPlugin:init(questManager, storageArea, questId, pluginConfig) 10c10 < self.config = config --- > self.config = pluginConfig scripts\quest\manager\spawn_assassins.lua 17,18c17,18 < world.callScriptedEntity(entityId, "entity.setDropPools", {}) < world.callScriptedEntity(entityId, "entity.setDeathParticleBurst") --- > world.callScriptedEntity(entityId, "npc.setDropPools", {}) > world.callScriptedEntity(entityId, "npc.setDeathParticleBurst") scripts\quest\manager\spawn_entities.lua 104c104 < local position = world.entityPosition(entity.id()) --- > local position = entity.position() scripts\questgen\generator.lua 22,23c22,23 < local queryRange = entity.configParameter("questGenerator.queryRange", 50) < local queryCooldown = entity.configParameter("questGenerator.queryCooldown", 60) --- > local queryRange = config.getParameter("questGenerator.queryRange", 50) > local queryCooldown = config.getParameter("questGenerator.queryCooldown", 60) 86c86 < for _,poolName in pairs(entity.configParameter("questGenerator.pools", {})) do --- > for _,poolName in pairs(config.getParameter("questGenerator.pools", {})) do 102c102 < return world.entityPosition(entity.id()) --- > return entity.position() 107c107 < return world.objectConfigParameter(entityId, "shortdescription") --- > return world.getObjectParameter(entityId, "shortdescription") 117,119c117,119 < for name, config in pairs(root.assetJson("/quests/generated/pools/pools.config")) do < local relation = PoolRelations[config.relation] < self._poolRelations[name] = defineRelation(name, true, relation)(config) --- > for name, poolConfig in pairs(root.assetJson("/quests/generated/pools/pools.config")) do > local relation = PoolRelations[poolConfig.relation] > self._poolRelations[name] = defineRelation(name, true, relation)(poolConfig) 134c134 < local maxCost = entity.configParameter("questGenerator.maxPlanCost", 5) --- > local maxCost = config.getParameter("questGenerator.maxPlanCost", 5) scripts\questgen\planner.lua 686c686 < function Operator:init(name, config) --- > function Operator:init(name, operatorConfig) 688,692c688,692 < self.preconditions = config.preconditions < self.postconditions = config.postconditions < self.objectives = config.objectives < self.priority = config.priority or 0 < self.config = config --- > self.preconditions = operatorConfig.preconditions > self.postconditions = operatorConfig.postconditions > self.objectives = operatorConfig.objectives > self.priority = operatorConfig.priority or 0 > self.config = operatorConfig 728,729c728,729 < for name,config in pairs(json) do < local operator = Operator.new(name, config) --- > for name, operatorConfig in pairs(json) do > local operator = Operator.new(name, operatorConfig) scripts\questgen\relations.lua 582c582 < if xor(self.negated, npc:callScript("entity.configParameter", configPath)) then --- > if xor(self.negated, npc:callScript("config.getParameter", configPath)) then 593c593 < return npc:callScript("entity.configParameter", "questGenerator.flags.guard") --- > return npc:callScript("config.getParameter", "questGenerator.flags.guard") 948c948 < if xor(self.negated, npc:callScript("entity.getItemSlot", slotName) ~= nil) then --- > if xor(self.negated, npc:callScript("npc.getItemSlot", slotName) ~= nil) then spawntypes\critter.spawntypes 1126a1127,1174 > "name" : "smallgeodecritter", > > "spawnParameters" : { > "area" : "surface", > "region" : "exposed", > "time" : "all" > }, > > "targetDensity" : 0.02, > "monsterType" : "smallgeodecritter", > "monsterParameters" : { > "aggressive" : false > } > }, > > { > "name" : "largegeodecritter", > > "spawnParameters" : { > "area" : "surface", > "region" : "exposed", > "time" : "all" > }, > > "targetDensity" : 0.02, > "monsterType" : "largegeodecritter", > "monsterParameters" : { > "aggressive" : false > } > }, > > { > "name" : "floatinggeodecritter", > > "spawnParameters" : { > "area" : "surface", > "region" : "exposed", > "time" : "all" > }, > > "targetDensity" : 0.02, > "monsterType" : "floatinggeodecritter", > "monsterParameters" : { > "aggressive" : false > } > }, > > { species\apex.species 8c8 < }, --- > }, 18,19d17 < // ********* TIER 1 ********** < 38a37,39 > // Furniture Table 2 > { "item" : "apexstoragelocker" }, > 50,51d50 < < 59,60d57 < { "item" : "apexstoragelocker" }, < 67,70c64 < < { "item" : "apextier3head" }, < { "item" : "apextier3chest" }, < { "item" : "apextier3pants" }, --- > 77,80c71 < < // { "item" : "apextier4head" }, < // { "item" : "apextier4chest" }, < // { "item" : "apextier4pants" }, --- > species\avian.species 4c4 < "charCreationTooltip" : { --- > "charCreationTooltip" : { 8c8 < }, --- > }, 18,19d17 < // ********* TIER 1 ********** < 38a37,39 > // Furniture Table 2 > { "item" : "avianstoragelocker" }, > 56,57d56 < < { "item" : "avianstoragelocker" }, species\floran.species 4c4 < "charCreationTooltip" : { --- > "charCreationTooltip" : { 8c8 < }, --- > }, 18,19d17 < // ********* TIER 1 ********** < 38a37,39 > // Furniture Table 2 > { "item" : "floranstoragelocker" }, > 56,70d56 < { "item" : "florantier1head" }, < { "item" : "florantier1chest" }, < { "item" : "florantier1pants" }, < { "item" : "floranfurnivourchest" }, < { "item" : "floranfurnivourlegs" }, < { "item" : "floranhunterchest" }, < { "item" : "floranhunterlegs" }, < { "item" : "floranleafchest" }, < { "item" : "floranleaflegs" }, < { "item" : "floranpeltchest" }, < { "item" : "floranpeltlegs" }, < < { "item" : "floranstoragelocker" }, < < { "item" : "flagfloran" }, species\glitch.species 8,9c8 < }, < --- > }, 19,20d17 < // ********* TIER 1 ********** < 39a37,39 > // Furniture Table 2 > { "item" : "glitchstoragelocker" }, > 57,71d56 < { "item" : "glitchtier1head" }, < { "item" : "glitchtier1chest" }, < { "item" : "glitchtier1pants" }, < { "item" : "craftsmenchest" }, < { "item" : "craftsmenlegs" }, < { "item" : "merchantchest" }, < { "item" : "merchantlegs" }, < { "item" : "noblechest" }, < { "item" : "noblelegs" }, < { "item" : "peasantchest" }, < { "item" : "peasantlegs" }, < < { "item" : "glitchstoragelocker" }, < < { "item" : "flagglitch" }, 79,82c64 < < { "item" : "glitchtier3head" }, < { "item" : "glitchtier3chest" }, < { "item" : "glitchtier3pants" }, --- > species\human.species 8,9c8 < }, < --- > }, 19,20d17 < // ********* TIER 1 ********** < 39a37,39 > // Furniture Table 2 > { "item" : "humanstoragelocker" }, > 57,71d56 < { "item" : "humantier1head" }, < { "item" : "humantier1chest" }, < { "item" : "humantier1pants" }, < { "item" : "conceptchest" }, < { "item" : "conceptlegs" }, < { "item" : "coolchest" }, < { "item" : "coollegs" }, < { "item" : "sweatervestchest" }, < { "item" : "sweatervestlegs" }, < { "item" : "workoutchest" }, < { "item" : "workoutlegs" }, < < { "item" : "humanstoragelocker" }, < < { "item" : "flaghuman" }, species\hylotl.species 4c4 < "charCreationTooltip" : { --- > "charCreationTooltip" : { 8c8 < }, --- > }, 18,19d17 < // ********* TIER 1 ********** < 38a37,39 > // Furniture Table 2 > { "item" : "hylotlstoragelocker" }, > 56,70d56 < { "item" : "hylotltier1head" }, < { "item" : "hylotltier1chest" }, < { "item" : "hylotltier1pants" }, < { "item" : "kimonochest" }, < { "item" : "kimonolegs" }, < { "item" : "monkchest" }, < { "item" : "monklegs" }, < { "item" : "traditionalchest" }, < { "item" : "traditionallegs" }, < { "item" : "traineechest" }, < { "item" : "traineelegs" }, < < { "item" : "hylotlstoragelocker" }, < < { "item" : "flaghylotl" }, species\novakid.species 4c4 < "charCreationTooltip" : { --- > "charCreationTooltip" : { 8,9c8 < }, < --- > }, 19,20d17 < // ********* TIER 1 ********** < 39a37,39 > // Furniture Table 2 > { "item" : "novakidstoragelocker" }, > 50,55c50 < < /* < { "item" : "novakidstoragelocker" }, < < { "item" : "flagnovakid" }, < --- > /* 83,85c78,80 < // { "item" : "novatier6ahead" }, < // { "item" : "novatier6achest" }, < // { "item" : "novatier6apants" }, --- > { "item" : "novatier6ahead" }, > { "item" : "novatier6achest" }, > { "item" : "novatier6apants" }, 89,91c84,86 < // { "item" : "novatier6mhead" }, < // { "item" : "novatier6mchest" }, < // { "item" : "novatier6mpants" }, --- > { "item" : "novatier6mhead" }, > { "item" : "novatier6mchest" }, > { "item" : "novatier6mpants" }, 95,97c90,92 < // { "item" : "novatier6shead" }, < // { "item" : "novatier6schest" }, < // { "item" : "novatier6spants" }, --- > { "item" : "novatier6shead" }, > { "item" : "novatier6schest" }, > { "item" : "novatier6spants" }, stagehands\coordinator.lua 4,8c4,8 < local min = entity.configParameter("minMembers") < local max = entity.configParameter("maxMembers") < self.goalType = entity.configParameter("goalType") < self.goal = entity.configParameter("goal") < self.groupId = entity.configParameter("groupId") --- > local min = config.getParameter("minMembers") > local max = config.getParameter("maxMembers") > self.goalType = config.getParameter("goalType") > self.goal = config.getParameter("goal") > self.groupId = config.getParameter("groupId") 26,27c26,27 < if entity.configParameter("behavior") then < self.btree = BTree:new(entity.configParameter("behavior")) --- > if config.getParameter("behavior") then > self.btree = BTree:new(config.getParameter("behavior")) 45c45 < entity.die() --- > stagehand.die() 50c50 < entity.setPosition(world.entityPosition(self.goal)) --- > stagehand.setPosition(world.entityPosition(self.goal)) 52c52 < entity.die() --- > stagehand.die() stagehands\mailbox.lua 13c13 < entity.die() --- > stagehand.die() stagehands\questmanager.lua 15,16c15,16 < local arc = loadQuestArcDescriptor(entity.configParameter("quest.arc")) < local participants = entity.configParameter("quest.participants") --- > local arc = loadQuestArcDescriptor(config.getParameter("quest.arc")) > local participants = config.getParameter("quest.participants") 23c23 < entity.die() --- > stagehand.die() stagehands\coordinator\npccombat.lua 27c27 < local gunRanges = entity.configParameter("npcCombat.rangedWeaponRanges") --- > local gunRanges = config.getParameter("npcCombat.rangedWeaponRanges") 33c33 < local weaponRanges = entity.configParameter("npcCombat.meleeWeaponRanges") --- > local weaponRanges = config.getParameter("npcCombat.meleeWeaponRanges") stats\effects\bandage\bandage.lua 3c3 < animator.setParticleEmitterEmissionRate("healing", effect.configParameter("emissionRate", 3)) --- > animator.setParticleEmitterEmissionRate("healing", config.getParameter("emissionRate", 3)) 8c8 < self.healingRate = effect.configParameter("healAmount", 30) / effect.duration() --- > self.healingRate = config.getParameter("healAmount", 30) / effect.duration() stats\effects\bandage\bandage2.statuseffect 4c4 < "healAmount" : 35, --- > "healAmount" : 40, stats\effects\bandage\bandage3.statuseffect 4c4 < "healAmount" : 45, --- > "healAmount" : 50, stats\effects\beamout\beamout.lua 10c10 < if effect.configParameter("teleport") then --- > if config.getParameter("teleport") then 15c15 < if effect.configParameter("die") then --- > if config.getParameter("die") then stats\effects\color\color.lua 2c2 < effect.setParentDirectives("fade="..effect.configParameter("color").."=0.5") --- > effect.setParentDirectives("fade="..config.getParameter("color").."=0.5") stats\effects\deathbomb\deathbomb.lua 2c2 < if status.resourceMax("health") < effect.configParameter("minMaxHealth", 0) then --- > if status.resourceMax("health") < config.getParameter("minMaxHealth", 0) then 14c14 < effect.setParentDirectives(effect.configParameter("flashDirectives", "")) --- > effect.setParentDirectives(config.getParameter("flashDirectives", "")) 19c19 < if not status.resourcePositive("health") and status.resourceMax("health") >= effect.configParameter("minMaxHealth", 0) then --- > if not status.resourcePositive("health") and status.resourceMax("health") >= config.getParameter("minMaxHealth", 0) then 32c32 < local bombPower = status.resourceMax("health") * effect.configParameter("healthDamageFactor", 1.0) --- > local bombPower = status.resourceMax("health") * config.getParameter("healthDamageFactor", 1.0) 41c41 < file = effect.configParameter("bombConfig") --- > file = config.getParameter("bombConfig") stats\effects\electrified\electrified.lua 16c16 < local boltPower = status.resourceMax("health") * effect.configParameter("healthDamageFactor", 1.0) --- > local boltPower = status.resourceMax("health") * config.getParameter("healthDamageFactor", 1.0) 19c19 < local targetIds = world.entityQuery(mcontroller.position(), effect.configParameter("jumpDistance", 8), { --- > local targetIds = world.entityQuery(mcontroller.position(), config.getParameter("jumpDistance", 8), { stats\effects\energyregen\energyregen.lua 3c3 < animator.setParticleEmitterEmissionRate("energy", effect.configParameter("emissionRate", 5)) --- > animator.setParticleEmitterEmissionRate("energy", config.getParameter("emissionRate", 5)) 6c6 < effect.addStatModifierGroup({{stat = "energyRegen", amount = effect.configParameter("regenAmount", 0)}}) --- > effect.addStatModifierGroup({{stat = "energyRegen", amount = config.getParameter("regenAmount", 0)}}) stats\effects\food\foodheal\foodheal.lua 3c3 < animator.setParticleEmitterEmissionRate("healing", effect.configParameter("emissionRate", 3)) --- > animator.setParticleEmitterEmissionRate("healing", config.getParameter("emissionRate", 3)) 8c8 < self.healingRate = effect.configParameter("healAmount", 30) / effect.duration() --- > self.healingRate = config.getParameter("healAmount", 30) / effect.duration() stats\effects\frostslow\frostslow.statuseffect 15c15 < "icon" : "/interface/statuses/cold.png" --- > "icon" : "/interface/statuses/ice.png" stats\effects\levitation\levitation.lua 5,7c5,7 < self.maxHoverHeight = effect.configParameter("maxHoverHeight") < self.hoverSpeedMultiplier = effect.configParameter("hoverSpeedMultiplier") < self.hoverAcceleration = effect.configParameter("hoverAcceleration") --- > self.maxHoverHeight = config.getParameter("maxHoverHeight") > self.hoverSpeedMultiplier = config.getParameter("hoverSpeedMultiplier") > self.hoverAcceleration = config.getParameter("hoverAcceleration") 10,11c10,11 < self.bobInterval = effect.configParameter("bobInterval") < self.bobAmount = effect.configParameter("bobAmount") --- > self.bobInterval = config.getParameter("bobInterval") > self.bobAmount = config.getParameter("bobAmount") 13c13 < self.fallSpeedLimit = effect.configParameter("fallSpeedLimit") --- > self.fallSpeedLimit = config.getParameter("fallSpeedLimit") 16c16 < self.protectionBonus = effect.configParameter("protectionBonus") --- > self.protectionBonus = config.getParameter("protectionBonus") stats\effects\lowgrav\lowgrav.lua 2c2 < self.gravityModifier = effect.configParameter("gravityModifier") --- > self.gravityModifier = config.getParameter("gravityModifier") stats\effects\maxenergyboost\maxenergyboost.lua 2c2 < effect.addStatModifierGroup({{stat = "maxEnergy", amount = effect.configParameter("energyAmount", 0)}}) --- > effect.addStatModifierGroup({{stat = "maxEnergy", amount = config.getParameter("energyAmount", 0)}}) stats\effects\maxhealthboost\maxhealthboost.lua 2c2 < effect.addStatModifierGroup({{stat = "maxHealth", amount = effect.configParameter("healthAmount", 0)}}) --- > effect.addStatModifierGroup({{stat = "maxHealth", amount = config.getParameter("healthAmount", 0)}}) stats\effects\maxprotection\protection.lua 3,4c3,4 < {stat = "protection", amount = effect.configParameter("protection", 100)}, < {stat = "grit", amount = effect.configParameter("grit", 1.0)} --- > {stat = "protection", amount = config.getParameter("protection", 100)}, > {stat = "grit", amount = config.getParameter("grit", 1.0)} stats\effects\npcreactions\particlereaction.lua 2c2 < for _,particleEmitter in ipairs(effect.configParameter("particleEmitters")) do --- > for _,particleEmitter in ipairs(config.getParameter("particleEmitters")) do stats\effects\rage\rage.lua 3,5c3,5 < self.runModifier = effect.configParameter("runModifier", 0) < self.jumpModifier = effect.configParameter("jumpModifier", 0) < self.groundMovementModifier = effect.configParameter("groundMovementModifier", 0) --- > self.runModifier = config.getParameter("runModifier", 0) > self.jumpModifier = config.getParameter("jumpModifier", 0) > self.groundMovementModifier = config.getParameter("groundMovementModifier", 0) 8c8 < self.powerModifier = effect.configParameter("powerModifier", 0) --- > self.powerModifier = config.getParameter("powerModifier", 0) stats\effects\regeneration\regeneration.lua 7c7 < self.healingRate = 1.0 / effect.configParameter("healTime", 60) --- > self.healingRate = 1.0 / config.getParameter("healTime", 60) stats\effects\shieldeffect\shieldeffect.lua 2c2 < self.maxShieldHealth = status.stat("maxHealth") * effect.configParameter("shieldHealthMultiplier") --- > self.maxShieldHealth = status.stat("maxHealth") * config.getParameter("shieldHealthMultiplier") 6c6 < self.expirationTimer = effect.configParameter("expirationTime") or 0 --- > self.expirationTimer = config.getParameter("expirationTime") or 0 29c29 < self.expirationTimer = effect.configParameter("expirationTime") or 0 --- > self.expirationTimer = config.getParameter("expirationTime") or 0 34c34 < if not effect.configParameter("hideBorder") then effect.setParentDirectives("border=3;00FFFF99;00000000") end --- > if not config.getParameter("hideBorder") then effect.setParentDirectives("border=3;00FFFF99;00000000") end stats\effects\shieldregen\shieldregen.lua 4c4 < self.shieldHealthRegen = status.stat("maxShield") * effect.configParameter("shieldRegenPercentage") --- > self.shieldHealthRegen = status.stat("maxShield") * config.getParameter("shieldRegenPercentage") 14c14 < self.pauseTimer = effect.configParameter("pauseOnDamage", 0) --- > self.pauseTimer = config.getParameter("pauseOnDamage", 0) 17c17 < if status.stat("maxShield") <= 0 or (status.resource("shieldHealth") >= status.stat("maxShield") and effect.configParameter("expireOnFull")) then --- > if status.stat("maxShield") <= 0 or (status.resource("shieldHealth") >= status.stat("maxShield") and config.getParameter("expireOnFull")) then stats\effects\swimming\swimming.lua 2c2 < self.applyToTypes = effect.configParameter("applyToTypes") or {"player", "npc"} --- > self.applyToTypes = config.getParameter("applyToTypes") or {"player", "npc"} 12c12 < local entityType = world.entityType(entity.id()) --- > local entityType = entity.entityType() stats\effects\thorns\thorns.lua 2c2 < self.minRange = effect.configParameter("minRange") or 0.5 --- > self.minRange = config.getParameter("minRange") or 0.5 4,8c4,8 < self.visualProjectileType = effect.configParameter("visualProjectileType") < self.visualProjectileCount = effect.configParameter("visualProjectileCount") or 20 < self.visualProjectileSpeed = effect.configParameter("visualProjectileSpeed") or 20 < self.visualProjectileTime = effect.configParameter("visualProjectileTime") < self.visualDuration = effect.configParameter("visualDuration") or 0.2 --- > self.visualProjectileType = config.getParameter("visualProjectileType") > self.visualProjectileCount = config.getParameter("visualProjectileCount") or 20 > self.visualProjectileSpeed = config.getParameter("visualProjectileSpeed") or 20 > self.visualProjectileTime = config.getParameter("visualProjectileTime") > self.visualDuration = config.getParameter("visualDuration") or 0.2 10,12c10,12 < self.damageProjectileType = effect.configParameter("damageProjectileType") or "armorthornburst" < self.damageMultiplier = effect.configParameter("damageMultiplier") or 0.01 < self.border = effect.configParameter("border") --- > self.damageProjectileType = config.getParameter("damageProjectileType") or "armorthornburst" > self.damageMultiplier = config.getParameter("damageMultiplier") or 0.01 > self.border = config.getParameter("border") 14c14 < self.cooldown = effect.configParameter("cooldown") or 5 --- > self.cooldown = config.getParameter("cooldown") or 5 16c16 < self.removeInWater = effect.configParameter("removeInWater") --- > self.removeInWater = config.getParameter("removeInWater") 18c18 < self.minTriggerDamage = effect.configParameter("minTriggerDamage") or 0 --- > self.minTriggerDamage = config.getParameter("minTriggerDamage") or 0 stats\effects\vulnerability\vulnerability.lua 3c3 < {stat = "protection", effectiveMultiplier = effect.configParameter("protectionModifier", 0.01)} --- > {stat = "protection", effectiveMultiplier = config.getParameter("protectionModifier", 0.01)} stats\effects\windswept\windswept.lua 2c2 < self.movementParameters = effect.configParameter("movementParameters") --- > self.movementParameters = config.getParameter("movementParameters") tech\blink\blink.lua 2,5c2,5 < local blinkCollisionCheckDiameter = tech.parameter("blinkCollisionCheckDiameter") < local blinkVerticalGroundCheck = tech.parameter("blinkVerticalGroundCheck") < local blinkFootOffset = tech.parameter("blinkFootOffset") < local blinkHeadOffset = tech.parameter("blinkHeadOffset") --- > local blinkCollisionCheckDiameter = config.getParameter("blinkCollisionCheckDiameter") > local blinkVerticalGroundCheck = config.getParameter("blinkVerticalGroundCheck") > local blinkFootOffset = config.getParameter("blinkFootOffset") > local blinkHeadOffset = config.getParameter("blinkHeadOffset") 71,72c71,72 < local randomBlinkTries = tech.parameter("randomBlinkTries") < local randomBlinkDiameter = tech.parameter("randomBlinkDiameter") --- > local randomBlinkTries = config.getParameter("randomBlinkTries") > local randomBlinkDiameter = config.getParameter("randomBlinkDiameter") 111,114c111,114 < local energyUsage = tech.parameter("energyUsage") < local blinkMode = tech.parameter("blinkMode") < local blinkOutTime = tech.parameter("blinkOutTime") < local blinkInTime = tech.parameter("blinkInTime") --- > local energyUsage = config.getParameter("energyUsage") > local blinkMode = config.getParameter("blinkMode") > local blinkOutTime = config.getParameter("blinkOutTime") > local blinkInTime = config.getParameter("blinkInTime") 119,121c119,121 < local randomBlinkAvoidCollision = tech.parameter("randomBlinkAvoidCollision") < local randomBlinkAvoidMidair = tech.parameter("randomBlinkAvoidMidair") < local randomBlinkAvoidLiquid = tech.parameter("randomBlinkAvoidLiquid") --- > local randomBlinkAvoidCollision = config.getParameter("randomBlinkAvoidCollision") > local randomBlinkAvoidMidair = config.getParameter("randomBlinkAvoidMidair") > local randomBlinkAvoidLiquid = config.getParameter("randomBlinkAvoidLiquid") 145c145 < tech.playSound("activate") --- > animator.playSound("activate") 148c148 < tech.setAnimationState("blinking", "out") --- > animator.setAnimationState("blinking", "out") 159c159 < tech.setAnimationState("blinking", "in") --- > animator.setAnimationState("blinking", "in") tech\booster\booster.lua 41,43c41,43 < local boostControlForce = tech.parameter("boostControlForce") < local boostSpeed = tech.parameter("boostSpeed") < local energyUsagePerSecond = tech.parameter("energyUsagePerSecond") --- > local boostControlForce = config.getParameter("boostControlForce") > local boostSpeed = config.getParameter("boostSpeed") > local energyUsagePerSecond = config.getParameter("energyUsagePerSecond") 69,70c69,70 < tech.setAnimationState("boosting", "on") < tech.setParticleEmitterActive("boostParticles", true) --- > animator.setAnimationState("boosting", "on") > animator.setParticleEmitterActive("boostParticles", true) 72,73c72,73 < tech.setAnimationState("boosting", "off") < tech.setParticleEmitterActive("boostParticles", false) --- > animator.setAnimationState("boosting", "off") > animator.setParticleEmitterActive("boostParticles", false) tech\bounce\bounce.lua 16,18c16,18 < local energyUsageRate = tech.parameter("energyUsageRate") < local bounceCollisionPoly = tech.parameter("bounceCollisionPoly") < local bounceFactor = tech.parameter("bounceFactor") --- > local energyUsageRate = config.getParameter("energyUsageRate") > local bounceCollisionPoly = config.getParameter("bounceCollisionPoly") > local bounceFactor = config.getParameter("bounceFactor") 45,46c45,46 < tech.setAnimationState("bouncing", "on") < tech.playSound("activate") --- > animator.setAnimationState("bouncing", "on") > animator.playSound("activate") 52c52 < tech.setAnimationState("bouncing", "off") --- > animator.setAnimationState("bouncing", "off") tech\dash\dash.lua 16c16 < local maximumDoubleTapTime = tech.parameter("maximumDoubleTapTime") --- > local maximumDoubleTapTime = config.getParameter("maximumDoubleTapTime") 54,57c54,57 < local dashControlForce = tech.parameter("dashControlForce") < local dashSpeed = tech.parameter("dashSpeed") < local dashDuration = tech.parameter("dashDuration") < local dashCooldown = tech.parameter("dashCooldown") --- > local dashControlForce = config.getParameter("dashControlForce") > local dashSpeed = config.getParameter("dashSpeed") > local dashDuration = config.getParameter("dashDuration") > local dashCooldown = config.getParameter("dashCooldown") 59c59 < local groundOnly = tech.parameter("groundOnly") --- > local groundOnly = config.getParameter("groundOnly") 84c84 < tech.setFlipped(true) --- > animator.setFlipped(true) 87c87 < tech.setFlipped(false) --- > animator.setFlipped(false) 89,90c89,90 < tech.setAnimationState("dashing", "on") < tech.setParticleEmitterActive("dashParticles", true) --- > animator.setAnimationState("dashing", "on") > animator.setParticleEmitterActive("dashParticles", true) 96c96 < if tech.parameter("stopAfterDash") then --- > if config.getParameter("stopAfterDash") then 103,104c103,104 < tech.setAnimationState("dashing", "off") < tech.setParticleEmitterActive("dashParticles", false) --- > animator.setAnimationState("dashing", "off") > animator.setParticleEmitterActive("dashParticles", false) tech\flyingjump\flyingjump.lua 17,18c17,18 < local multiJumpCount = tech.parameter("multiJumpCount") < local energyUsage = tech.parameter("energyUsage") --- > local multiJumpCount = config.getParameter("multiJumpCount") > local energyUsage = config.getParameter("energyUsage") 23,24c23,24 < tech.burstParticleEmitter("multiJumpParticles") < tech.playSound("multiJumpSound") --- > animator.burstParticleEmitter("multiJumpParticles") > animator.playSound("multiJumpSound") tech\jetpack\jetpack.lua 21,23c21,23 < local jetpackSpeed = tech.parameter("jetpackSpeed") < local jetpackControlForce = tech.parameter("jetpackControlForce") < local energyUsagePerSecond = tech.parameter("energyUsagePerSecond") --- > local jetpackSpeed = config.getParameter("jetpackSpeed") > local jetpackControlForce = config.getParameter("jetpackControlForce") > local energyUsagePerSecond = config.getParameter("energyUsagePerSecond") 26c26 < tech.setAnimationState("jetpack", "on") --- > animator.setAnimationState("jetpack", "on") 30c30 < tech.playSound("activate") --- > animator.playSound("activate") 35c35 < tech.setAnimationState("jetpack", "off") --- > animator.setAnimationState("jetpack", "off") tech\morphball\balldash.lua 8,13c8,13 < self.energyPerSecond = tech.parameter("energyCostPerSecond") < self.dashControlForce = tech.parameter("dashControlForce") < self.dashSpeed = tech.parameter("dashSpeed") < self.ballRadius = tech.parameter("ballRadius") < self.ballFrames = tech.parameter("ballFrames") < self.ballMovementParams = tech.parameter("ballCustomMovementParameters") --- > self.energyPerSecond = config.getParameter("energyCostPerSecond") > self.dashControlForce = config.getParameter("dashControlForce") > self.dashSpeed = config.getParameter("dashSpeed") > self.ballRadius = config.getParameter("ballRadius") > self.ballFrames = config.getParameter("ballFrames") > self.ballMovementParams = config.getParameter("ballCustomMovementParameters") 47c47 < self.doubleTapTimers[dir] = tech.parameter("maxDoubleTapTime") --- > self.doubleTapTimers[dir] = config.getParameter("maxDoubleTapTime") 75c75 < tech.setGlobalTag("rotationFrame", rotationFrame) --- > animator.setGlobalTag("rotationFrame", rotationFrame) 90c90 < tech.burstParticleEmitter("morphballActivateParticles") --- > animator.burstParticleEmitter("morphballActivateParticles") 98c98 < tech.burstParticleEmitter("morphballDeactivateParticles") --- > animator.burstParticleEmitter("morphballDeactivateParticles") tech\morphball\morphball.lua 40,45c40,45 < local energyCostPerSecond = tech.parameter("energyCostPerSecond") < local ballCustomMovementParameters = tech.parameter("ballCustomMovementParameters") < local ballTransformHeightChange = tech.parameter("ballTransformHeightChange") < local ballDeactivateCollisionTest = tech.parameter("ballDeactivateCollisionTest") < local ballRadius = tech.parameter("ballRadius") < local ballFrames = tech.parameter("ballFrames") --- > local energyCostPerSecond = config.getParameter("energyCostPerSecond") > local ballCustomMovementParameters = config.getParameter("ballCustomMovementParameters") > local ballTransformHeightChange = config.getParameter("ballTransformHeightChange") > local ballDeactivateCollisionTest = config.getParameter("ballDeactivateCollisionTest") > local ballRadius = config.getParameter("ballRadius") > local ballFrames = config.getParameter("ballFrames") 84c84 < tech.setGlobalTag("rotationFrame", rotationFrame) --- > animator.setGlobalTag("rotationFrame", rotationFrame) 92c92 < tech.burstParticleEmitter("morphballActivateParticles") --- > animator.burstParticleEmitter("morphballActivateParticles") 100c100 < tech.burstParticleEmitter("morphballDeactivateParticles") --- > animator.burstParticleEmitter("morphballDeactivateParticles") tech\multijump\multijump.lua 17,18c17,18 < local multiJumpCount = tech.parameter("multiJumpCount") < local energyUsage = tech.parameter("energyUsage") --- > local multiJumpCount = config.getParameter("multiJumpCount") > local energyUsage = config.getParameter("energyUsage") 23,24c23,24 < tech.burstParticleEmitter("multiJumpParticles") < tech.playSound("multiJumpSound") --- > animator.burstParticleEmitter("multiJumpParticles") > animator.playSound("multiJumpSound") tech\skyrail\skyrail.lua 48c48 < tech.setAnimationState("skyrail", "off") --- > animator.setAnimationState("skyrail", "off") 115c115 < tech.setAnimationState("skyrail", "on") --- > animator.setAnimationState("skyrail", "on") 122c122 < tech.setAnimationState("skyrail", "off") --- > animator.setAnimationState("skyrail", "off") 146,147c146,147 < local hookOffset = tech.parameter("hookOffset") < local testOffset = tech.parameter("railtestStartOffset") --- > local hookOffset = config.getParameter("hookOffset") > local testOffset = config.getParameter("railtestStartOffset") 177c177 < self.leaveTimer = tech.parameter("railLeaveTime"); --- > self.leaveTimer = config.getParameter("railLeaveTime"); 202c202 < surfaces = tech.parameter("surfaceBehaviour") --- > surfaces = config.getParameter("surfaceBehaviour") 224,226c224,226 < local minspeed = tech.parameter("minSpeed") < local bouncespeed = tech.parameter("minBounceSpeed") < local bouncefactor = tech.parameter("bounceFactor") --- > local minspeed = config.getParameter("minSpeed") > local bouncespeed = config.getParameter("minBounceSpeed") > local bouncefactor = config.getParameter("bounceFactor") 238,239c238,239 < local hookOffset = tech.parameter("hookOffset") < local testOffset = tech.parameter("railtestStartOffset") --- > local hookOffset = config.getParameter("hookOffset") > local testOffset = config.getParameter("railtestStartOffset") 324c324 < local minspeed = tech.parameter("minSpeed") --- > local minspeed = config.getParameter("minSpeed") 338c338 < local minspeed = tech.parameter("minSpeed") --- > local minspeed = config.getParameter("minSpeed") 340c340 < local hookOffset = tech.parameter("hookOffset") --- > local hookOffset = config.getParameter("hookOffset") 428c428 < self.speed = tech.parameter("minSpeed") --- > self.speed = config.getParameter("minSpeed") 445c445 < local testLength = tech.parameter("railtestLength") --- > local testLength = config.getParameter("railtestLength") 558c558 < local validSurfaces = tech.parameter("railSurfaces") --- > local validSurfaces = config.getParameter("railSurfaces") tech\superjump\superjump.lua 14,16c14,16 < local superJumpSpeed = tech.parameter("superjumpSpeed") < local superJumpControlForce = tech.parameter("superjumpControlForce") < local superJumpTime = tech.parameter("superjumpTime") --- > local superJumpSpeed = config.getParameter("superjumpSpeed") > local superJumpControlForce = config.getParameter("superjumpControlForce") > local superJumpTime = config.getParameter("superjumpTime") 18,19c18,19 < if args.actions["superjump"] and mcontroller.onGround() and self.superJumpTimer <= 0 and tech.consumeTechEnergy(tech.parameter("energyUsage")) then < tech.playSound("jumpSound") --- > if args.actions["superjump"] and mcontroller.onGround() and self.superJumpTimer <= 0 and tech.consumeTechEnergy(config.getParameter("energyUsage")) then > animator.playSound("jumpSound") 23c23 < tech.setFlipped(mcontroller.facingDirection() < 0) --- > animator.setFlipped(mcontroller.facingDirection() < 0) 27c27 < tech.setParticleEmitterActive("jumpParticles", true) --- > animator.setParticleEmitterActive("jumpParticles", true) 30c30 < tech.setParticleEmitterActive("jumpParticles", false) --- > animator.setParticleEmitterActive("jumpParticles", false) tiles\materials\geodeblock.material 4c4 < "particleColor" : [104, 225, 241, 255], --- > "particleColor" : [121, 150, 102, 255], 8,9c8,9 < "glitchDescription" : "Analysis. This block is made of geode.", < "floranDescription" : "Ssshiny block.", --- > "glitchDescription" : "Analysis. This block is made of geode.-todo-", > "floranDescription" : "Ssshiny block.-todo-", 11c11 < "health" : 8, --- > "health" : 12, 21c21 < "zLevel" : 1561 --- > "zLevel" : 1401 tiles\materials\geodestone.material 6c6 < "description" : "Solid geodestone. It reflects the light.", --- > "description" : "Solid geodestone. It reflects the light.-todo-", 8,9c8,9 < "glitchDescription" : "Statement. Rock-hard geodestone.", < "floranDescription" : "Obsssidian. Black like Floran sssoul.", --- > "glitchDescription" : "Statement. Rock-hard geodestone.-todo-", > "floranDescription" : "Obsssidian. Black like Floran sssoul.-todo-", 21c21 < "zLevel" : 1401 --- > "zLevel" : 1561 tiles\mods\tungsten.matmod 7c7 < "harvestLevel" : 5, --- > "harvestLevel" : 3, tilesets\packed\materials.json 7c7 < "tilecount" : 179, --- > "tilecount" : 181, 541a542,547 > "179" : { > "//description" : "Solid geodestone. It reflects the light.", > "//name" : "geodestone", > "//shortdescription" : "Geode Stone", > "material" : "geodestone" > }, 547a554,559 > "180" : { > "//description" : "A shining blue block of made of geode.-todo-", > "//name" : "geodeblock", > "//shortdescription" : "Geode Block", > "material" : "geodeblock" > }, 891c903 < "//description" : "A solid steel block.", --- > "//description" : "A solid tungsten block.", 893c905 < "//shortdescription" : "Steel Block", --- > "//shortdescription" : "Tungsten Block", 1350a1363,1365 > "179" : { > "image" : ".\\../../../../tiled\\packed\\materials/geodestone.png" > }, 1352a1368,1370 > }, > "180" : { > "image" : ".\\../../../../tiled\\packed\\materials/geodeblock.png" tilesets\packed\objects-by-category\crafting.json 248c248 < "imagePositionX" : "-8", --- > "imagePositionX" : "-16", 575c575 < "//shortdescription" : "^orange;Inventors Table^white;", --- > "//shortdescription" : "^orange;Inventor's Table^white;", tilesets\packed\objects-by-category\decorative.json 7c7 < "tilecount" : 1088, --- > "tilecount" : 1106, 877a878,895 > "1088" : { > "//description" : "A geode plant in a flower pot.", > "//name" : "geodeplantpot", > "//shortdescription" : "Geode plant Pot", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodeplantpot", > "tilesetDirection" : "right" > }, > "1089" : { > "//description" : "\"-todo-\"", > "//name" : "ironsample", > "//shortdescription" : "Iron Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "ironsample", > "tilesetDirection" : "right" > }, 886a905,994 > "1090" : { > "//description" : "\"-todo-\"", > "//name" : "uraniumsample", > "//shortdescription" : "Uranium Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "uraniumsample", > "tilesetDirection" : "right" > }, > "1091" : { > "//description" : "\"-todo-\"", > "//name" : "violiumsample", > "//shortdescription" : "Violium Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "violiumsample", > "tilesetDirection" : "right" > }, > "1092" : { > "//description" : "\"-todo-\"", > "//name" : "aegisaltsample", > "//shortdescription" : "Aegisalt Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "aegisaltsample", > "tilesetDirection" : "right" > }, > "1093" : { > "//description" : "\"-todo-\"", > "//name" : "tungstensample", > "//shortdescription" : "Tungsten Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "tungstensample", > "tilesetDirection" : "right" > }, > "1094" : { > "//description" : "\"-todo-\"", > "//name" : "goldsample", > "//shortdescription" : "Gold Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "goldsample", > "tilesetDirection" : "right" > }, > "1095" : { > "//description" : "\"-todo-\"", > "//name" : "corefragmentsample", > "//shortdescription" : "Core Fragment Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "corefragmentsample", > "tilesetDirection" : "right" > }, > "1096" : { > "//description" : "\"-todo-\"", > "//name" : "titaniumsample", > "//shortdescription" : "Titanium Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "titaniumsample", > "tilesetDirection" : "right" > }, > "1097" : { > "//description" : "\"-todo-\"", > "//name" : "solariumsample", > "//shortdescription" : "Solarium Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "solariumsample", > "tilesetDirection" : "right" > }, > "1098" : { > "//description" : "\"-todo-\"", > "//name" : "coalsample", > "//shortdescription" : "Coal Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "coalsample", > "tilesetDirection" : "right" > }, > "1099" : { > "//description" : "\"-todo-\"", > "//name" : "plutoniumsample", > "//shortdescription" : "Plutonium Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "plutoniumsample", > "tilesetDirection" : "right" > }, 904a1013,1066 > "1100" : { > "//description" : "\"-todo-\"", > "//name" : "rubiumsample", > "//shortdescription" : "Rubium Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "rubiumsample", > "tilesetDirection" : "right" > }, > "1101" : { > "//description" : "\"-todo-\"", > "//name" : "platinumsample", > "//shortdescription" : "Platinum Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "platinumsample", > "tilesetDirection" : "right" > }, > "1102" : { > "//description" : "\"-todo-\"", > "//name" : "coppersample", > "//shortdescription" : "Copper Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "coppersample", > "tilesetDirection" : "right" > }, > "1103" : { > "//description" : "\"-todo-\"", > "//name" : "diamondsample", > "//shortdescription" : "Diamond Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "diamondsample", > "tilesetDirection" : "right" > }, > "1104" : { > "//description" : "\"-todo-\"", > "//name" : "durasteelsample", > "//shortdescription" : "Durasteel Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "durasteelsample", > "tilesetDirection" : "right" > }, > "1105" : { > "//description" : "\"-todo-\"", > "//name" : "prisilitesample", > "//shortdescription" : "Prisilite Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "prisilitesample", > "tilesetDirection" : "right" > }, 9367a9530,9535 > "1088" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodeplantpot.png" > }, > "1089" : { > "image" : "..\\../../../../tiled\\packed\\objects/ironsample.png" > }, 9370a9539,9568 > "1090" : { > "image" : "..\\../../../../tiled\\packed\\objects/uraniumsample.png" > }, > "1091" : { > "image" : "..\\../../../../tiled\\packed\\objects/violiumsample.png" > }, > "1092" : { > "image" : "..\\../../../../tiled\\packed\\objects/aegisaltsample.png" > }, > "1093" : { > "image" : "..\\../../../../tiled\\packed\\objects/tungstensample.png" > }, > "1094" : { > "image" : "..\\../../../../tiled\\packed\\objects/goldsample.png" > }, > "1095" : { > "image" : "..\\../../../../tiled\\packed\\objects/corefragmentsample.png" > }, > "1096" : { > "image" : "..\\../../../../tiled\\packed\\objects/titaniumsample.png" > }, > "1097" : { > "image" : "..\\../../../../tiled\\packed\\objects/solariumsample.png" > }, > "1098" : { > "image" : "..\\../../../../tiled\\packed\\objects/coalsample.png" > }, > "1099" : { > "image" : "..\\../../../../tiled\\packed\\objects/plutoniumsample.png" > }, 9375a9574,9591 > }, > "1100" : { > "image" : "..\\../../../../tiled\\packed\\objects/rubiumsample.png" > }, > "1101" : { > "image" : "..\\../../../../tiled\\packed\\objects/platinumsample.png" > }, > "1102" : { > "image" : "..\\../../../../tiled\\packed\\objects/coppersample.png" > }, > "1103" : { > "image" : "..\\../../../../tiled\\packed\\objects/diamondsample.png" > }, > "1104" : { > "image" : "..\\../../../../tiled\\packed\\objects/durasteelsample.png" > }, > "1105" : { > "image" : "..\\../../../../tiled\\packed\\objects/prisilitesample.png" tilesets\packed\objects-by-category\door.json 7c7 < "tilecount" : 95, --- > "tilecount" : 97, 835a836,852 > }, > "95" : { > "//description" : "A geode door.", > "//name" : "geodedoor", > "//shortdescription" : "Geode Door", > "imagePositionX" : "-16", > "imagePositionY" : "0", > "object" : "geodedoor", > "tilesetDirection" : "right" > }, > "96" : { > "//description" : "I can't stand on this stone platform for long!", > "//name" : "templepressureplatform", > "//shortdescription" : "Temple Pressure Platform", > "imagePositionX" : "-16", > "imagePositionY" : "-8", > "object" : "templepressureplatform" 1122a1140,1145 > }, > "95" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodedoor.png" > }, > "96" : { > "image" : "..\\../../../../tiled\\packed\\objects/templepressureplatform.png" tilesets\packed\objects-by-category\farmable.json 47c47 < "//description" : "A glowing neon melon. Tastes like bubblegum.", --- > "//description" : "The vibrant flesh of a neonmelon tastes like bubblegum.", 49c49 < "//shortdescription" : "Neon Melon Seed", --- > "//shortdescription" : "Neonmelon Seed", 74c74 < "//description" : "Pussplum! Juicy!", --- > "//description" : "The juicy pussplum gets its name from its creamy centre.", 137c137 < "//description" : "Wartweed! It has a tough skin, regrows easily.", --- > "//description" : "Not a fussy plant, wartweed grow easily under any condition.", 155c155 < "//description" : "Potato seed! Boil Em, Mash Em, Stick Em In A Stew.", --- > "//description" : "Potatoes! Boil em', mash em', stick em in a stew.", 191c191 < "//description" : "A stone that grows swords. Sometimes it might grow a LEGENDARY one!", --- > "//description" : "No one knows how this sword got here. Pull it out, it could be legendary!", 200c200 < "//description" : "Sugarcane! A fibrous crop with rich, sweet sap.", --- > "//description" : "Sugarcane is a fibrous crop with rich, sweet sap.", 218c218 < "//description" : "Wartweed! It has a tough skin, regrows easily.", --- > "//description" : "Not a fussy plant, wartweed grow easily under any condition.", 290c290 < "//description" : "Potato seed! Boil Em, Mash Em, Stick Em In A Stew.", --- > "//description" : "Potatoes! Boil em', mash em', stick em in a stew.", 425c425 < "//description" : "A glowing neon melon. Tastes like bubblegum.", --- > "//description" : "The vibrant flesh of a neonmelon tastes like bubblegum.", 427c427 < "//shortdescription" : "Neon Melon Seed", --- > "//shortdescription" : "Neonmelon Seed", 434c434 < "//description" : "The iris is the best part.", --- > "//description" : "The iris is the best part of this strange fruit.", 470c470 < "//description" : "Pussplum! Juicy!", --- > "//description" : "The juicy pussplum gets its name from its creamy centre.", 479c479 < "//description" : "Reefpod, tastes like a crunchy smoothie made from every fruit you can imagine. ", --- > "//description" : "Reefpod, tastes like a crunchy smoothie with added sea water. ", 488c488 < "//description" : "Reefpod, tastes like a crunchy smoothie made from every fruit you can imagine. ", --- > "//description" : "Reefpod, tastes like a crunchy smoothie with added sea water. ", 497c497 < "//description" : "sugarcane! Good for diabetes.", --- > "//description" : "Sugarcane is a fibrous crop with rich, sweet sap.", 506c506 < "//description" : "A ripe, juicy tomato.", --- > "//description" : "Tomatoes are a rich, juicy fruit. Or vegetable. One of the two.", 533c533 < "//description" : "A Toxic Top. Toxic, but also top!", --- > "//description" : "Toxic looking fruit, but is it all that bad?", 551c551 < "//description" : "A stone that grows swords. Sometimes it might grow a LEGENDARY one!", --- > "//description" : "No one knows how this sword got here. Pull it out, it could be legendary!", 560c560 < "//description" : "A ripe, juicy tomato.", --- > "//description" : "Tomatoes are a rich, juicy fruit. Or vegetable. One of the two.", 578c578 < "//description" : "The iris is the best part.", --- > "//description" : "The iris is the best part of this strange fruit.", 632c632 < "//description" : "A Toxic Top. Toxic, but also top!", --- > "//description" : "Toxic looking fruit, but is it all that bad?", tilesets\packed\objects-by-category\furniture.json 7c7 < "tilecount" : 288, --- > "tilecount" : 290, 1884a1885,1902 > "288" : { > "//description" : "A geode chair.", > "//name" : "geodechair", > "//shortdescription" : "Geode Chair", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodechair", > "tilesetDirection" : "right" > }, > "289" : { > "//description" : "A bed made of geode.", > "//name" : "geodebed", > "//shortdescription" : "Geode Bed", > "imagePositionX" : "-24", > "imagePositionY" : "0", > "object" : "geodebed", > "tilesetDirection" : "right" > }, 3217a3236,3241 > }, > "288" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodechair.png" > }, > "289" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodebed.png" tilesets\packed\objects-by-category\light.json 7c7 < "tilecount" : 376, --- > "tilecount" : 377, 2732a2733,2741 > "376" : { > "//description" : "A geode light.", > "//name" : "geodeceilinglight", > "//shortdescription" : "Geode Light", > "imagePositionX" : "-16", > "imagePositionY" : "0", > "object" : "geodeceilinglight", > "tilesetDirection" : "right" > }, 4248a4258,4260 > }, > "376" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodeceilinglight.png" tilesets\packed\objects-by-category\other.json 7c7 < "tilecount" : 194, --- > "tilecount" : 207, 911a912,965 > "194" : { > "//description" : "A green geode.-todo-", > "//name" : "geodednatural", > "//shortdescription" : "^orange;Geode D^white;", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodednatural", > "tilesetDirection" : "right" > }, > "195" : { > "//description" : "A green geode.-todo-", > "//name" : "geodeenote", > "//shortdescription" : "Geode Note E -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodeenote", > "tilesetDirection" : "right" > }, > "196" : { > "//description" : "A green geode.-todo-", > "//name" : "geodebnote", > "//shortdescription" : "Geode Note B -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodebnote", > "tilesetDirection" : "right" > }, > "197" : { > "//description" : "A green geode.-todo-", > "//name" : "geodednote", > "//shortdescription" : "Geode Note D -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodednote", > "tilesetDirection" : "right" > }, > "198" : { > "//description" : "A green geode.-todo-", > "//name" : "geodebnatural", > "//shortdescription" : "^orange;Geode B^white;", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodebnatural", > "tilesetDirection" : "right" > }, > "199" : { > "//description" : "A green geode.-todo-", > "//name" : "geodeanote", > "//shortdescription" : "Geode Note A -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodeanote", > "tilesetDirection" : "right" > }, 929a984,1046 > "200" : { > "//description" : "A green geode.-todo-", > "//name" : "geodeanatural", > "//shortdescription" : "^orange;Geode A^white;", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodeanatural", > "tilesetDirection" : "right" > }, > "201" : { > "//description" : "A green geode.-todo-", > "//name" : "geodecnatural", > "//shortdescription" : "^orange;Geode C^white;", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodecnatural", > "tilesetDirection" : "right" > }, > "202" : { > "//description" : "A green geode.-todo-", > "//name" : "geodecnote", > "//shortdescription" : "Geode Note C -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodecnote", > "tilesetDirection" : "right" > }, > "203" : { > "//description" : "A green geode.-todo-", > "//name" : "geodefnote", > "//shortdescription" : "Geode Note F -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodefnote", > "tilesetDirection" : "right" > }, > "204" : { > "//description" : "A green geode.-todo-", > "//name" : "geodegnote", > "//shortdescription" : "Geode Note G -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodegnote", > "tilesetDirection" : "right" > }, > "205" : { > "//description" : "A green geode.-todo-", > "//name" : "geodehnote", > "//shortdescription" : "Geode Note H -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodehnote", > "tilesetDirection" : "right" > }, > "206" : { > "//description" : "A green geode.-todo-", > "//name" : "geodehnatural", > "//shortdescription" : "^orange;Geode H^white;", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodehnatural", > "tilesetDirection" : "right" > }, 1978a2096,2113 > "194" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodednatural.png" > }, > "195" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodeenote.png" > }, > "196" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodebnote.png" > }, > "197" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodednote.png" > }, > "198" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodebnatural.png" > }, > "199" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodeanote.png" > }, 1983a2119,2139 > }, > "200" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodeanatural.png" > }, > "201" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodecnatural.png" > }, > "202" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodecnote.png" > }, > "203" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodefnote.png" > }, > "204" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodegnote.png" > }, > "205" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodehnote.png" > }, > "206" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodehnatural.png" tilesets\packed\objects-by-category\storage.json 65c65 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Floran Storage Locker", 181c181 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Hylotl Storage Locker", 513c513 < "//shortdescription" : "Avian Ship Locker", --- > "//shortdescription" : "Avian Storage Locker", 1237c1237 < "//shortdescription" : "Apex Ship Locker", --- > "//shortdescription" : "Apex Storage Locker", 1512c1512 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Human Storage Locker", 1529c1529 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Glitch Storage Locker", 1636c1636 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Novakid Storage Locker", tilesets\packed\objects-by-category\teleporter.json 7c7 < "tilecount" : 25, --- > "tilecount" : 26, 167a168,175 > "25" : { > "//description" : "It looks old and altary.", > "//name" : "avianartifactaltar", > "//shortdescription" : "Avian Artifact Altar", > "imagePositionX" : "-16", > "imagePositionY" : "0", > "object" : "avianartifactaltar" > }, 275a284,286 > }, > "25" : { > "image" : "..\\../../../../tiled\\packed\\objects/avianartifactaltar.png" tilesets\packed\objects-by-race\apex.json 227c227 < "//shortdescription" : "Apex Ship Locker", --- > "//shortdescription" : "Apex Storage Locker", tilesets\packed\objects-by-race\avian.json 7c7 < "tilecount" : 283, --- > "tilecount" : 284, 473c473 < "//shortdescription" : "Avian Ship Locker", --- > "//shortdescription" : "Avian Storage Locker", 1507a1508,1515 > "283" : { > "//description" : "I can't stand on this stone platform for long!", > "//name" : "templepressureplatform", > "//shortdescription" : "Temple Pressure Platform", > "imagePositionX" : "-16", > "imagePositionY" : "-8", > "object" : "templepressureplatform" > }, 2807a2816,2818 > }, > "283" : { > "image" : "..\\../../../../tiled\\packed\\objects/templepressureplatform.png" tilesets\packed\objects-by-race\floran.json 76c76 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Floran Storage Locker", tilesets\packed\objects-by-race\generic.json 7c7 < "tilecount" : 1410, --- > "tilecount" : 1446, 3644c3644 < "//shortdescription" : "^orange;Inventors Table^white;", --- > "//shortdescription" : "^orange;Inventor's Table^white;", 3903a3904,3993 > "1410" : { > "//description" : "A green geode.-todo-", > "//name" : "geodednatural", > "//shortdescription" : "^orange;Geode D^white;", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodednatural", > "tilesetDirection" : "right" > }, > "1411" : { > "//description" : "A geode plant in a flower pot.", > "//name" : "geodeplantpot", > "//shortdescription" : "Geode plant Pot", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodeplantpot", > "tilesetDirection" : "right" > }, > "1412" : { > "//description" : "A geode door.", > "//name" : "geodedoor", > "//shortdescription" : "Geode Door", > "imagePositionX" : "-16", > "imagePositionY" : "0", > "object" : "geodedoor", > "tilesetDirection" : "right" > }, > "1413" : { > "//description" : "A green geode.-todo-", > "//name" : "geodeenote", > "//shortdescription" : "Geode Note E -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodeenote", > "tilesetDirection" : "right" > }, > "1414" : { > "//description" : "A green geode.-todo-", > "//name" : "geodebnote", > "//shortdescription" : "Geode Note B -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodebnote", > "tilesetDirection" : "right" > }, > "1415" : { > "//description" : "A geode chair.", > "//name" : "geodechair", > "//shortdescription" : "Geode Chair", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodechair", > "tilesetDirection" : "right" > }, > "1416" : { > "//description" : "A green geode.-todo-", > "//name" : "geodednote", > "//shortdescription" : "Geode Note D -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodednote", > "tilesetDirection" : "right" > }, > "1417" : { > "//description" : "A bed made of geode.", > "//name" : "geodebed", > "//shortdescription" : "Geode Bed", > "imagePositionX" : "-24", > "imagePositionY" : "0", > "object" : "geodebed", > "tilesetDirection" : "right" > }, > "1418" : { > "//description" : "A green geode.-todo-", > "//name" : "geodebnatural", > "//shortdescription" : "^orange;Geode B^white;", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodebnatural", > "tilesetDirection" : "right" > }, > "1419" : { > "//description" : "A green geode.-todo-", > "//name" : "geodeanote", > "//shortdescription" : "Geode Note A -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodeanote", > "tilesetDirection" : "right" > }, 3912a4003,4092 > "1420" : { > "//description" : "A geode light.", > "//name" : "geodeceilinglight", > "//shortdescription" : "Geode Light", > "imagePositionX" : "-16", > "imagePositionY" : "0", > "object" : "geodeceilinglight", > "tilesetDirection" : "right" > }, > "1421" : { > "//description" : "A green geode.-todo-", > "//name" : "geodeanatural", > "//shortdescription" : "^orange;Geode A^white;", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodeanatural", > "tilesetDirection" : "right" > }, > "1422" : { > "//description" : "A green geode.-todo-", > "//name" : "geodecnatural", > "//shortdescription" : "^orange;Geode C^white;", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodecnatural", > "tilesetDirection" : "right" > }, > "1423" : { > "//description" : "A green geode.-todo-", > "//name" : "geodecnote", > "//shortdescription" : "Geode Note C -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodecnote", > "tilesetDirection" : "right" > }, > "1424" : { > "//description" : "A green geode.-todo-", > "//name" : "geodefnote", > "//shortdescription" : "Geode Note F -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodefnote", > "tilesetDirection" : "right" > }, > "1425" : { > "//description" : "A green geode.-todo-", > "//name" : "geodegnote", > "//shortdescription" : "Geode Note G -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodegnote", > "tilesetDirection" : "right" > }, > "1426" : { > "//description" : "A green geode.-todo-", > "//name" : "geodehnote", > "//shortdescription" : "Geode Note H -todo-", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodehnote", > "tilesetDirection" : "right" > }, > "1427" : { > "//description" : "\"-todo-\"", > "//name" : "ironsample", > "//shortdescription" : "Iron Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "ironsample", > "tilesetDirection" : "right" > }, > "1428" : { > "//description" : "\"-todo-\"", > "//name" : "uraniumsample", > "//shortdescription" : "Uranium Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "uraniumsample", > "tilesetDirection" : "right" > }, > "1429" : { > "//description" : "\"-todo-\"", > "//name" : "violiumsample", > "//shortdescription" : "Violium Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "violiumsample", > "tilesetDirection" : "right" > }, 3921a4102,4190 > "1430" : { > "//description" : "\"-todo-\"", > "//name" : "aegisaltsample", > "//shortdescription" : "Aegisalt Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "aegisaltsample", > "tilesetDirection" : "right" > }, > "1431" : { > "//description" : "\"-todo-\"", > "//name" : "tungstensample", > "//shortdescription" : "Tungsten Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "tungstensample", > "tilesetDirection" : "right" > }, > "1432" : { > "//description" : "\"-todo-\"", > "//name" : "goldsample", > "//shortdescription" : "Gold Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "goldsample", > "tilesetDirection" : "right" > }, > "1433" : { > "//description" : "\"-todo-\"", > "//name" : "corefragmentsample", > "//shortdescription" : "Core Fragment Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "corefragmentsample", > "tilesetDirection" : "right" > }, > "1434" : { > "//description" : "\"-todo-\"", > "//name" : "titaniumsample", > "//shortdescription" : "Titanium Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "titaniumsample", > "tilesetDirection" : "right" > }, > "1435" : { > "//description" : "\"-todo-\"", > "//name" : "solariumsample", > "//shortdescription" : "Solarium Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "solariumsample", > "tilesetDirection" : "right" > }, > "1436" : { > "//description" : "\"-todo-\"", > "//name" : "coalsample", > "//shortdescription" : "Coal Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "coalsample", > "tilesetDirection" : "right" > }, > "1437" : { > "//description" : "It looks old and altary.", > "//name" : "avianartifactaltar", > "//shortdescription" : "Avian Artifact Altar", > "imagePositionX" : "-16", > "imagePositionY" : "0", > "object" : "avianartifactaltar" > }, > "1438" : { > "//description" : "\"-todo-\"", > "//name" : "plutoniumsample", > "//shortdescription" : "Plutonium Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "plutoniumsample", > "tilesetDirection" : "right" > }, > "1439" : { > "//description" : "\"-todo-\"", > "//name" : "rubiumsample", > "//shortdescription" : "Rubium Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "rubiumsample", > "tilesetDirection" : "right" > }, 3930a4200,4253 > "1440" : { > "//description" : "\"-todo-\"", > "//name" : "platinumsample", > "//shortdescription" : "Platinum Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "platinumsample", > "tilesetDirection" : "right" > }, > "1441" : { > "//description" : "A green geode.-todo-", > "//name" : "geodehnatural", > "//shortdescription" : "^orange;Geode H^white;", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodehnatural", > "tilesetDirection" : "right" > }, > "1442" : { > "//description" : "\"-todo-\"", > "//name" : "coppersample", > "//shortdescription" : "Copper Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "coppersample", > "tilesetDirection" : "right" > }, > "1443" : { > "//description" : "\"-todo-\"", > "//name" : "diamondsample", > "//shortdescription" : "Diamond Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "diamondsample", > "tilesetDirection" : "right" > }, > "1444" : { > "//description" : "\"-todo-\"", > "//name" : "durasteelsample", > "//shortdescription" : "Durasteel Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "durasteelsample", > "tilesetDirection" : "right" > }, > "1445" : { > "//description" : "\"-todo-\"", > "//name" : "prisilitesample", > "//shortdescription" : "Prisilite Geological Sample", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "prisilitesample", > "tilesetDirection" : "right" > }, 4372c4695 < "//description" : "A glowing neon melon. Tastes like bubblegum.", --- > "//description" : "The vibrant flesh of a neonmelon tastes like bubblegum.", 4374c4697 < "//shortdescription" : "Neon Melon Seed", --- > "//shortdescription" : "Neonmelon Seed", 5060c5383 < "//description" : "Pussplum! Juicy!", --- > "//description" : "The juicy pussplum gets its name from its creamy centre.", 5609c5932 < "//description" : "Wartweed! It has a tough skin, regrows easily.", --- > "//description" : "Not a fussy plant, wartweed grow easily under any condition.", 5794c6117 < "//description" : "Potato seed! Boil Em, Mash Em, Stick Em In A Stew.", --- > "//description" : "Potatoes! Boil em', mash em', stick em in a stew.", 6272c6595 < "//description" : "A stone that grows swords. Sometimes it might grow a LEGENDARY one!", --- > "//description" : "No one knows how this sword got here. Pull it out, it could be legendary!", 6452c6775 < "//description" : "Sugarcane! A fibrous crop with rich, sweet sap.", --- > "//description" : "Sugarcane is a fibrous crop with rich, sweet sap.", 7755c8078 < "//description" : "Potato seed! Boil Em, Mash Em, Stick Em In A Stew.", --- > "//description" : "Potatoes! Boil em', mash em', stick em in a stew.", 7934c8257 < "imagePositionX" : "-8", --- > "imagePositionX" : "-16", 8216c8539 < "//description" : "A glowing neon melon. Tastes like bubblegum.", --- > "//description" : "The vibrant flesh of a neonmelon tastes like bubblegum.", 8218c8541 < "//shortdescription" : "Neon Melon Seed", --- > "//shortdescription" : "Neonmelon Seed", 8225c8548 < "//description" : "The iris is the best part.", --- > "//description" : "The iris is the best part of this strange fruit.", 8296c8619 < "//description" : "Pussplum! Juicy!", --- > "//description" : "The juicy pussplum gets its name from its creamy centre.", 8321c8644 < "//description" : "Reefpod, tastes like a crunchy smoothie made from every fruit you can imagine. ", --- > "//description" : "Reefpod, tastes like a crunchy smoothie with added sea water. ", 8330c8653 < "//description" : "Reefpod, tastes like a crunchy smoothie made from every fruit you can imagine. ", --- > "//description" : "Reefpod, tastes like a crunchy smoothie with added sea water. ", 8339c8662 < "//description" : "sugarcane! Good for diabetes.", --- > "//description" : "Sugarcane is a fibrous crop with rich, sweet sap.", 8348c8671 < "//description" : "A ripe, juicy tomato.", --- > "//description" : "Tomatoes are a rich, juicy fruit. Or vegetable. One of the two.", 8384c8707 < "//description" : "A Toxic Top. Toxic, but also top!", --- > "//description" : "Toxic looking fruit, but is it all that bad?", 8456c8779 < "//description" : "A stone that grows swords. Sometimes it might grow a LEGENDARY one!", --- > "//description" : "No one knows how this sword got here. Pull it out, it could be legendary!", 8862c9185 < "//description" : "A ripe, juicy tomato.", --- > "//description" : "Tomatoes are a rich, juicy fruit. Or vegetable. One of the two.", 9541c9864 < "//description" : "The iris is the best part.", --- > "//description" : "The iris is the best part of this strange fruit.", 10549c10872 < "//description" : "A Toxic Top. Toxic, but also top!", --- > "//description" : "Toxic looking fruit, but is it all that bad?", 10699c11022 < "//description" : "Wartweed! It has a tough skin, regrows easily.", --- > "//description" : "Not a fussy plant, wartweed grow easily under any condition.", 13600a13924,13953 > "1410" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodednatural.png" > }, > "1411" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodeplantpot.png" > }, > "1412" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodedoor.png" > }, > "1413" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodeenote.png" > }, > "1414" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodebnote.png" > }, > "1415" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodechair.png" > }, > "1416" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodednote.png" > }, > "1417" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodebed.png" > }, > "1418" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodebnatural.png" > }, > "1419" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodeanote.png" > }, 13603a13957,13986 > "1420" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodeceilinglight.png" > }, > "1421" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodeanatural.png" > }, > "1422" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodecnatural.png" > }, > "1423" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodecnote.png" > }, > "1424" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodefnote.png" > }, > "1425" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodegnote.png" > }, > "1426" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodehnote.png" > }, > "1427" : { > "image" : "..\\../../../../tiled\\packed\\objects/ironsample.png" > }, > "1428" : { > "image" : "..\\../../../../tiled\\packed\\objects/uraniumsample.png" > }, > "1429" : { > "image" : "..\\../../../../tiled\\packed\\objects/violiumsample.png" > }, 13606a13990,14019 > "1430" : { > "image" : "..\\../../../../tiled\\packed\\objects/aegisaltsample.png" > }, > "1431" : { > "image" : "..\\../../../../tiled\\packed\\objects/tungstensample.png" > }, > "1432" : { > "image" : "..\\../../../../tiled\\packed\\objects/goldsample.png" > }, > "1433" : { > "image" : "..\\../../../../tiled\\packed\\objects/corefragmentsample.png" > }, > "1434" : { > "image" : "..\\../../../../tiled\\packed\\objects/titaniumsample.png" > }, > "1435" : { > "image" : "..\\../../../../tiled\\packed\\objects/solariumsample.png" > }, > "1436" : { > "image" : "..\\../../../../tiled\\packed\\objects/coalsample.png" > }, > "1437" : { > "image" : "..\\../../../../tiled\\packed\\objects/avianartifactaltar.png" > }, > "1438" : { > "image" : "..\\../../../../tiled\\packed\\objects/plutoniumsample.png" > }, > "1439" : { > "image" : "..\\../../../../tiled\\packed\\objects/rubiumsample.png" > }, 13608a14022,14039 > }, > "1440" : { > "image" : "..\\../../../../tiled\\packed\\objects/platinumsample.png" > }, > "1441" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodehnatural.png" > }, > "1442" : { > "image" : "..\\../../../../tiled\\packed\\objects/coppersample.png" > }, > "1443" : { > "image" : "..\\../../../../tiled\\packed\\objects/diamondsample.png" > }, > "1444" : { > "image" : "..\\../../../../tiled\\packed\\objects/durasteelsample.png" > }, > "1445" : { > "image" : "..\\../../../../tiled\\packed\\objects/prisilitesample.png" tilesets\packed\objects-by-race\glitch.json 1476c1476 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Glitch Storage Locker", tilesets\packed\objects-by-race\human.json 136c136 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Human Storage Locker", tilesets\packed\objects-by-race\hylotl.json 1604c1604 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Hylotl Storage Locker", tilesets\packed\objects-by-race\novakid.json 212c212 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Novakid Storage Locker", tilesets\packed\objects-by-type\container.json 49c49 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Glitch Storage Locker", 190c190 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Novakid Storage Locker", 271c271 < "imagePositionX" : "-8", --- > "imagePositionX" : "-16", 367c367 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Floran Storage Locker", 482c482 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Hylotl Storage Locker", 876c876 < "//shortdescription" : "Avian Ship Locker", --- > "//shortdescription" : "Avian Storage Locker", 1775c1775 < "//shortdescription" : "Apex Ship Locker", --- > "//shortdescription" : "Apex Storage Locker", 2119c2119 < "//shortdescription" : "Storage Locker", --- > "//shortdescription" : "Human Storage Locker", tilesets\packed\objects-by-type\farmable.json 56c56 < "//description" : "A glowing neon melon. Tastes like bubblegum.", --- > "//description" : "The vibrant flesh of a neonmelon tastes like bubblegum.", 58c58 < "//shortdescription" : "Neon Melon Seed", --- > "//shortdescription" : "Neonmelon Seed", 83c83 < "//description" : "Pussplum! Juicy!", --- > "//description" : "The juicy pussplum gets its name from its creamy centre.", 146c146 < "//description" : "Wartweed! It has a tough skin, regrows easily.", --- > "//description" : "Not a fussy plant, wartweed grow easily under any condition.", 164c164 < "//description" : "Potato seed! Boil Em, Mash Em, Stick Em In A Stew.", --- > "//description" : "Potatoes! Boil em', mash em', stick em in a stew.", 200c200 < "//description" : "A stone that grows swords. Sometimes it might grow a LEGENDARY one!", --- > "//description" : "No one knows how this sword got here. Pull it out, it could be legendary!", 209c209 < "//description" : "Sugarcane! A fibrous crop with rich, sweet sap.", --- > "//description" : "Sugarcane is a fibrous crop with rich, sweet sap.", 218c218 < "//description" : "Wartweed! It has a tough skin, regrows easily.", --- > "//description" : "Not a fussy plant, wartweed grow easily under any condition.", 299c299 < "//description" : "Potato seed! Boil Em, Mash Em, Stick Em In A Stew.", --- > "//description" : "Potatoes! Boil em', mash em', stick em in a stew.", 434c434 < "//description" : "A glowing neon melon. Tastes like bubblegum.", --- > "//description" : "The vibrant flesh of a neonmelon tastes like bubblegum.", 436c436 < "//shortdescription" : "Neon Melon Seed", --- > "//shortdescription" : "Neonmelon Seed", 443c443 < "//description" : "The iris is the best part.", --- > "//description" : "The iris is the best part of this strange fruit.", 479c479 < "//description" : "Pussplum! Juicy!", --- > "//description" : "The juicy pussplum gets its name from its creamy centre.", 488c488 < "//description" : "Reefpod, tastes like a crunchy smoothie made from every fruit you can imagine. ", --- > "//description" : "Reefpod, tastes like a crunchy smoothie with added sea water. ", 497c497 < "//description" : "Reefpod, tastes like a crunchy smoothie made from every fruit you can imagine. ", --- > "//description" : "Reefpod, tastes like a crunchy smoothie with added sea water. ", 506c506 < "//description" : "sugarcane! Good for diabetes.", --- > "//description" : "Sugarcane is a fibrous crop with rich, sweet sap.", 524c524 < "//description" : "A ripe, juicy tomato.", --- > "//description" : "Tomatoes are a rich, juicy fruit. Or vegetable. One of the two.", 542c542 < "//description" : "A Toxic Top. Toxic, but also top!", --- > "//description" : "Toxic looking fruit, but is it all that bad?", 560c560 < "//description" : "A stone that grows swords. Sometimes it might grow a LEGENDARY one!", --- > "//description" : "No one knows how this sword got here. Pull it out, it could be legendary!", 569c569 < "//description" : "A ripe, juicy tomato.", --- > "//description" : "Tomatoes are a rich, juicy fruit. Or vegetable. One of the two.", 587c587 < "//description" : "The iris is the best part.", --- > "//description" : "The iris is the best part of this strange fruit.", 641c641 < "//description" : "A Toxic Top. Toxic, but also top!", --- > "//description" : "Toxic looking fruit, but is it all that bad?", tilesets\packed\objects-by-type\loungeable.json 7c7 < "tilecount" : 218, --- > "tilecount" : 220, 1199a1200,1217 > "218" : { > "//description" : "A geode chair.", > "//name" : "geodechair", > "//shortdescription" : "Geode Chair", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "geodechair", > "tilesetDirection" : "right" > }, > "219" : { > "//description" : "A bed made of geode.", > "//name" : "geodebed", > "//shortdescription" : "Geode Bed", > "imagePositionX" : "-24", > "imagePositionY" : "0", > "object" : "geodebed", > "tilesetDirection" : "right" > }, 2364a2383,2388 > }, > "218" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodechair.png" > }, > "219" : { > "image" : "..\\../../../../tiled\\packed\\objects/geodebed.png" treasure\biome.treasurepools 1077c1077,1118 < {"weight" : 0.3, "item" : "foundrymagmalamp-recipe"} --- > {"weight" : 0.3, "item" : "magmalamp-recipe"} > ] > }] > ], > > "geodeChestTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.2, "pool" : "basicTreasure"}, > {"weight" : 0.8, "pool" : "geodeTreasure"} > ], > "poolRounds" : [ > [0.05, 1], > [0.40, 2], > [0.30, 3], > [0.15, 4], > [0.10, 5] > ], > "allowDuplication" : false > }] > ], > > "geodeTreasure" : [ > [1, { > "pool" : [ > {"weight" : 1.0, "item" : ["geode", 20]}, > {"weight" : 0.3, "item" : "geodebed-recipe"}, > {"weight" : 0.3, "item" : "geodechair-recipe"}, > {"weight" : 0.3, "item" : "geodedoor-recipe"}, > {"weight" : 0.3, "item" : "geodeplantpot-recipe"}, > {"weight" : 0.3, "item" : "geodeceilinglight-recipe"}, > {"weight" : 0.3, "item" : "geodechest"}, > {"weight" : 0.3, "item" : "geodehead"}, > {"weight" : 0.3, "item" : "geodelegs"}, > {"weight" : 0.1, "item" : "geodeanote-recipe"}, > {"weight" : 0.1, "item" : "geodebnote-recipe"}, > {"weight" : 0.1, "item" : "geodecnote-recipe"}, > {"weight" : 0.1, "item" : "geodednote-recipe"}, > {"weight" : 0.1, "item" : "geodeenote-recipe"}, > {"weight" : 0.1, "item" : "geodefnote-recipe"}, > {"weight" : 0.1, "item" : "geodegnote-recipe"}, > {"weight" : 0.1, "item" : "geodehnote-recipe"} treasure\common.treasurepools 1007a1008,1052 > "geodeRewards" : [ > [0, { > "pool" : [ > {"weight" : 0.3, "item" : "cobblestonematerial"}, > {"weight" : 0.05, "item" : "copperore"}, > {"weight" : 0.05, "item" : "goldore"}, > {"weight" : 0.001, "item" : "diamondore"}, > {"weight" : 0.05, "item" : "ironore"}, > {"weight" : 0.009, "item" : "titaniumore"}, > {"weight" : 0.005, "item" : "aegisaltore"}, > {"weight" : 0.005, "item" : "rubiumore"}, > {"weight" : 0.005, "item" : "violiumore"}, > {"weight" : 0.005, "item" : "tungstenore"}, > {"weight" : 0.005, "item" : "plutoniumore"}, > {"weight" : 0.005, "item" : "solariumore"}, > {"weight" : 0.005, "item" : "uraniumore"}, > {"weight" : 0.0005, "item" : "ironsample"}, > {"weight" : 0.0005, "item" : "coppersample"}, > {"weight" : 0.0005, "item" : "tungstensample"}, > {"weight" : 0.0005, "item" : "tungstensample"}, > {"weight" : 0.0005, "item" : "titaniumsample"}, > {"weight" : 0.0005, "item" : "durasteelsample"}, > {"weight" : 0.0005, "item" : "diamondsample"}, > {"weight" : 0.0005, "item" : "rubiumsample"}, > {"weight" : 0.0005, "item" : "aegisaltsample"}, > {"weight" : 0.0005, "item" : "violiumsample"}, > {"weight" : 0.0005, "item" : "prisilitesample"}, > {"weight" : 0.0005, "item" : "corefragmentsample"}, > {"weight" : 0.0005, "item" : "silversample"}, > {"weight" : 0.0005, "item" : "goldsample"}, > {"weight" : 0.0005, "item" : "uraniumsample"}, > {"weight" : 0.0005, "item" : "coalsample"}, > {"weight" : 0.0005, "item" : "plutoniumsample"}, > {"weight" : 0.0005, "item" : "platinumsample"}, > {"weight" : 0.1, "item" : "geodebluesample"}, > {"weight" : 0.1, "item" : "geodegreensample"}, > {"weight" : 0.1, "item" : "geodeorangesample"}, > {"weight" : 0.1, "item" : "geodepurplesample"}, > {"weight" : 0.1, "item" : "geoderedsample"}, > {"weight" : 0.1, "item" : "geodeyellowsample"} > > ] > }] > ], > treasure\default.treasurechests 206a207,214 > > "geodeChest" : [ > { > "containers" : [ "ironchest" ], > "treasurePool" : "geodeChestTreasure", > "minimumLevel" : 0 > } > ], treasure\monster.treasurepools 69c69 < {"weight" : 0.85, "pool" : "money"}, --- > {"weight" : 0.65, "pool" : "money"}, 70a71 > {"weight" : 0.10, "item" : "laserdiode"}, 71a73 > {"weight" : 0.10, "item" : "stickofram"}, 86c88 < {"weight" : 0.10, "item" : "circuitboard"}, --- > {"weight" : 0.10, "item" : "stickofram"}, 101c103 < {"weight" : 0.15, "item" : "circuitboard"}, --- > {"weight" : 0.15, "item" : "stickofram"}, treasure\smashable.treasurepools 109a110,121 > "smashGeode" : [ > [0, { > "poolRounds" : [ > [0.25, 3], > [0.75, 2] > ], > "pool" : [ > {"weight" : 0.9, "item" : "geode"} > ] > }] > ], > vehicles\boat\boat.lua 13,14c13 < self.maxHealth =1 < self.waterFactor=0 --how much water are we in right now --- > self.waterFactor = 0 --how much water are we in right now 16,18c15,17 < self.rockingInterval = vehicle.configParameter("rockingInterval") < self.maxHealth = vehicle.configParameter("maxHealth") < self.protection = vehicle.configParameter("protection") --- > self.rockingInterval = config.getParameter("rockingInterval") > self.maxHealth = config.getParameter("maxHealth") > self.protection = config.getParameter("protection") 20,22c19,21 < self.damageStateNames = vehicle.configParameter("damageStateNames") < self.damageStateDriverEmotes = vehicle.configParameter("damageStateDriverEmotes") < self.materialKind = vehicle.configParameter("materialKind") --- > self.damageStateNames = config.getParameter("damageStateNames") > self.damageStateDriverEmotes = config.getParameter("damageStateDriverEmotes") > self.materialKind = config.getParameter("materialKind") 25,28c24,27 < self.windLevelOffset = vehicle.configParameter("windLevelOffset") < self.rockingWindAngleMultiplier = vehicle.configParameter("rockingWindAngleMultiplier") < self.maxRockingAngle = vehicle.configParameter("maxRockingAngle") < self.angleApproachFactor = vehicle.configParameter("angleApproachFactor") --- > self.windLevelOffset = config.getParameter("windLevelOffset") > self.rockingWindAngleMultiplier = config.getParameter("rockingWindAngleMultiplier") > self.maxRockingAngle = config.getParameter("maxRockingAngle") > self.angleApproachFactor = config.getParameter("angleApproachFactor") 30c29 < self.speedRotationMultiplier = vehicle.configParameter("speedRotationMultiplier") --- > self.speedRotationMultiplier = config.getParameter("speedRotationMultiplier") 32,33c31,32 < self.targetMoveSpeed = vehicle.configParameter("targetMoveSpeed") < self.moveControlForce = vehicle.configParameter("moveControlForce") --- > self.targetMoveSpeed = config.getParameter("targetMoveSpeed") > self.moveControlForce = config.getParameter("moveControlForce") 35c34 < mcontroller.resetParameters(vehicle.configParameter("movementSettings")) --- > mcontroller.resetParameters(config.getParameter("movementSettings")) 37,39c36,38 < self.minWaterFactorToFloat=vehicle.configParameter("minWaterFactorToFloat") < self.sinkingBuoyancy=vehicle.configParameter("sinkingBuoyancy") < self.sinkingFriction=vehicle.configParameter("sinkingFriction") --- > self.minWaterFactorToFloat = config.getParameter("minWaterFactorToFloat") > self.sinkingBuoyancy = config.getParameter("sinkingBuoyancy") > self.sinkingFriction = config.getParameter("sinkingFriction") 41,42c40,41 < self.bowWaveParticleNames=vehicle.configParameter("bowWaveParticles") < self.bowWaveMaxEmissionRate=vehicle.configParameter("bowWaveMaxEmissionRate") --- > self.bowWaveParticleNames=config.getParameter("bowWaveParticles") > self.bowWaveMaxEmissionRate=config.getParameter("bowWaveMaxEmissionRate") 44,45c43,44 < self.splashParticleNames=vehicle.configParameter("splashParticles") < self.splashEpsilon=vehicle.configParameter("splashEpsilon") --- > self.splashParticleNames = config.getParameter("splashParticles") > self.splashEpsilon = config.getParameter("splashEpsilon") 47c46 < self.maxGroundSearchDistance = vehicle.configParameter("maxGroundSearchDistance") --- > self.maxGroundSearchDistance = config.getParameter("maxGroundSearchDistance") 50,51c49,50 < self.frontGroundTestPoint={bounds[1],bounds[2]} < self.backGroundTestPoint={bounds[3],bounds[2]} --- > self.frontGroundTestPoint = {bounds[1], bounds[2]} > self.backGroundTestPoint = {bounds[3], bounds[2]} 54c53 < self.ownerKey = vehicle.configParameter("ownerKey") --- > self.ownerKey = config.getParameter("ownerKey") 57,69c56,68 < message.setHandler("store", function(_, _, ownerKey) < < local animState=animator.animationState("base") < < if (animState=="idle" or animState=="sinking" or animState=="sunk") then < if (self.ownerKey and self.ownerKey == ownerKey) then < self.spawnPosition = mcontroller.position() < animator.setAnimationState("base", "warpOutPart1") < local localStorable = (self.driver ==nil) < return {storable = true, healthFactor = storage.health / self.maxHealth} < end < end < end) --- > message.setHandler("store", > function(_, _, ownerKey) > local animState=animator.animationState("base") > > if (animState == "idle" or animState == "sinking" or animState == "sunk") then > if (self.ownerKey and self.ownerKey == ownerKey) then > self.spawnPosition = mcontroller.position() > animator.setAnimationState("base", "warpOutPart1") > local localStorable = (self.driver == nil) > return {storable = true, healthFactor = storage.health / self.maxHealth} > end > end > end) 71d69 < --assume maxhealth 75c73 < local startHealthFactor = vehicle.configParameter("startHealthFactor") --- > local startHealthFactor = config.getParameter("startHealthFactor") 85d82 < --set up any damage efects we have... 87,89c84 < self.maxBuoyancy =mcontroller.parameters().liquidBuoyancy < < --- > self.maxBuoyancy = mcontroller.parameters().liquidBuoyancy 93c88 < local sinkAngle=-math.pi*0.4 --- > local sinkAngle = -math.pi*0.4 95,96c90,91 < local animState=animator.animationState("base") < local waterFactor = mcontroller.liquidPercentage(); --- > local animState = animator.animationState("base") > local waterFactor = mcontroller.liquidPercentage() 98,99c93 < < if (animState=="warpedOut") then --- > if (animState == "warpedOut") then 101c95 < elseif (animState=="warpInPart1" or animState=="warpOutPart2") then --- > elseif (animState == "warpInPart1" or animState == "warpOutPart2") then 104d97 < --lock it solid whilst spawning/despawning 106,110c99,101 < mcontroller.setVelocity({0,0}) < elseif (animState=="sunk") then < -- world.debugText("sunk",mcontroller.position(),"red") < -- not much here. < local targetAngle=calcGroundCollisionAngle(self.maxGroundSearchDistance) --- > mcontroller.setVelocity({0, 0}) > elseif (animState == "sunk") then > local targetAngle = calcGroundCollisionAngle(self.maxGroundSearchDistance) 112,114c103,104 < < elseif (animState=="sinking") then < world.debugText("sinking",mcontroller.position(),"red") --- > elseif (animState == "sinking") then > world.debugText("sinking", mcontroller.position(), "red") 116,120c106,108 < self.angle=updateSinking(waterFactor, self.angle,sinkAngle) < < elseif (animState=="idle") then < < world.debugText("idle",mcontroller.position(),"green") --- > self.angle = updateSinking(waterFactor, self.angle, sinkAngle) > elseif (animState == "idle") then > world.debugText("idle", mcontroller.position(), "green") 124c112 < self.waterBounds=mcontroller.localBoundBox() --- > self.waterBounds = mcontroller.localBoundBox() 127,128c115,116 < if (waterFactor>0) then < waterSurface=(self.waterBounds[4] * waterFactor) + (self.waterBounds[2] * (1.0-waterFactor)) --- > if (waterFactor > 0) then > waterSurface = (self.waterBounds[4] * waterFactor) + (self.waterBounds[2] * (1.0 - waterFactor)) 131,134c119,120 < self.waterBounds[2] = waterSurface +0.25 < self.waterBounds[4] = waterSurface +0.5 < < world.debugText(string.format("WaterSurface=%s", self.waterBounds[2]),mcontroller.position(),"yellow") --- > self.waterBounds[2] = waterSurface + 0.25 > self.waterBounds[4] = waterSurface + 0.5 135a122 > world.debugText(string.format("WaterSurface=%s", self.waterBounds[2]), mcontroller.position(), "yellow") 137,140c124 < local facing < local moving < < moving,facing = updateDriving() --- > local moving, facing = updateDriving() 147,148c131,132 < if storage.health<=0 then < vehicle.setLoungeEnabled("titanicPose",false) --- > if storage.health <= 0 then > vehicle.setLoungeEnabled("titanicPose", false) 153c137 < self.waterFactor=waterFactor --how deep are we in the water right now ? --- > self.waterFactor = waterFactor 160d143 < 168d150 < 171,172d152 < < 196c176 < return moving,facing --- > return moving, facing 206c186 < vehicle.setLoungeEnabled("drivingSeat",false) --- > vehicle.setLoungeEnabled("drivingSeat", false) 208c188 < local targetAngle=calcGroundCollisionAngle(self.maxGroundSearchDistance) --- > local targetAngle = calcGroundCollisionAngle(self.maxGroundSearchDistance) 211,213c191,192 < if (waterFactor> self.minWaterFactorToFloat) then < if (currentAngle~=sinkAngle) then < --- > if (waterFactor > self.minWaterFactorToFloat) then > if (currentAngle ~= sinkAngle) then 216,220c195,201 < local lerpFactor=math.cos(currentAngle) < local finalBuoyancy=(self.maxBuoyancy * lerpFactor) + (self.sinkingBuoyancy* (1.0-lerpFactor)) < mcontroller.applyParameters({ liquidBuoyancy=finalBuoyancy, < liquidFriction=self.sinkingFriction, < frictionEnabled=true}) --- > local lerpFactor = math.cos(currentAngle) > local finalBuoyancy = (self.maxBuoyancy * lerpFactor) + (self.sinkingBuoyancy* (1.0 - lerpFactor)) > mcontroller.applyParameters({ > liquidBuoyancy = finalBuoyancy, > liquidFriction = self.sinkingFriction, > frictionEnabled = true > }) 232,233c213 < local targetAngle=0 < --- > local targetAngle 249c229 < targetAngle=calcGroundCollisionAngle(self.waterBounds[2]) --pass in the water surtface --- > targetAngle = calcGroundCollisionAngle(self.waterBounds[2]) --pass in the water surface 254d233 < 256,261c235,238 < local floatingLiquid=mcontroller.liquidId() < < if (floatingLiquid>0) then < < if (floatingLiquid>#self.bowWaveParticleNames) then < floatingLiquid=1 --off the end, go to "water" as a default --- > local floatingLiquid = mcontroller.liquidId() > if (floatingLiquid > 0) then > if (floatingLiquid > #self.bowWaveParticleNames) then > floatingLiquid = 1 --off the end, go to "water" as a default 274,276c251 < < < function updateMovingEffects(floating,moving) --- > function updateMovingEffects(floating, moving) 279d253 < 281,286c255,258 < local floatingLiquid=mcontroller.liquidId() < < if (floatingLiquid>0) then < < if (floatingLiquid>#self.bowWaveParticleNames) then < floatingLiquid=1 --off the end, go to "water" as a default --- > local floatingLiquid = mcontroller.liquidId() > if (floatingLiquid > 0) then > if (floatingLiquid > #self.bowWaveParticleNames) then > floatingLiquid = 1 --off the end, go to "water" as a default 289c261 < local bowWaveEmitter=self.bowWaveParticleNames[floatingLiquid] --- > local bowWaveEmitter = self.bowWaveParticleNames[floatingLiquid] 291,292c263,264 < local rateFactor=math.abs(mcontroller.xVelocity())/self.targetMoveSpeed < rateFactor=rateFactor * self.bowWaveMaxEmissionRate --- > local rateFactor = math.abs(mcontroller.xVelocity()) / self.targetMoveSpeed > rateFactor = rateFactor * self.bowWaveMaxEmissionRate 295,297c267,268 < local bowWaveBounds=self.waterBounds < -- bowWaveBounds[3]=bowWaveBounds[1]-0.5 < animator.setParticleEmitterOffsetRegion(bowWaveEmitter,bowWaveBounds) --- > local bowWaveBounds = self.waterBounds > animator.setParticleEmitterOffsetRegion(bowWaveEmitter, bowWaveBounds) 302d272 < 311,312d280 < < 316c284 < --if we have a scared face on becasue of taking damage --- > --if we have a scared face on because of taking damage 322,323c290,291 < damageStateIndex = (maxDamageState - math.ceil(healthFactor * maxDamageState))+1 < vehicle.setLoungeEmote("drivingSeat",self.damageStateDriverEmotes[damageStateIndex]) --- > damageStateIndex = (maxDamageState - math.ceil(healthFactor * maxDamageState)) + 1 > vehicle.setLoungeEmote("drivingSeat", self.damageStateDriverEmotes[damageStateIndex]) 329d296 < 356,358c323,325 < local damageTakenEmote=vehicle.configParameter("damageTakenEmote") < self.damageEmoteTimer=vehicle.configParameter("damageEmoteTime") < vehicle.setLoungeEmote("drivingSeat",damageTakenEmote) --- > local damageTakenEmote = config.getParameter("damageTakenEmote") > self.damageEmoteTimer = config.getParameter("damageEmoteTime") > vehicle.setLoungeEmote("drivingSeat", damageTakenEmote) 361d327 < 364c330 < local healthFactor = (storage.health-damage) / self.maxHealth --- > local healthFactor = (storage.health - damage) / self.maxHealth 367,368c333,334 < local prevDamageStateIndex =util.clamp( maxDamageState - math.ceil(prevhealthFactor * maxDamageState)+1, 1, maxDamageState) < self.damageStateIndex =util.clamp( maxDamageState - math.ceil(healthFactor * maxDamageState)+1, 1, maxDamageState) --- > local prevDamageStateIndex = util.clamp(maxDamageState - math.ceil(prevhealthFactor * maxDamageState) + 1, 1, maxDamageState) > self.damageStateIndex = util.clamp(maxDamageState - math.ceil(healthFactor * maxDamageState) + 1, 1, maxDamageState) 370c336 < if ((self.damageStateIndex > prevDamageStateIndex) or initialise==true) then --- > if ((self.damageStateIndex > prevDamageStateIndex) or initialise == true) then 373,375c339,340 < --change the floatation < local settingsNameList=vehicle.configParameter("damageMovementSettingNames") < local settingsObject = vehicle.configParameter(settingsNameList[self.damageStateIndex]) --- > local settingsNameList = config.getParameter("damageMovementSettingNames") > local settingsObject = config.getParameter(settingsNameList[self.damageStateIndex]) 377c342 < self.maxBuoyancy =mcontroller.parameters().liquidBuoyancy --- > self.maxBuoyancy = mcontroller.parameters().liquidBuoyancy 383d347 < --people in the vehicle change thier faces when the vehicle is damaged. 386d349 < --burstparticles. 393,399c356,357 < < local frontDistance = math.min(distanceToGround(self.frontGroundTestPoint),waterSurface) < local backDistance = math.min(distanceToGround(self.backGroundTestPoint),waterSurface) < < < -- world.debugText(string.format("front=%s, back=%s",frontDistance,backDistance),mcontroller.position(),"yellow") < --- > local frontDistance = math.min(distanceToGround(self.frontGroundTestPoint), waterSurface) > local backDistance = math.min(distanceToGround(self.backGroundTestPoint), waterSurface) 402c360 < return 0 --- > return 0 404,406c362 < local groundAngle=-math.atan(backDistance - frontDistance) < < return groundAngle --- > return -math.atan(backDistance - frontDistance) 425d380 < 427,430d381 < < < < vehicles\hoverbike\hoverbike.lua 4,27c4,27 < self.levelApproachFactor = vehicle.configParameter("levelApproachFactor") < self.angleApproachFactor = vehicle.configParameter("angleApproachFactor") < self.maxGroundSearchDistance = vehicle.configParameter("maxGroundSearchDistance") < self.maxAngle = vehicle.configParameter("maxAngle") * math.pi / 180 < self.hoverTargetDistance = vehicle.configParameter("hoverTargetDistance") < self.hoverVelocityFactor = vehicle.configParameter("hoverVelocityFactor") < self.hoverControlForce = vehicle.configParameter("hoverControlForce") < self.targetHorizontalVelocity = vehicle.configParameter("targetHorizontalVelocity") < self.horizontalControlForce = vehicle.configParameter("horizontalControlForce") < self.nearGroundDistance = vehicle.configParameter("nearGroundDistance") < self.jumpVelocity = vehicle.configParameter("jumpVelocity") < self.jumpTimeout = vehicle.configParameter("jumpTimeout") < self.backSpringPositions = vehicle.configParameter("backSpringPositions") < self.frontSpringPositions = vehicle.configParameter("frontSpringPositions") < self.bodySpringPositions = vehicle.configParameter("bodySpringPositions") < self.movementSettings = vehicle.configParameter("movementSettings") < self.occupiedMovementSettings = vehicle.configParameter("occupiedMovementSettings") < self.protection = vehicle.configParameter("protection") < self.maxHealth = vehicle.configParameter("maxHealth") < < self.smokeThreshold = vehicle.configParameter("smokeParticleHealthThreshold") < self.fireThreshold = vehicle.configParameter("fireParticleHealthThreshold") < self.maxSmokeRate = vehicle.configParameter("smokeRateAtZeroHealth") < self.maxFireRate = vehicle.configParameter("fireRateAtZeroHealth") --- > self.levelApproachFactor = config.getParameter("levelApproachFactor") > self.angleApproachFactor = config.getParameter("angleApproachFactor") > self.maxGroundSearchDistance = config.getParameter("maxGroundSearchDistance") > self.maxAngle = config.getParameter("maxAngle") * math.pi / 180 > self.hoverTargetDistance = config.getParameter("hoverTargetDistance") > self.hoverVelocityFactor = config.getParameter("hoverVelocityFactor") > self.hoverControlForce = config.getParameter("hoverControlForce") > self.targetHorizontalVelocity = config.getParameter("targetHorizontalVelocity") > self.horizontalControlForce = config.getParameter("horizontalControlForce") > self.nearGroundDistance = config.getParameter("nearGroundDistance") > self.jumpVelocity = config.getParameter("jumpVelocity") > self.jumpTimeout = config.getParameter("jumpTimeout") > self.backSpringPositions = config.getParameter("backSpringPositions") > self.frontSpringPositions = config.getParameter("frontSpringPositions") > self.bodySpringPositions = config.getParameter("bodySpringPositions") > self.movementSettings = config.getParameter("movementSettings") > self.occupiedMovementSettings = config.getParameter("occupiedMovementSettings") > self.protection = config.getParameter("protection") > self.maxHealth = config.getParameter("maxHealth") > > self.smokeThreshold = config.getParameter("smokeParticleHealthThreshold") > self.fireThreshold = config.getParameter("fireParticleHealthThreshold") > self.maxSmokeRate = config.getParameter("smokeRateAtZeroHealth") > self.maxFireRate = config.getParameter("fireRateAtZeroHealth") 29,30c29,30 < self.onFireThreshold = vehicle.configParameter("onFireHealthThreshold") < self.damagePerSecondWhenOnFire = vehicle.configParameter("damagePerSecondWhenOnFire") --- > self.onFireThreshold = config.getParameter("onFireHealthThreshold") > self.damagePerSecondWhenOnFire = config.getParameter("damagePerSecondWhenOnFire") 32,33c32,33 < self.engineDamageSoundThreshold = vehicle.configParameter("engineDamageSoundThreshold") < self.intermittentDamageSoundThreshold = vehicle.configParameter("intermittentDamageSoundThreshold") --- > self.engineDamageSoundThreshold = config.getParameter("engineDamageSoundThreshold") > self.intermittentDamageSoundThreshold = config.getParameter("intermittentDamageSoundThreshold") 36,37c36,37 < self.maxDamageSoundInterval = vehicle.configParameter("maxDamageSoundInterval") < self.minDamageSoundInterval = vehicle.configParameter("minDamageSoundInterval") --- > self.maxDamageSoundInterval = config.getParameter("maxDamageSoundInterval") > self.minDamageSoundInterval = config.getParameter("minDamageSoundInterval") 40,45c40,45 < self.minDamageCollisionAccel = vehicle.configParameter("minDamageCollisionAccel") < self.minNotificationCollisionAccel = vehicle.configParameter("minNotificationCollisionAccel") < self.terrainCollisionDamage = vehicle.configParameter("terrainCollisionDamage") < self.materialKind = vehicle.configParameter("materialKind") < self.terrainCollisionDamageSourceKind = vehicle.configParameter("terrainCollisionDamageSourceKind") < self.accelerationTrackingCount = vehicle.configParameter("accelerationTrackingCount") --- > self.minDamageCollisionAccel = config.getParameter("minDamageCollisionAccel") > self.minNotificationCollisionAccel = config.getParameter("minNotificationCollisionAccel") > self.terrainCollisionDamage = config.getParameter("terrainCollisionDamage") > self.materialKind = config.getParameter("materialKind") > self.terrainCollisionDamageSourceKind = config.getParameter("terrainCollisionDamageSourceKind") > self.accelerationTrackingCount = config.getParameter("accelerationTrackingCount") 47c47 < self.damageStateNames = vehicle.configParameter("damageStateNames") --- > self.damageStateNames = config.getParameter("damageStateNames") 49,52c49,52 < self.engineIdlePitch = vehicle.configParameter("engineIdlePitch") < self.engineRevPitch = vehicle.configParameter("engineRevPitch") < self.engineIdleVolume = vehicle.configParameter("engineIdleVolume") < self.engineRevVolume = vehicle.configParameter("engineRevVolume") --- > self.engineIdlePitch = config.getParameter("engineIdlePitch") > self.engineRevPitch = config.getParameter("engineRevPitch") > self.engineIdleVolume = config.getParameter("engineIdleVolume") > self.engineRevVolume = config.getParameter("engineRevVolume") 55,57c55,57 < self.damageStatePassengerDances = vehicle.configParameter("damageStatePassengerDances") < self.damageStatePassengerEmotes = vehicle.configParameter("damageStatePassengerEmotes") < self.damageStateDriverEmotes = vehicle.configParameter("damageStateDriverEmotes") --- > self.damageStatePassengerDances = config.getParameter("damageStatePassengerDances") > self.damageStatePassengerEmotes = config.getParameter("damageStatePassengerEmotes") > self.damageStateDriverEmotes = config.getParameter("damageStateDriverEmotes") 72c72 < self.damageEmoteTimer=0.0 --- > self.damageEmoteTimer = 0.0 93c93 < self.ownerKey = vehicle.configParameter("ownerKey") --- > self.ownerKey = config.getParameter("ownerKey") 100c100 < local startHealthFactor = vehicle.configParameter("startHealthFactor") --- > local startHealthFactor = config.getParameter("startHealthFactor") 112,122c112,120 < function(_, _, ownerKey) < < if (self.ownerKey and self.ownerKey == ownerKey and self.driver == nil and animator.animationState("movement")=="idle") then < animator.setAnimationState("movement", "warpOutPart1") < switchHeadLights(1,1,false) < return {storable = true, healthFactor = storage.health / self.maxHealth} < else < return {storable = false, healthFactor = storage.health / self.maxHealth} < end < end) < --- > function(_, _, ownerKey) > if (self.ownerKey and self.ownerKey == ownerKey and self.driver == nil and animator.animationState("movement") == "idle") then > animator.setAnimationState("movement", "warpOutPart1") > switchHeadLights(1, 1, false) > return {storable = true, healthFactor = storage.health / self.maxHealth} > else > return {storable = false, healthFactor = storage.health / self.maxHealth} > end > end) 125d122 < 129,130c126 < < if (animator.animationState("movement")=="invisible") then --- > if (animator.animationState("movement") == "invisible") then 132c128 < elseif (animator.animationState("movement")=="warpInPart1" or animator.animationState("movement")=="warpOutPart2") then --- > elseif (animator.animationState("movement") == "warpInPart1" or animator.animationState("movement") == "warpOutPart2") then 135c131 < mcontroller.setVelocity({0,0}) --- > mcontroller.setVelocity({0, 0}) 164,165c160 < damageStateIndex = (maxDamageState - math.ceil(healthFactor * maxDamageState))+1 < local dance = self.damageStatePassengerDances[damageStateIndex] --- > damageStateIndex = (maxDamageState - math.ceil(healthFactor * maxDamageState)) + 1 167c162,163 < if (dance~="") then --- > local dance = self.damageStatePassengerDances[damageStateIndex] > if (dance ~= "") then 171c167 < --if we have a scared face on becasue of taking damage --- > --if we have a scared face on because of taking damage 177,178c173,174 < damageStateIndex = (maxDamageState - math.ceil(healthFactor * maxDamageState))+1 < vehicle.setLoungeEmote("passengerSeat",self.damageStatePassengerEmotes[damageStateIndex]) --- > damageStateIndex = (maxDamageState - math.ceil(healthFactor * maxDamageState)) + 1 > vehicle.setLoungeEmote("passengerSeat", self.damageStatePassengerEmotes[damageStateIndex]) 182,183c178,179 < damageStateIndex = (maxDamageState - math.ceil(healthFactor * maxDamageState))+1 < vehicle.setLoungeEmote("drivingSeat",self.damageStateDriverEmotes[damageStateIndex]) --- > damageStateIndex = (maxDamageState - math.ceil(healthFactor * maxDamageState)) + 1 > vehicle.setLoungeEmote("drivingSeat", self.damageStateDriverEmotes[damageStateIndex]) 188d183 < 190,192c185,186 < < local startSoundName="engineStart" < local loopSoundName="engineLoop" --- > local startSoundName = "engineStart" > local loopSoundName = "engineLoop" 195,196c189,190 < startSoundName="engineStartDamaged" < loopSoundName="engineLoopDamaged" --- > startSoundName = "engineStartDamaged" > loopSoundName = "engineLoopDamaged" 199d192 < 201,205c194,197 < if (driverThisFrame ~=nil) then < < --has someone got in ? < if (self.driver==nil) then < animator.playSound(startSoundName) --start sound, plays once. --- > if (driverThisFrame ~= nil) then > --has someone got in ? > if (self.driver == nil) then > animator.playSound(startSoundName) 209,211c201,202 < if (loopSoundName~=self.loopPlaying) then < < if (self.loopPlaying~=nil) then --- > if (loopSoundName ~= self.loopPlaying) then > if (self.loopPlaying ~= nil) then 215,216c206,207 < animator.playSound(loopSoundName, -1) --engine sound, plays forever. < self.loopPlaying=loopSoundName --- > animator.playSound(loopSoundName, -1) > self.loopPlaying = loopSoundName 220c211 < if (self.loopPlaying~=nil) then --- > if (self.loopPlaying ~= nil) then 222c213 < self.loopPlaying=nil --- > self.loopPlaying = nil 230,231c221 < if (self.loopPlaying~=nil) then < --- > if (self.loopPlaying ~= nil) then 245,246c235,236 < animator.setSoundPitch(self.loopPlaying, self.engineRevPitch,self.engineRevTimer) < animator.setSoundVolume(self.loopPlaying, self.engineRevVolume,self.engineRevTimer) --- > animator.setSoundPitch(self.loopPlaying, self.engineRevPitch, self.engineRevTimer) > animator.setSoundVolume(self.loopPlaying, self.engineRevVolume, self.engineRevTimer) 253c243 < self.revEngine=false; --- > self.revEngine = false 263,264c253,254 < animator.setSoundPitch(self.loopPlaying, self.enginePitch,1.5) < animator.setSoundVolume(self.loopPlaying, self.engineVolume,1.5) --- > animator.setSoundPitch(self.loopPlaying, self.enginePitch, 1.5) > animator.setSoundVolume(self.loopPlaying, self.engineVolume, 1.5) 270d259 < 282c271 < if (self.loopPlaying~=nil or (self.onFireThreshold and healthFactor < self.onFireThreshold)) then --- > if (self.loopPlaying ~= nil or (self.onFireThreshold and healthFactor < self.onFireThreshold)) then 285d273 < 288c276 < if (self.damageSoundTimer <= 0.0) then --- > if (self.damageSoundTimer <= 0) then 292c280 < local randomMax = (healthFactor * self.maxDamageSoundInterval) + ((1.0-healthFactor) * self.minDamageSoundInterval) --- > local randomMax = (healthFactor * self.maxDamageSoundInterval) + ((1.0 - healthFactor) * self.minDamageSoundInterval) 295c283 < self.damageEmoteTimer=vehicle.configParameter("damageEmoteTime") --- > self.damageEmoteTimer = config.getParameter("damageEmoteTime") 297c285 < local BackfireMomentum = {0,self.jumpVelocity * 0.5} --- > local BackfireMomentum = {0, self.jumpVelocity * 0.5} 300c288 < self.damageSoundTimer = math.random()*randomMax; --- > self.damageSoundTimer = math.random() * randomMax; 305c293 < rearThrusterFrame = rearThrusterFrame+math.random(3) --- > rearThrusterFrame = rearThrusterFrame + math.random(3) 308c296 < ventralThrusterFrame = ventralThrusterFrame+math.random(3) --- > ventralThrusterFrame = ventralThrusterFrame + math.random(3) 310d297 < 313d299 < 320c306 < local newHealthFactor = (currentHealth-damage) / self.maxHealth --- > local newHealthFactor = (currentHealth - damage) / self.maxHealth 325c311 < previousDamageStateIndex = (maxDamageState - math.ceil(prevHealthFactor * maxDamageState))+1 --- > previousDamageStateIndex = (maxDamageState - math.ceil(prevHealthFactor * maxDamageState)) + 1 326a313 > 330c317 < damageStateIndex = (maxDamageState - math.ceil(newHealthFactor * maxDamageState))+1 --- > damageStateIndex = (maxDamageState - math.ceil(newHealthFactor * maxDamageState)) + 1 344,345c331,332 < if newHealthFactor<1.0 then < if (self.smokeThreshold > 0.0 and newHealthFactor < self.smokeThreshold) then --- > if newHealthFactor < 1.0 then > if (self.smokeThreshold > 0 and newHealthFactor < self.smokeThreshold) then 351c338 < if (self.fireThreshold > 0.0 and newHealthFactor < self.fireThreshold) then --- > if (self.fireThreshold > 0 and newHealthFactor < self.fireThreshold) then 362d348 < 370,373c356 < < < function switchHeadLights(oldIndex,newIndex,activate) < --- > function switchHeadLights(oldIndex, newIndex, activate) 375c358 < local listOfLists = vehicle.configParameter("lightsInDamageState") --- > local listOfLists = config.getParameter("lightsInDamageState") 381c364 < animator.setLightActive(name,false) --- > animator.setLightActive(name, false) 387c370 < animator.setLightActive(name,activate) --- > animator.setLightActive(name, activate) 398d380 < 401d382 < 403,406c384,387 < local damageTakenEmote=vehicle.configParameter("damageTakenEmote") < self.damageEmoteTimer=vehicle.configParameter("damageEmoteTime") < vehicle.setLoungeEmote("drivingSeat",damageTakenEmote) < vehicle.setLoungeEmote("passengerSeat",damageTakenEmote) --- > local damageTakenEmote = config.getParameter("damageTakenEmote") > self.damageEmoteTimer = config.getParameter("damageEmoteTime") > vehicle.setLoungeEmote("drivingSeat", damageTakenEmote) > vehicle.setLoungeEmote("passengerSeat", damageTakenEmote) 409d389 < 437d416 < 467d445 < 479d456 < 484c461 < self.enginePitch=self.engineRevPitch; --- > self.enginePitch = self.engineRevPitch; 486d462 < 505,506c481 < self.revEngine=true; < --- > self.revEngine = true; 517,518d491 < < 520c493 < if (vehicle.controlHeld("drivingSeat","PrimaryFire")) then --- > if (vehicle.controlHeld("drivingSeat", "PrimaryFire")) then 522,523d494 < < 533d503 < 536c506 < self.headlightCanToggle=true; --- > self.headlightCanToggle = true; 539,540c509,510 < if (vehicle.controlHeld("drivingSeat","AltFire")) then < if (self.hornPlaying == false) then --- > if (vehicle.controlHeld("drivingSeat", "AltFire")) then > if not self.hornPlaying then 542c512 < self.hornPlaying=true; --- > self.hornPlaying = true; 545c515 < if (self.hornPlaying == true) then --- > if self.hornPlaying then 547c517 < self.hornPlaying=false; --- > self.hornPlaying = false; 550d519 < 553d521 < 555d522 < 570c537 < updateVisualEffects(storage.health,damageThisFrame, self.headlightsOn) --- > updateVisualEffects(storage.health, damageThisFrame, self.headlightsOn) 579d545 < 582c548 < power = vehicle.configParameter("explosionDamage"), --- > power = config.getParameter("explosionDamage"), 588c554 < file = vehicle.configParameter("explosionConfig") --- > file = config.getParameter("explosionConfig") 617c583 < updateVisualEffects(storage.health, self.terrainCollisionDamage, self.headlightsOn) --- > updateVisualEffects(storage.health, self.terrainCollisionDamage, self.headlightsOn) vehicles\mech\mech.lua 8c8 < self.level = vehicle.configParameter("mechLevel", 6) --- > self.level = config.getParameter("mechLevel", 6) 13,19c13,19 < local mechAimLimit = vehicle.configParameter("mechAimLimit") * math.pi / 180 < local mechHorizontalMovement = vehicle.configParameter("mechHorizontalMovement") < local mechJumpVelocity = vehicle.configParameter("mechJumpVelocity") < local mechFireCycle = vehicle.configParameter("mechFireCycle") < local mechProjectile = vehicle.configParameter("mechProjectile") < local mechProjectileConfig = vehicle.configParameter("mechProjectileConfig") < local offGroundFrames = vehicle.configParameter("offGroundFrames") --- > local mechAimLimit = config.getParameter("mechAimLimit") * math.pi / 180 > local mechHorizontalMovement = config.getParameter("mechHorizontalMovement") > local mechJumpVelocity = config.getParameter("mechJumpVelocity") > local mechFireCycle = config.getParameter("mechFireCycle") > local mechProjectile = config.getParameter("mechProjectile") > local mechProjectileConfig = config.getParameter("mechProjectileConfig") > local offGroundFrames = config.getParameter("offGroundFrames")