Compare commits

...
Author SHA1 Message Date
Polymeta b8f4637cb3 Merge branch 'feat/power-ride-training' into 'main'
power bracer ride stat training

See merge request cable-mc/cobblemon!2503
2026-10-31 12:33:22 +00:00
Ronak Chavva 9f572250f5 fix(*): modularization 2026-10-31 06:59:37 -05:00
Ronak Chavva 0927d6fa43 fix(*): enum change, configurable item stat 2026-10-31 06:26:45 -05:00
Ronak Chavva a293b3d71f changelog additions 2026-10-31 05:09:36 -05:00
Ronak Chavva 162b1cc68f Merge branch 'main' of https://gitlab.com/ronakch8/cobblemon into feat/power-ride-training 2026-10-31 05:07:29 -05:00
Polymeta 67f906dec2 [skip-ci] changelog cleanup
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-10-30 23:47:43 +00:00
Polymeta 0570afbe05 Merge branch 'main' into 'main'
Fix habitat structure misspelling

Closes #2132

See merge request cable-mc/cobblemon!2500
2026-10-30 23:46:30 +00:00
Rayegun dfba2d27ab Fix habitat structure misspelling 2026-10-30 23:46:29 +00:00
Polymeta 9c7cd4b616 Merge branch 'healer-spawn-point' into 'main'
Healer spawn point

See merge request cable-mc/cobblemon!2489
2026-10-30 23:43:30 +00:00
Polymeta 9fe0e9c87e [skip-ci] changelog cleanup
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-10-30 23:40:22 +00:00
Polymeta bd0e5a44bd Merge branch 'feat/amethyst-core' into 'main'
feat/amethyst core

See merge request cable-mc/cobblemon!2505
2026-10-30 23:39:37 +00:00
Polymeta 229ec4176b [skip-ci] changelog cleanup
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-10-30 23:38:54 +00:00
Polymeta 323413efdc Merge branch 'fix/ponigiri-food-values-appleskin' into 'main'
fix: correct ponigiri values for AppleSkin

See merge request cable-mc/cobblemon!2513
2026-10-30 23:35:37 +00:00
Polymeta a309cc2522 [skip-ci] changelog cleanup
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-10-30 23:33:53 +00:00
Polymeta cb782a2aa1 Merge branch 'steppy-steps' into 'main'
Pokémon Stepsounds

Closes #2107

See merge request cable-mc/cobblemon!2432
2026-10-30 23:30:31 +00:00
Sterrezo 2c58dcb8ef Update CHANGELOG.md 2026-10-31 00:31:51 +01:00
Sterrezo d91cd4322c Merge branch 'main' into steppy-steps 2026-10-31 00:29:14 +01:00
whatsy e48e492392 Update CHANGELOG.md 2026-10-27 23:45:20 -04:00
whatsy 1f93994eba Merge branch 'main' into healer-spawn-point
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/world/gamerules/CobblemonGameRules.kt
2026-10-27 23:45:02 -04:00
whatsy 5210121b3d Update CHANGELOG.md 2026-10-27 23:36:23 -04:00
Gitoido Okaski 7fa3bf24d1 chore: update explanation skip_cl 2026-10-28 03:10:34 +00:00
Gitoido Okaski 1128d7edf3 fix: appleskin gradle stuff for runtime 2026-10-28 03:10:34 +00:00
Gitoido Okaski eef50a7237 fix: correct ponigiri values for AppleSkin 2026-10-28 03:10:34 +00:00
Hiroku f4140a097d Put the snap back on 2026-10-27 20:16:12 +10:00
Hiroku b79dbcca80 no scope. I mean no snap 2026-10-27 19:42:59 +10:00
Hiroku 5ac12a897a Merge remote-tracking branch 'origin/lang-updates' 2026-10-27 19:28:28 +10:00
Polymeta ae5f7c83f2 Merge branch 'implement_pokemon' into 'main'
implement_pokemon

See merge request cable-mc/cobblemon!2507
2026-10-26 23:10:50 +00:00
ewwww f14de9ab58 updated water shuriken 2026-10-26 16:35:00 -04:00
ewwww 8a1c846c2c Merge branch 'main' into implement_pokemon 2026-10-26 16:06:28 -04:00
Polymeta 459e7d3490 this doesnt make any sense
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-10-26 09:16:39 +00:00
Polymeta 5a9be8944f Merge branch 'hotbox-hitfix' into 'main'
Orb Ceiling Hitbox Correction

See merge request cable-mc/cobblemon!2512
2026-10-26 07:09:59 +00:00
Polymeta 3bb941b087 Merge branch 'dusclops-cry-fix' into 'main'
fixed dusclops using squirtle's cry

See merge request cable-mc/cobblemon!2511
2026-10-26 07:07:40 +00:00
dhi_holo 384b496d76 T H E O R B 2026-10-26 13:37:09 +10:00
geumu 4caa736e0b Translated using Weblate (Korean)
Currently translated at 99.6% (9549 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ko/
2026-10-26 02:38:47 +00:00
geumu c3e9051918 Translated using Weblate (Korean)
Currently translated at 98.5% (9445 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ko/
2026-10-26 02:26:52 +00:00
ewwww fe940caafc fixed dusclops using squirtle's cry 2026-10-25 21:33:38 -04:00
Polymeta c9d148ec9c bump showdown build and changelog
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-10-26 00:41:23 +00:00
Polymeta e611bf4a77 Merge branch 'fix-missing-recipe-book-data' into 'main'
Fixed Cooking Pot recipe book tabs and entries on Fabric

See merge request cable-mc/cobblemon!2510
2026-10-26 00:37:47 +00:00
Polymeta 8093822140 Merge branch 'battle-selection-fix' into 'main'
Fixed a bug with battle selection.

See merge request cable-mc/cobblemon!2509
2026-10-26 00:27:00 +00:00
Fyre520 f695ec15f9 Fixed Cooking Pot recipe book tabs and entries on Fabric 2026-10-26 02:01:15 +05:30
Deltric 1f6c791ce6 Fixed a bug with battle selection. 2026-10-25 14:24:44 -04:00
Polymeta 570805fdf1 Merge branch 'structure-tags-for-spawning' into 'main'
Structure Spawn Tags

See merge request cable-mc/cobblemon!2508
2026-10-25 16:53:38 +00:00
dhi_holo ddecb08bc7 Edit is_illager_structure.json 2026-10-26 00:21:36 +10:00
Kenji_64 a1b930a21f More Frogadier fixes (ty Mitchoo) 2026-10-25 14:14:44 +01:00
Kenji_64 7728ff3892 Fixed Fearow missing blink crashing during gliding 2026-10-25 14:11:22 +01:00
阿鱼 0b38e063d2 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.7% (9464 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/zh_Hans/
2026-10-25 10:52:25 +00:00
Hiroku 4d7cfcdf61 Added q.target_fainted to MoveInstruction 2026-10-25 11:11:52 +10:00
Hiroku e56dd6ef64 snap it back on 2026-10-25 10:43:01 +10:00
Kenji_64 236b98fa78 I forgot the changelog :( 2026-10-25 02:21:08 +02:00
Kenji_64 ac61e0d4d0 Had to fix Froakie again. Heck 2026-10-25 02:20:20 +02:00
Kenji_64 d8956fd66f Froakie line eye lid and animation fixes 2026-10-25 02:14:01 +02:00
Hiroku ffe005511d but what would snapshot look like when it's false? 2026-10-25 10:03:22 +10:00
Hiroku 1e634a20b8 Merge remote-tracking branch 'origin/lang-updates' 2026-10-25 09:57:49 +10:00
ewwww 50a5a78dd4 Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2026-10-24 19:16:59 -04:00
ewwww 76c2654399 it appears my lang tweaks were reverted somehow 2026-10-24 19:16:20 -04:00
Polymeta f9f4745e93 Merge branch 'implement_pokemon' into 'main'
Some recent riding stuff adjustments

See merge request cable-mc/cobblemon!2506
2026-10-24 16:23:07 +00:00
Kenji_64 c700674289 Fearow animations updated (again) and added all placeholders I made to the changelog 2026-10-24 18:05:05 +02:00
Kenji_64 c4f0032eee Fixed Squawkabilly's missing toe 2026-10-24 15:24:17 +02:00
Kenji_64 d92986016b Adjusted Fearow's ride stats further 2026-10-24 02:12:39 +02:00
Kenji_64 ab57e01242 Fearow is now rideable with temporary animations 2026-10-24 01:46:41 +02:00
Kenji_64 0da1c740a4 Adjusted Altaria ride stats 2026-10-24 01:44:26 +02:00
Kenji_64 a7979aa80c Adjusted Togekiss ride stats. Changed style from jet to bird 2026-10-24 01:44:10 +02:00
Ronak Chavva 397d3c618d reverted amythest pokespawn condition 2026-10-23 18:28:22 -05:00
Ronak Chavva 066a6b56f7 Merge branch 'main' of https://gitlab.com/ronakch8/cobblemon into feat/power-ride-training 2026-10-23 18:13:32 -05:00
Ronak Chavva 29f6feab6c Merge branch 'main' of https://gitlab.com/ronakch8/cobblemon into feat/amethyst-core 2026-10-23 18:09:35 -05:00
Ronak Chavva ea5d3ae40f amethyst grows on core 2026-10-23 18:09:11 -05:00
Polymeta 59804a4e08 rescrape spawns and drops
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-10-23 23:36:25 +01:00
Polymeta 072c67acad Merge branch 'implement_pokemon' into 'main'
implement_pokemon

See merge request cable-mc/cobblemon!2496
2026-10-23 22:30:54 +00:00
ewwww 60bbe221de tweaked vikavolt's jump stat 2026-10-23 17:51:10 -04:00
ewwww 5f06dc214b added vikavolt ride stats 2026-10-22 22:51:05 -04:00
Ronak Chavva 7687833add mapping rewrite 2026-10-22 21:35:48 -05:00
ewwww a6607e585b changed vikavolt to bird style 2026-10-22 21:45:56 -04:00
Gitoido Okaski 20584f4507 Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2026-10-23 01:02:35 +03:00
Kenji_64 9660f1f724 Fixed Appletun having a green tongue. (Likely from food coloring...) 2026-10-23 00:31:07 +03:00
Kenji_64 c8cbace800 Fixed Fearow's model being messed up and added the head_ai back 2026-10-23 00:31:07 +03:00
Kenji_64 a616a24923 Fixed Swampert's weird head_ai 2026-10-23 00:31:07 +03:00
Gitoido Okaski 12035dd589 chore: mudkip animation call fix, resolver orderings streamlined 2026-10-23 00:31:07 +03:00
Kenji_64 9627b80b01 Added Ninetales + alolan placeholder animations 2026-10-23 00:31:07 +03:00
Kenji_64 4e9cecc854 Converted Squawkabilly's poser to JSON and added placeholder animations 2026-10-23 00:31:06 +03:00
ewwww 9d4b19b185 vikavolt can be mounted (stat placeholders) 2026-10-23 00:31:06 +03:00
Kenji_64 aee96d06aa Made Pichu shut up in its sleep 2026-10-23 00:31:06 +03:00
Kenji_64 23e3c585f7 Wave 2 of profile adjustments 2026-10-23 00:31:06 +03:00
Kenji_64 c22a88079f Added Fearow placeholders and fixed its neck (also adjusted Swampert placeholder) 2026-10-23 00:31:06 +03:00
Kenji_64 2225402082 Added transparency to Vikavolt 2026-10-23 00:31:06 +03:00
Kenji_64 9197207431 Implemented Magby and Magmar animations 2026-10-23 00:31:06 +03:00
Kenji_64 47c7f7079c Added placeholder animations to Mudkip, Marshtomp, Swampert and Spearow 2026-10-23 00:31:06 +03:00
Kenji_64 eb0c1dddfd Scaled down a huge lot of small Pokémon's profiles and fixed some that were off over all 2026-10-23 00:31:06 +03:00
Kenji_64 e3dbfe6ff8 Added Eerie Spell activate and Hospitality lang (Hospitality's text does not work properly atm due to a Doubles bug) 2026-10-23 00:31:06 +03:00
whatsy fac207f36b Revert "Rescrape drops"
This reverts commit 6a7d5d2133.
2026-10-23 00:31:06 +03:00
ewwww 379e794848 removed igglybuff, jigglypuff, and wigglytuff's rights to float 2026-10-23 00:31:06 +03:00
ewwww 9081a4b131 added water shuriken fx 2026-10-23 00:31:06 +03:00
ewwww dc6d75b8ee sped up cacnea and hippowdon's walk speed 2026-10-23 00:31:06 +03:00
ewwww bb297a4448 fixed t-posing archeops during air_cry 2026-10-23 00:31:06 +03:00
whatsy a93922c438 Rescrape drops 2026-10-23 00:31:06 +03:00
Kenji_64 f7d21c80d7 Fixed Appletun having a green tongue. (Likely from food coloring...) 2026-10-22 23:16:45 +02:00
Kenji_64 9248d26fd4 Fixed Fearow's model being messed up and added the head_ai back 2026-10-22 23:03:50 +02:00
Ronak Chavva cb9ba82fcc holding power bracer while riding, 1 to all 5 stats 2026-10-22 03:11:14 -05:00
dhi_holo b5ac54cd16 Tweaks to prepare for Scrapes 2026-10-21 14:22:17 +10:00
dhi_holo dc703e67f7 Merge branch 'main' into structure-tags-for-spawning 2026-10-21 14:01:10 +10:00
Kenji_64 0930721865 Fixed Swampert's weird head_ai 2026-10-19 16:34:31 +02:00
Gitoido Okaski 644ff1772e chore: mudkip animation call fix, resolver orderings streamlined 2026-10-19 16:56:42 +03:00
Kenji_64 3c7e0bebb6 Added Ninetales + alolan placeholder animations 2026-10-19 15:44:42 +02:00
Kenji_64 0c0eea3876 Converted Squawkabilly's poser to JSON and added placeholder animations 2026-10-19 15:44:20 +02:00
ewwww 5535140bb7 vikavolt can be mounted (stat placeholders) 2026-10-19 03:37:39 -04:00
Kenji_64 9b0ca1c16b Made Pichu shut up in its sleep 2026-10-18 18:46:52 +02:00
Kenji_64 052ff59f57 Wave 2 of profile adjustments 2026-10-18 18:46:15 +02:00
Kenji_64 40e5ef1c46 Added Fearow placeholders and fixed its neck (also adjusted Swampert placeholder) 2026-10-18 18:45:31 +02:00
Kenji_64 5025977d23 Added transparency to Vikavolt 2026-10-18 18:44:22 +02:00
Kenji_64 922006afe7 Implemented Magby and Magmar animations 2026-10-18 16:14:45 +02:00
Kenji_64 46cc7cb04d Added placeholder animations to Mudkip, Marshtomp, Swampert and Spearow 2026-10-18 15:48:35 +02:00
Kenji_64 fa3e3bbb1b Scaled down a huge lot of small Pokémon's profiles and fixed some that were off over all 2026-10-18 15:47:46 +02:00
Kenji_64 afbdcce337 Added Eerie Spell activate and Hospitality lang (Hospitality's text does not work properly atm due to a Doubles bug) 2026-10-18 15:46:19 +02:00
Nico Merenq 1fa113f5ac Translated using Weblate (Russian)
Currently translated at 84.8% (8137 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ru/
2026-10-18 11:56:30 +00:00
whatsy f680682f61 Revert "Rescrape drops"
This reverts commit 6a7d5d2133.
2026-10-17 22:51:02 -04:00
whatsy 4d93d1244d Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2026-10-17 22:40:25 -04:00
whatsy 6a7d5d2133 Rescrape drops 2026-10-17 22:40:13 -04:00
ewwww 98397cd1da removed igglybuff, jigglypuff, and wigglytuff's rights to float 2026-10-17 21:57:59 -04:00
ewwww fc5a610394 added water shuriken fx 2026-10-17 20:37:00 -04:00
ewwww 504df5d998 sped up cacnea and hippowdon's walk speed 2026-10-17 20:16:26 -04:00
ewwww 3b4d3ebf50 fixed t-posing archeops during air_cry 2026-10-17 20:01:56 -04:00
Watuneni iteite 8443b88c16 Translated using Weblate (Japanese)
Currently translated at 99.0% (9500 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ja/
2026-10-16 17:12:33 +00:00
Gustavo Puerari b71208299f Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.7% (9276 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/pt_BR/
2026-10-15 18:07:01 +00:00
Watuneni iteite 136b5824b0 Translated using Weblate (Japanese)
Currently translated at 98.7% (9464 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ja/
2026-10-15 18:06:58 +00:00
whatsy bacc482bf0 finishing touches 2026-10-14 16:25:16 -04:00
Gertimoshka edb3f906f8 Simpler Mixin 2026-10-14 21:48:14 +02:00
whatsy 4171bf341b Add config option to allow using healing machines as a respawn point 2026-10-14 15:02:54 -04:00
Watuneni iteite f9189b265f Translated using Weblate (Japanese)
Currently translated at 98.7% (9464 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ja/
2026-10-14 15:27:44 +00:00
dhi_holo 8e1fcc6f14 Structure Spawn Tags
Feel free to rename, delete, or rework any of these, it's moreso just setting the groundwork

`spawns/is_aquatic_monument` - Ocean Monuments and related structures
`spawns/is_aquatic_ruins` - Ocean Ruins and similar structures
`spawns/is_civilization` - Village and Towns tag, for anything that should spawn at any kind of village/town
`spawns/is_desert_monument` - Desert Pyramids and Temples
`spawns/is_dungeon` - Modded tag, the idea is things of the Stronghold *vibe*, but not being literal strongholds
`spawns/is_end_structure` - End Cities and related structures
`spawns/is_graveyard` - Modded tag, graveyards and crypts
`spawns/is_igloo` - just the vanilla igloo, it's me just wanting stuff in tags where it isn't yet so if some addon wants to give igloos another place they can
`spawns/is_illager_outpost` - small settlements for illagers, such as campsites and other small watchtower-like things
`spawns/is_illager_structure` - Bigger illager structures, the mansion, manors, stuff that has a sense of "infrastructure" I suppose
`spawns/is_jungle_monument` - Jungle Temples and Pyramids
`spawns/is_nether_structure` - is a structure of the Nether
`spawns/is_piglin_structure` - is a structure specifically inhabited by Piglins. Can be used to either add stuff specifically around Piglins, or to prevent things around them
`spawns/is_ruins` - Taking what we have as ruins and just applying that logic to other mods
`spawns/is_shipwreck` - not sure if we use this for spawns, but if we do this can be hooked into, if not then this could be deleted, no hassle, just felt like a logical thing to include. Is related to "surface" shipwrecks, not things like the coves
`spawns/is_witch_structure` - witch structures, like huts, villages, etc. Also added any structures that force black cat spawning, as that's used to reference to witches in the vanilla tags

Mods used within the tags so far:
https://modrinth.com/mod/dungeons-and-taverns (`nova_structures`)
A lot of https://modrinth.com/organization/nuVP8uUG mods (the Yung structure ones, usually starts as `better` and then the structure name)
https://modrinth.com/mod/enderscape
https://modrinth.com/mod/aquamirae
https://modrinth.com/mod/terralith
Will continue to investigate mods to add to these
2026-10-14 17:54:34 +10:00
Watuneni iteite 21c4d0233d Translated using Weblate (Japanese)
Currently translated at 98.7% (9464 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ja/
2026-10-13 12:09:59 +00:00
Gitoido 61d53f3052 Merge branch 'main' into 'steppy-steps'
# Conflicts:
#   common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
2026-10-09 16:19:32 +00:00
dhi_holo b426df7271 A Metric Buttton of Tagging
Added a bunch of tags, IDs, and redundancies, it doesn't cover everything but it should cover a lot of the base game without much worry
2026-09-28 10:29:50 +10:00
Sterrezo 1543e06a06 Update CHANGELOG.md 2026-09-27 14:56:17 +02:00
Sterrezo d7b4ccb1e5 Update corviknight.animation.json 2026-09-27 14:46:07 +02:00
Sterrezo dedd449329 Update corviknight.animation.json 2026-09-27 14:45:31 +02:00
Sterrezo 38c589658f Finalized assets and added amethyst stepsounds it'S FINALLY DONE 2026-09-27 14:44:29 +02:00
Sterrezo 2f961bd7bf Expanded on all stepsounds to cover metal surfaces 2026-09-26 23:52:15 +02:00
Sterrezo b72244a986 Added large and medium claw stepsounds for glass surfaces 2026-09-26 19:42:06 +02:00
Sterrezo 6710f25190 Added medium and large claw stepsounds for mud, wood and snow surfaces, updated mud hoof stepsounds 2026-09-26 15:44:32 +02:00
Sterrezo 4089e5d7a9 Added medium and large claw stepsounds for dirt and sand surfaces, updated stone claw stepsounds 2026-09-26 11:54:45 +02:00
Sterrezo 0a49b5b17b Added medium and large claw stepsounds for stone surfaces, updated grass claw stepsounds 2026-09-25 16:57:06 +02:00
Sterrezo 34c40de429 Suppressed Pidgeot's and Corviknight's Minecraft stepsounds 2026-09-25 12:03:03 +02:00
Sterrezo 6d02144401 Updated grass claw stepsound assets 2026-09-25 12:01:42 +02:00
Sterrezo 561687ce0f Added stepsounds to Pidgeot's ride walk animations 2026-09-25 11:30:28 +02:00
Sterrezo 20973c6724 Added stepsound keyframes to Pidgeot, added medium and large claw stepsounds for grass surfaces 2026-09-24 22:44:15 +02:00
Sterrezo bf10a4dcef Added medium and large hoof stepsounds for glass and ice surfaces 2026-09-24 21:23:37 +02:00
Sterrezo 565987a780 Added standard medium and large stepsounds for glass/ice surfaces, updated mud hoof sounds 2026-09-23 14:49:34 +02:00
Sterrezo 4f9a6c8e98 Added medium and large hoof stepsounds for mud surfaces 2026-09-23 10:46:56 +02:00
Sterrezo 3a3e92d441 Update CHANGELOG.md 2026-09-23 00:38:26 +02:00
Sterrezo bc0dc809f9 Merge branch 'main' into steppy-steps 2026-09-23 00:37:33 +02:00
Sterrezo 92310847aa Footsteps now check from depth 0 instead of 1 2026-09-23 00:08:37 +02:00
Polymeta 5bdc59830c change standingOn logic to consider non-full blocks
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-09-22 22:44:09 +01:00
Sterrezo 17f524d3da Added standard medium and large stepsounds for mud surfaces 2026-09-22 18:45:29 +02:00
Sterrezo 4d0de2bb45 Corrected the size sound variation for leaves stepsounds 2026-09-22 15:52:05 +02:00
Sterrezo b3b8f56bb8 Made block tags optional 2026-09-22 15:45:46 +02:00
Sterrezo f036b83693 Added universal stepsounds for leaves 2026-09-22 15:34:17 +02:00
Sterrezo 73fb31c2fc Added hoof stepsounds for wood surfaces 2026-09-22 10:49:03 +02:00
Sterrezo 381787f39d Updated standard wood stepsounds 2026-09-22 10:24:12 +02:00
Sterrezo 2cb942a24b Merge branch 'main' into steppy-steps 2026-09-10 21:26:50 +02:00
Sterrezo c79cb5731e Missclicked 2026-09-10 18:14:43 +02:00
Sterrezo 4760bb15a4 Added standard medium and large footsteps for wood surfaces 2026-09-10 18:14:28 +02:00
Sterrezo aac881f23c Added large and medium hoof footstep sounds 2026-09-09 18:31:27 +02:00
Sterrezo da19c51566 Implemented standard medium and large snow footsteps 2026-09-09 17:58:27 +02:00
Sterrezo 37dd354155 Merge branch 'main' into steppy-steps 2026-09-06 11:12:32 +02:00
Sterrezo acb1ebda19 Finalized hoof sounds 2026-05-27 12:34:57 +02:00
Sterrezo 5dddc05626 Merge branch 'main' into steppy-steps 2026-05-27 00:16:42 +02:00
Sterrezo 99890671bd Added hoof footsteps for sand surfaces and updated other hoof sounds 2026-05-26 22:21:56 +02:00
Sterrezo 9451ac5f46 Merge branch 'main' into steppy-steps 2026-05-26 21:42:41 +02:00
Sterrezo a8e4e21ba1 Merge branch 'main' into steppy-steps 2026-05-19 14:15:48 +02:00
Sterrezo f555ba3703 Made Molang slightly less cursed with proper random functions 2026-05-16 14:24:18 +02:00
Sterrezo 37677b3730 Asset updates, added hoof on stone sounds 2026-05-16 12:17:24 +02:00
Sterrezo 2a298b2268 Merge branch 'main' into steppy-steps 2026-05-16 11:01:28 +02:00
Sterrezo ad3f94fb80 Added hoof grass medium and large sounds 2026-05-16 02:27:46 +02:00
Sterrezo 719660798e Started hoof sound implementation with Wyrdeer, asset and keyframe updates 2026-05-15 18:17:04 +02:00
Sterrezo 8d973a09e1 Tweaks to the footstep function logic to better account for depth
If depth is 2 outright, the function could pick a block below the actual block the entity is standing on if it was checked earlier in the function. Loop iterates twice, so now it plays footsteps even when standing on the edge of a block or running down slopes.
2026-05-15 11:48:50 +02:00
Sterrezo 3579a86cde Merge branch 'main' into steppy-steps 2026-05-15 11:08:00 +02:00
Sterrezo ba96a6a205 Added standard medium and large sand footsteps 2026-05-14 20:18:04 +02:00
Sterrezo f07d2a9a9a First implementation of footstep keyframes with Arcanine 2026-05-14 16:56:13 +02:00
Sterrezo 2469067fd4 Allow for silencing step sounds within the species file 2026-05-14 02:24:18 +02:00
974 changed files with 27154 additions and 3564 deletions

No files matched your search

+11 -74
View File
@@ -1,88 +1,25 @@
# Changelog
## [1.8.3 (MONTH xth, 2026)](#1-8-3)
## [1.8.5 (MONTH xth, 2026)](#1-8-5)
### Additions
### Cries added/updated for the following Pokémon
- Hoppip
- Skiploom
- Jumpluff
- Houndour
- Houndoom
- Wurmple
- Silcoon
- Beautifly
- Cascoon
- Dustox
- Surskit
- Masquerain
- Torkoal
- Starly
- Staravia
- Staraptor
- Combee
- Vespiquen
- Dusknoir
- Helioptile
- Heliolisk
- Grubbin
- Charjabug
- Vikavolt
- Applin (updated)
- Flapple (updated)
- Appletun
- Runerigus
- Dipplin
### Model updates for the following Pokémon
### Animation updates for the following Pokémon
- Vikavolt
- Added the `healersSetSpawn` gamerule. When enabled, using a healing machine will set your spawnpoint.
- A Pokémon holding a Power item now gains 1 point in the corresponding riding stat every two minutes while being ridden. The interval is configurable, and can be disabled with `-1`.
### Changes
- Changed the Misc icon in the Campfire Pot Recipe Book to Health Candy
- Moved EXP Candies from the Medicine recipe book category to the Misc category
- Removed Dynamic Lights data from the Magmarizer item for consistency with the block
- Added `doPokemonPredation` gamerule, which controls aggressiveness of Pokémon with `hate_entity` brain task defined
- Added `predation_chance` server config value, which controls the possibility of attacking the hated entity found by `hate_entity` brain task
- Prehistoric Eroded Pillar generates slightly more frequently
- Amethyst now grows from Typegem core blocks like typegems do
### Fixes
- Fixed datapacks with item interaction evolutions that don't specify an item crashing the world on load.
- Fixed the Pokédex evolution tree crashing when a datapack's dex entry is missing an evolution's form.
- Fixed the Pokédex evolution tree crashing with a stack overflow on evolutions that loop back on themselves.
- Fixed the Pokédex evolution tree crashing when looking at a dex that is not part of the "National Dex" aggregate.
- Fixed evolution trees not building properly when a Pokémon has several Pokédex entries for different regions.
- Fixed form-changing evolutions sometimes resolving to the source form in the Pokédex evolution tree.
- Broken datapack evolutions are now logged and skipped in the Pokédex evolution tree instead of crashing.
- Fixed the `alpha` property having no tab completion in commands such as `/pokespawn`, `/pokegive` and `/pokeedit`, and added the missing `dmax_level`, `gmax_factor` and `tradable` aliases to tab completion
- Fixed friendship booster items not being recognised as such
- Fixed conflicts with other mods that would make use of recipe books in certain ways (Farmer's Delight Cooking Pot)
- Fixed Pokémon battles stalling when a sidemod cancels the `THROWN_POKEBALL_HIT` hit event
- Fixed choice feature tab completion in `spawnpokemon/pokegive/pokeedit` commands
- Fixed MoLang that's targeting players intermittedly failing when they have died, needing them to relog
- Fixed a NeoForge bug where none of the Cobblemon plants/berries could be placed into pots
- Fixed party overlay not hiding when the player opens the Pokédex scanner
- Added compat for AppleSkin
- Fixed some display names having unintended font colours
- Fixed `hate_entity` task focusing on its own entity
- Thus enabled deadly warfare between Zangoose and Seviper
- Prehistoric Frozen Pond, Prehistoric Frozen Spike, and Prehistoric Lush Den now generate
- Fixed Frogadier floating in its battle_idle animation
- Fixed absence or incorrect mergers in spawning conditions, making max height/depth of conditions to use the min value instead
- Added stricter riding checks on server side to prevent possible packet forgery when player tries to ride pokemon
- Fixed Pokémon cries and animation sounds played from GUIs, such as the starter selection screen and the Pokédex, being tied to the Master volume slider instead of Friendly Creatures
- Fixed Ponigiri food values for AppleSkin integration
- Fixed errors emitted by typos in Parched Peat bog structure files
### Developer
- Bumped NeoForge to `21.1.195` to get access to MixinExtras `0.5` and the expressions annotation
- New Platform Event `PLAYER_RESPAWN` which is fired when a player respawns (either through death or returning from the end)
- Platform Events `SERVER_PLAYER_TICK_PRE` and `SERVER_PLAYER_TICK_POST` no longer fire when the player is dead
- it is now tied much closer to the actual entity rather than the player (or their connection)
### Molang & Datapacks
- Fixed `q.pokemon.nature` returning class instance instead of proper string value (`cobblemon:adamant`)
- Fixed `q.entity.is_looking_at` result being always `1` for whatever entity passed as target
- Added hate chance optional parameter to `hate_entity` task. `1.0` will make an entity always attack the target
- `q.is_standing_on_blocks` now properly checks for non-full blocks like slabs, Mud or Soul Sand
- Added Molang functions to play footstep sounds based on the corresponding surface. These are intended to be used by Pokémon animations.
- Pokémon can now have their Minecraft footstep sounds silenced in their poser. This doesn't affect emitting game events.
### Particles
### Localization
- Updated translations for:
+107
View File
@@ -0,0 +1,107 @@
# Changelog
## [1.8.3 (October 25th, 2026)](#1-8-3)
### Additions
- Added compatability with AppleSkin.
### New Rideable Pokémon
- Vikavolt
- Fearow
### Particles
## New Move Animations
- Water Shuriken
### Cries added/updated for the following Pokémon
- Hoppip
- Skiploom
- Jumpluff
- Houndour
- Houndoom
- Wurmple
- Silcoon
- Beautifly
- Cascoon
- Dustox
- Surskit
- Masquerain
- Torkoal
- Starly
- Staravia
- Staraptor
- Combee
- Vespiquen
- Dusknoir
- Helioptile
- Heliolisk
- Grubbin
- Charjabug
- Vikavolt
- Applin (updated)
- Flapple (updated)
- Appletun
- Runerigus
- Dipplin
### Animation updates for the following Pokémon
- Vikavolt
- Magby
- Magmar
- Ninetales (+ Alolan)
- Spearow
- Fearow
- Squawkabilly
- Mudkip
- Marshtomp
- Swampert
### Changes
- Changed the Misc icon in the Campfire Pot Recipe Book to Health Candy.
- Moved EXP Candies from the Medicine recipe book category to the Misc category.
- Removed Dynamic Lights data from the Magmarizer item for consistency with the block.
- Added `doPokemonPredation` game rule, which controls aggressiveness of Pokémon with the `hate_entity` brain task defined.
- Added `predation_chance` server config value, which controls the possibility of attacking the hated entity found in `hate_entity` brain tasks.
- Prehistoric Eroded Pillar generates slightly more frequently.
- Togekiss was changed from a jet-style mount to bird-style.
### Fixes
- Fixed datapacks with item interaction evolutions that don't specify an item crashing the world on load.
- Fixed the Pokédex evolution tree crashing when a datapack's dex entry is missing an evolution's form.
- Fixed the Pokédex evolution tree crashing with a stack overflow on evolutions that loop back on themselves.
- Fixed the Pokédex evolution tree crashing when looking at a dex that is not part of the "National Dex" aggregate.
- Fixed some display names in the Pokédex evolution tree having unintended font colours.
- Fixed evolution trees not building properly when a Pokémon has several Pokédex entries for different regions.
- Fixed form-changing evolutions sometimes resolving to the source form in the Pokédex evolution tree.
- Broken datapack evolutions are now logged and skipped in the Pokédex evolution tree instead of crashing.
- Fixed the `alpha` property having no tab completion in commands such as `/pokespawn`, `/pokegive` and `/pokeedit`, and added the missing `dmax_level`, `gmax_factor` and `tradable` aliases to tab completion.
- Fixed friendship booster items not being recognised as such.
- Fixed conflicts with other mods that would make use of recipe books in certain ways (Farmer's Delight Cooking Pot).
- Fixed Pokémon battles stalling when a sidemod cancels the `THROWN_POKEBALL_HIT` hit event.
- Fixed choice feature tab completion in `spawnpokemon/pokegive/pokeedit` commands.
- Fixed MoLang that's targeting players intermittedly failing when they have died, requiring them to relog.
- Fixed a NeoForge bug where none of the Cobblemon plants/berries could be placed into pots.
- Fixed party overlay not hiding when the player opens the Pokédex scanner.
- Fixed `hate_entity` task focusing on its own entity, therefore enabling deadly warfare between Zangoose and Seviper.
- Prehistoric Frozen Pond, Prehistoric Frozen Spike, and Prehistoric Lush Den now actually generate (oops).
- Fixed Frogadier floating in its `battle_idle` animation.
- Fixed absence or incorrect mergers in spawning conditions, causing the max height/depth of conditions to use the min value instead.
- Added stricter riding checks on server side to prevent possible packet forgery when a player tries to ride Pokémon.
- Fixed Pokémon cries and animation sounds played from GUIs, such as the starter selection screen and the Pokédex, being tied to the Master volume slider instead of Friendly Creatures.
- Fixed Archeops T-posing during its `air_cry` animation.
### Developer
- Bumped NeoForge to `21.1.195` to get access to MixinExtras `0.5` and the expressions annotation.
- New Platform Event `PLAYER_RESPAWN` which is fired when a player respawns (either through death or returning from the end).
- Platform Events `SERVER_PLAYER_TICK_PRE` and `SERVER_PLAYER_TICK_POST` no longer fire when the player is dead.
- It is now tied much closer to the actual entity rather than the player or their connection.
### Molang & Datapacks
- Fixed `q.pokemon.nature` returning class instance instead of proper string value (`cobblemon:adamant`).
- Fixed `q.entity.is_looking_at` result being always `1` for whatever entity passed as the target parameter.
- Added hate chance optional parameter to `hate_entity` task. `1.0` will make an entity always attack the target.
### Localization
- Updated translations for:
- Russian
- Japanese
- Brazilian Portuguese
+25
View File
@@ -0,0 +1,25 @@
# Changelog
## [1.8.4 (October 27th, 2026)](#1-8-4)
### Changes
- The Froakie line now blinks. The world will never be the same.
### Fixes
- Fixed heaps of spawns not working. This was caused by us missing something before release. RIP.
- Fixed a crash caused by Fearow blinking while you're riding one. Makes sense to me.
- Fixed Minior's "Shields Down" ability being very broken.
- Fixed Dusclops using Squirtle's cry sound (lol).
- Fixed blank Cooking Pot recipe book entries and missing tabs on Fabric.
- Fixed a hitbox issue with placeable Orb held items attached to a ceiling.
- Fixed something sneaky. I'll tell you about it later.
### Molang & Datapacks
- Added `q.target_fainted` function to move action effects that checks if any opponents fainted from the move.
### Particles
- Updated Water Shuriken effect to be timed better when the opponent faints.
### Localization
- Updated translations for:
- Korean
- Simplified Chinese
@@ -15,6 +15,7 @@ import com.cobblemon.mod.common.api.riding.RidingStyle;
import com.cobblemon.mod.common.api.spawning.spawner.PlayerSpawner;
import com.cobblemon.mod.common.api.spawning.spawner.PlayerSpawnerFactory;
import com.cobblemon.mod.common.api.stats.CobblemonStats;
import com.cobblemon.mod.common.block.HealingMachineBlock;
import com.cobblemon.mod.common.duck.ServerLevelDuck;
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity;
import com.cobblemon.mod.common.world.gamerules.CobblemonGameRules;
@@ -22,10 +23,14 @@ import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
import com.llamalad7.mixinextras.sugar.Local;
import net.minecraft.core.BlockPos;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@@ -33,6 +38,9 @@ import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.Optional;
@Mixin(ServerPlayer.class)
public abstract class ServerPlayerMixin implements PlayerSpawnerAccessor {
@@ -142,4 +150,17 @@ public abstract class ServerPlayerMixin implements PlayerSpawnerAccessor {
((ServerLevelDuck) this.serverLevel()).cobblemon$getLevelResourceLocation()
);
}
@Inject(
method = "findRespawnAndUseSpawnBlock(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;FZZ)Ljava/util/Optional;",
at = @At(value = "HEAD"),
cancellable = true
)
private static void cobblemon$useHealthStationAsRespawn(ServerLevel level, BlockPos pos, float angle, boolean forced, boolean keepInventory, CallbackInfoReturnable<Optional<ServerPlayer.RespawnPosAngle>> cir) {
BlockState state = level.getBlockState(pos);
Block block = state.getBlock();
if (block instanceof HealingMachineBlock && HealingMachineBlock.Companion.canSetSpawn(level)) {
cir.setReturnValue(HealingMachineBlock.Companion.findStandUpPosition(EntityType.PLAYER, level, pos).map((vec3) -> ServerPlayer.RespawnPosAngle.of(vec3, pos)));
}
}
}
@@ -69,7 +69,7 @@ public abstract class ClientRecipeBookMixin {
value = "INVOKE",
target = "Lcom/google/common/collect/ImmutableMap;copyOf(Ljava/util/Map;)Lcom/google/common/collect/ImmutableMap;"
))
private void addCustomAggregateCategories(Iterable<RecipeHolder<?>> recipes, RegistryAccess registryAccess, CallbackInfo ci, @Local(name = "map2") Map<RecipeBookCategories, List<RecipeCollection>> map2) {
private void addCustomAggregateCategories(Iterable<RecipeHolder<?>> recipes, RegistryAccess registryAccess, CallbackInfo ci, @Local(ordinal = 1) Map<RecipeBookCategories, List<RecipeCollection>> map2) {
CobblemonRecipeCategories.Companion.getCustomAggregateCategories().forEach((recipeBookCategories, list) -> map2.put(recipeBookCategories, (List) list.stream().flatMap((recipeBookCategoriesx) -> ((List) map2.getOrDefault(recipeBookCategoriesx, ImmutableList.of())).stream()).collect(ImmutableList.toImmutableList())));
}
}
@@ -20,14 +20,14 @@ import org.spongepowered.asm.mixin.injection.At;
@Mixin(RecipeBookComponent.class)
public class RecipeBookComponentMixin {
@Definition(id = "recipeBookCategories", local = @Local(name = "recipeBookCategories"))
@Definition(id = "recipeBookCategories", local = @Local(type = RecipeBookCategories.class))
@Definition(id = "FURNACE_SEARCH", field = "Lnet/minecraft/client/RecipeBookCategories;FURNACE_SEARCH:Lnet/minecraft/client/RecipeBookCategories;")
@Expression("recipeBookCategories != FURNACE_SEARCH")
@ModifyExpressionValue(
method = "updateTabs",
at = @At(value = "MIXINEXTRAS:EXPRESSION")
)
private boolean notCookingPotSearch(boolean original, @Local(name = "recipeBookCategories") RecipeBookCategories recipeBookCategories) {
private boolean notCookingPotSearch(boolean original, @Local RecipeBookCategories recipeBookCategories) {
return original && recipeBookCategories != CobblemonRecipeCategories.COOKING_POT_SEARCH.toVanillaCategory();
}
}
@@ -239,6 +239,10 @@ open class PokemonBattle(
}
fun writeShowdownAction(vararg messages: String) {
if (messages.any { it.contains("\n") || it.contains("\r") }) {
LOGGER.warn("Refusing to forward Showdown action with an embedded line break for battle {}: {}", battleId, messages.joinToString(" | "))
return
}
log(messages.joinToString("\n"))
ShowdownService.service.send(battleId, messages.toList().toTypedArray())
}
@@ -9,9 +9,12 @@
package com.cobblemon.mod.common.api.riding.stats
import com.cobblemon.mod.common.api.cooking.Flavour
import com.cobblemon.mod.common.api.tags.CobblemonItemTags
import com.cobblemon.mod.common.util.lang
import net.minecraft.network.chat.Component
import net.minecraft.network.chat.MutableComponent
import net.minecraft.tags.TagKey
import net.minecraft.world.item.Item
/**
* A stat that is used for riding Pokémon. The exact implementation of each of these depends on the [com.cobblemon.mod.common.api.riding.controller.RideController].
@@ -20,13 +23,14 @@ import net.minecraft.network.chat.MutableComponent
* @since February 17th, 2025
*/
enum class RidingStat(
val flavour: Flavour
val flavour: Flavour,
val powerItem: TagKey<Item>
) {
ACCELERATION(Flavour.SPICY),
SKILL(Flavour.DRY),
SPEED(Flavour.SWEET),
STAMINA(Flavour.SOUR),
JUMP(Flavour.BITTER);
ACCELERATION(Flavour.SPICY, CobblemonItemTags.POWER_BRACER),
SKILL(Flavour.DRY, CobblemonItemTags.POWER_BELT),
SPEED(Flavour.SWEET, CobblemonItemTags.POWER_ANKLET),
STAMINA(Flavour.SOUR, CobblemonItemTags.POWER_WEIGHT),
JUMP(Flavour.BITTER, CobblemonItemTags.POWER_BAND);
companion object {
fun getByName(name: String) = RidingStat.entries.firstOrNull { it.name.equals(name, ignoreCase = true) }
@@ -198,7 +198,17 @@ interface Spawner {
val mid = chunk.getBlockState(startPos)
val above = chunk.getBlockState(abovePos)
return above.isPathfindable(PathComputationType.AIR) && mid.isAir
// Above must be non-solid
if (!above.isPathfindable(PathComputationType.AIR)) {
return false
}
// Position must be non-air
if (mid.isAir) {
return false
}
return true
}
fun constrainArea(area: SpawningZoneInput): SpawningZoneInput? {
@@ -117,6 +117,9 @@ abstract class ShowdownActionResponse(val type: ShowdownActionResponseType) {
data class MoveActionResponse(var moveName: String, var targetPnx: String? = null, var gimmickID: String? = null): ShowdownActionResponse(ShowdownActionResponseType.MOVE) {
override fun isValid(activeBattlePokemon: ActiveBattlePokemon, showdownMoveSet: ShowdownMoveset?, forceSwitch: Boolean): Boolean {
// Ensure that the gimmick ID the player is sending is valid
gimmickID?.let { if (it !in VALID_GIMMICK_IDS) return false }
if (forceSwitch || showdownMoveSet == null) {
return false
}
@@ -168,6 +171,10 @@ data class MoveActionResponse(var moveName: String, var targetPnx: String? = nul
gimmickID = buffer.readNullable { buffer.readString() }
return this
}
companion object {
private val VALID_GIMMICK_IDS = ShowdownMoveset.Gimmick.entries.map { it.id }.toSet()
}
}
data class HealItemActionResponse(var item: String) : ShowdownActionResponse(ShowdownActionResponseType.FORCE_PASS) {
@@ -183,7 +190,8 @@ data class HealItemActionResponse(var item: String) : ShowdownActionResponse(Sho
}
override fun isValid(activeBattlePokemon: ActiveBattlePokemon, showdownMoveSet: ShowdownMoveset?, forceSwitch: Boolean): Boolean {
return !forceSwitch
// Previously checked for !forceSwitch, excepts in the case of a forceSwitch, this couldn't legally be sent anyway.
return false
}
override fun toShowdownString(activeBattlePokemon: ActiveBattlePokemon, showdownMoveSet: ShowdownMoveset?): String {
@@ -37,7 +37,6 @@ import com.cobblemon.mod.common.util.asIdentifierDefaultingNamespace
import com.cobblemon.mod.common.util.battleLang
import com.cobblemon.mod.common.util.cobblemonResource
import java.util.concurrent.CompletableFuture
import net.minecraft.world.entity.LivingEntity
/**
* Format: |move|POKEMON|MOVE|TARGET
@@ -77,7 +76,7 @@ class MoveInstruction(
val pokemonName = userPokemon.getName()
ShowdownInterpreter.lastCauser[battle.battleId] = message
// For Spread targets the message data only gives the pnx strings. So we can't know what pokemon are actually targeted until the previous messages have been interpreted
val spreadTargetPokemon = spreadTargets.map { battle.activePokemon.firstOrNull() { poke -> poke.getPNX() == it }?.battlePokemon }
val spreadTargetPokemon = spreadTargets.map { battle.activePokemon.firstOrNull { poke -> poke.getPNX() == it }?.battlePokemon }
val targetPokemonEntity = targetPokemon?.entity
if (targetPokemonEntity != null) {
@@ -137,10 +136,20 @@ class MoveInstruction(
val subsequentInstructions = instructionSet.findInstructionsCausedBy(this)
val missedTargets = subsequentInstructions.filterIsInstance<MissInstruction>().mapNotNull { it.target }
val faintedTargets = subsequentInstructions.filterIsInstance<FaintInstruction>().map { it.faintingPokemon }
val failed = subsequentInstructions.any { it is FailInstruction }
val failedTargets = subsequentInstructions.filterIsInstance<FailInstruction>().mapNotNull { it.target }
val hitCountInstruction = subsequentInstructions.filterIsInstance<HitCountInstruction>().firstOrNull()
runtime.environment.query.addFunction("target_fainted") { params ->
if (params.params.size == 0) {
return@addFunction DoubleValue(faintedTargets.isNotEmpty())
} else {
val entityUUID = params.getString(0)
return@addFunction DoubleValue(faintedTargets.any { it.entity?.stringUUID == entityUUID })
}
}
runtime.environment.query.addFunction("missed") { params ->
if (params.params.size == 0) {
return@addFunction DoubleValue(missedTargets.isNotEmpty())
@@ -24,6 +24,7 @@ import net.minecraft.network.chat.Component
import net.minecraft.server.level.ServerPlayer
import net.minecraft.util.RandomSource
import net.minecraft.world.InteractionResult
import net.minecraft.world.entity.EntityType
import net.minecraft.world.entity.LivingEntity
import net.minecraft.world.entity.player.Player
import net.minecraft.world.item.Item
@@ -31,13 +32,9 @@ import net.minecraft.world.item.ItemStack
import net.minecraft.world.item.TooltipFlag
import net.minecraft.world.item.context.BlockPlaceContext
import net.minecraft.world.level.BlockGetter
import net.minecraft.world.level.CollisionGetter
import net.minecraft.world.level.Level
import net.minecraft.world.level.block.BaseEntityBlock
import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.HorizontalDirectionalBlock
import net.minecraft.world.level.block.Mirror
import net.minecraft.world.level.block.RenderShape
import net.minecraft.world.level.block.Rotation
import net.minecraft.world.level.block.*
import net.minecraft.world.level.block.entity.BlockEntity
import net.minecraft.world.level.block.entity.BlockEntityTicker
import net.minecraft.world.level.block.entity.BlockEntityType
@@ -48,9 +45,11 @@ import net.minecraft.world.level.block.state.properties.IntegerProperty
import net.minecraft.world.level.block.state.properties.Property
import net.minecraft.world.level.pathfinder.PathComputationType
import net.minecraft.world.phys.BlockHitResult
import net.minecraft.world.phys.Vec3
import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.Shapes
import net.minecraft.world.phys.shapes.VoxelShape
import java.util.Optional
@Suppress("DEPRECATED", "OVERRIDE_DEPRECATION")
class HealingMachineBlock(settings: Properties) : BaseEntityBlock(settings) {
@@ -79,6 +78,14 @@ class HealingMachineBlock(settings: Properties) : BaseEntityBlock(settings) {
const val MAX_CHARGE_LEVEL = 5
val CHARGE_LEVEL: IntegerProperty = IntegerProperty.create("charge", 0, MAX_CHARGE_LEVEL + 1)
val NATURAL: BooleanProperty = BooleanProperty.create("natural")
fun canSetSpawn(level: Level): Boolean {
return level.gameRules.getBoolean(CobblemonGameRules.HEALER_SET_SPAWN)
}
fun findStandUpPosition(entityType: EntityType<*>, level: CollisionGetter, pos: BlockPos): Optional<Vec3> {
return RespawnAnchorBlock.findStandUpPosition(entityType, level, pos) // Exists if we ever want to make something more custom, but anchor block logic should suffice
}
}
init {
@@ -158,7 +165,12 @@ class HealingMachineBlock(settings: Properties) : BaseEntityBlock(settings) {
}
val party = serverPlayerEntity.party()
val pc = serverPlayerEntity.pc()
val healPC = player.level().gameRules.getBoolean(CobblemonGameRules.HEALERS_HEAL_PC);
val healPC = player.level().gameRules.getBoolean(CobblemonGameRules.HEALERS_HEAL_PC)
// Do spawnpoint stuff
if (canSetSpawn(world)) {
player.setRespawnPosition(world.dimension(), blockPos, player.yRot, false, true)
}
if (party.none() && (!healPC || pc.none())) {
player.sendSystemMessage(lang("healingmachine.nopokemon").red(), true)
@@ -183,6 +195,7 @@ class HealingMachineBlock(settings: Properties) : BaseEntityBlock(settings) {
player.sendSystemMessage(lang("healingmachine.notenoughcharge", "${((neededCharge/party.count())*100f).toInt()}%").red(), true)
}
party.forEach { it.tryRecallWithAnimation() }
return InteractionResult.CONSUME
}
@@ -30,7 +30,7 @@ class OrbBlock(properties: Properties) : SixFaceRotationalBlock(properties) {
val FLOOR_NORTH = Shapes.box(0.3125, 0.0, 0.3125, 0.6875, 0.375, 0.6875)
val WALL_NORTH = Shapes.box(0.3125, 0.3125, 0.625, 0.6875, 0.6875, 1.0)
val CEILING_NORTH = Shapes.box(0.3125, 0.625, 0.375, 0.6875, 1.0, 0.6875)
val CEILING_NORTH = Shapes.box(0.3125, 0.625, 0.3125, 0.6875, 1.0, 0.6875)
}
init {
@@ -160,8 +160,8 @@ class TypeGemClusterBlock(
&& state.getValue(STAGE) == 3) return false
val supportPos = pos.relative(state.getValue(FACING).opposite)
val supportBlock = level.getBlockState(supportPos).block
return CobblemonBlocks.typeGemBlocks().containsValue(supportBlock) || (supportBlock == CobblemonBlocks.TYPE_GEM_CORE) // Cannot grow if not on any gem blocks
val supportState = level.getBlockState(supportPos)
return supportState.`is`(CobblemonBlockTags.TYPE_GEM_BLOCKS) || supportState.block == CobblemonBlocks.TYPE_GEM_CORE // Cannot grow if not on any gem blocks
}
@@ -51,10 +51,20 @@ class TypeGemCoreBlock(properties: Properties) : Block(properties) {
ResourceLocation.parse("cobblemon:dragon_gem_block") to CobblemonBlocks.TYPE_GEM_CLUSTER_DRAGON,
ResourceLocation.parse("cobblemon:dark_gem_block") to CobblemonBlocks.TYPE_GEM_CLUSTER_DARK,
ResourceLocation.parse("cobblemon:steel_gem_block") to CobblemonBlocks.TYPE_GEM_CLUSTER_STEEL,
ResourceLocation.parse("cobblemon:fairy_gem_block") to CobblemonBlocks.TYPE_GEM_CLUSTER_FAIRY
ResourceLocation.parse("cobblemon:fairy_gem_block") to CobblemonBlocks.TYPE_GEM_CLUSTER_FAIRY,
ResourceLocation.parse("minecraft:amethyst_block") to Blocks.SMALL_AMETHYST_BUD
)
}
val AMETHYST_STAGES = listOf(
Blocks.SMALL_AMETHYST_BUD,
Blocks.MEDIUM_AMETHYST_BUD,
Blocks.LARGE_AMETHYST_BUD,
Blocks.AMETHYST_CLUSTER
)
private fun isAmethystStage(block: Block) = block in AMETHYST_STAGES
fun getConnectedGemBlocks(level: BlockGetter, pos: BlockPos): List<Pair<BlockState, BlockPos>> {
val connectedGems = mutableListOf<Pair<BlockState, BlockPos>>()
val visited = mutableSetOf<BlockPos>()
@@ -85,12 +95,16 @@ class TypeGemCoreBlock(properties: Properties) : Block(properties) {
Direction.entries.forEach {
if (random.nextFloat() < Cobblemon.config.typeGemGrowthChance) {
val faceState = level.getBlockState(pos.relative(it))
val randomGrowthType = decideClusterGrowthType(level, pos)
val newState = BLOCK_TO_CLUSTER[BuiltInRegistries.BLOCK.getKey(state.block)]?.defaultBlockState()
var newState = BLOCK_TO_CLUSTER[BuiltInRegistries.BLOCK.getKey(state.block)]?.defaultBlockState()
?.setValue(DirectionalBlock.FACING, it)
?.setValue(GROWTH_TYPE, randomGrowthType)
?: return
if (newState.hasProperty(GROWTH_TYPE)) {
newState = newState.setValue(GROWTH_TYPE, decideClusterGrowthType(level, pos))
} else if (getConnectedGemBlocks(level, pos).size > Cobblemon.config.typeGemMaxConnected) {
return@forEach
}
if (faceState.`is`(Blocks.AIR)) {
level.setBlock(pos.relative(it), newState, 3)
}
@@ -132,7 +146,7 @@ class TypeGemCoreBlock(properties: Properties) : Block(properties) {
if (!visited.add(clusterPos)) continue
val clusterState = level.getBlockState(clusterPos)
if (clusterState.block == expectedCluster) {
if (clusterState.block == expectedCluster && clusterState.hasProperty(GROWTH_TYPE)) {
clusters += clusterState to clusterPos
}
}
@@ -178,13 +192,41 @@ class TypeGemCoreBlock(properties: Properties) : Block(properties) {
Direction.entries.forEach { direction ->
val relativePos = pos.relative(direction)
val relativeState = level.getBlockState(relativePos)
val clusterBlock = relativeState.block as? TypeGemClusterBlock ?: return@forEach
if ((relativeState.getValue(DirectionalBlock.FACING) == direction &&
random.nextFloat() < Cobblemon.config.typeGemGrowthChance) || forceGrow
) {
clusterBlock.advanceGrowth(relativeState, level, relativePos, random)
val matchesFace = relativeState.hasProperty(DirectionalBlock.FACING)
&& relativeState.getValue(DirectionalBlock.FACING) == direction
if (!(forceGrow || (matchesFace && random.nextFloat() < Cobblemon.config.typeGemGrowthChance))) {
return@forEach
}
val block = relativeState.block
if (block is TypeGemClusterBlock) {
block.advanceGrowth(relativeState, level, relativePos, random)
} else if (isAmethystStage(block)) {
advanceAmethyst(relativeState, level, relativePos)
}
}
}
private fun advanceAmethyst(state: BlockState, level: LevelAccessor, pos: BlockPos) {
val facing = state.getValue(DirectionalBlock.FACING)
val supportState = level.getBlockState(pos.relative(facing.opposite))
if (!supportState.`is`(CobblemonBlockTags.TYPE_GEM_BLOCKS) && supportState.block != CobblemonBlocks.TYPE_GEM_CORE) {
return
}
if (state.block != Blocks.AMETHYST_CLUSTER) {
val nextStage = AMETHYST_STAGES[AMETHYST_STAGES.indexOf(state.block) + 1]
level.setBlock(pos, nextStage.defaultBlockState().setValue(DirectionalBlock.FACING, facing), 3)
return
}
// Fully grown clusters mature into amethyst blocks unless boxed in, mirroring stunted type gems
val boxedIn = Direction.entries.any { direction ->
direction != facing.opposite
&& level.getBlockState(pos.relative(direction)).`is`(CobblemonBlockTags.TYPE_GEM_BLOCKS)
}
if (!boxedIn) {
level.setBlock(pos, Blocks.AMETHYST_BLOCK.defaultBlockState(), 3)
}
}
@@ -29,8 +29,8 @@ class FarfetchdGalarianModel(root: ModelPart) : PokemonPosableModel(root), Heade
override var portraitScale = 2.6F
override var portraitTranslation = Vec3(-0.2, -1.0, 0.0)
override var profileScale = 1.1F
override var profileTranslation = Vec3(-0.1, 0.1, 0.0)
override var profileScale = 0.93F
override var profileTranslation = Vec3(-0.1, 0.36, 0.0)
lateinit var standing: Pose
lateinit var walk: Pose
@@ -28,8 +28,8 @@ class FarfetchdModel(root: ModelPart) : PokemonPosableModel(root), HeadedFrame,
override var portraitScale = 2.6F
override var portraitTranslation = Vec3(-0.2, -1.0, 0.0)
override var profileScale = 1.1F
override var profileTranslation = Vec3(-0.1, 0.1, 0.0)
override var profileScale = 0.93F
override var profileTranslation = Vec3(-0.1, 0.36, 0.0)
lateinit var standing: Pose
lateinit var walk: Pose
@@ -23,8 +23,8 @@ class KabutoModel(root: ModelPart) : PokemonPosableModel(root) {
override var portraitScale = 3.3F
override var portraitTranslation = Vec3(0.0, -3.3, 0.0)
override var profileScale = 1.6F
override var profileTranslation = Vec3(0.0, -0.6, 0.0)
override var profileScale = 1.25F
override var profileTranslation = Vec3(0.0, -0.17, 0.0)
lateinit var standing: CobblemonPose
lateinit var walk: CobblemonPose
@@ -21,8 +21,8 @@ class HoothootModel (root: ModelPart) : PokemonPosableModel(root) {
override var portraitScale = 2.2F
override var portraitTranslation = Vec3(-0.25, -0.9, 0.0)
override var profileScale = 1.0F
override var profileTranslation = Vec3(0.0, 0.3, 0.0)
override var profileScale = 0.82F
override var profileTranslation = Vec3(0.0, 0.53, 0.0)
lateinit var standing: Pose
lateinit var walk: Pose
@@ -29,8 +29,8 @@ class WooperModel(root: ModelPart) : PokemonPosableModel(root), HeadedFrame {
override var portraitScale = 2.0F
override var portraitTranslation = Vec3(-0.15, -0.65, 0.0)
override var profileScale = 0.9F
override var profileTranslation = Vec3(0.0, 0.4, 0.0)
override var profileScale = 0.75F
override var profileTranslation = Vec3(0.0, 0.6, 0.0)
lateinit var shoulderLeft: Pose
lateinit var shoulderRight: Pose
@@ -29,8 +29,8 @@ class WooperPaldeanModel(root: ModelPart) : PokemonPosableModel(root), HeadedFra
override var portraitScale = 2.0F
override var portraitTranslation = Vec3(-0.15, -0.65, 0.0)
override var profileScale = 0.9F
override var profileTranslation = Vec3(0.0, 0.4, 0.0)
override var profileScale = 0.75F
override var profileTranslation = Vec3(0.0, 0.6, 0.0)
lateinit var shoulderLeft: Pose
lateinit var shoulderRight: Pose
@@ -34,7 +34,7 @@ class DusclopsModel (root: ModelPart) : PokemonPosableModel(root) {
lateinit var battleidle: Pose
override fun registerPoses() {
animations["cry"] = "q.bedrock_stateful('squirtle', 'cry')".asExpressionLike()
animations["cry"] = "q.bedrock_stateful('dusclops', 'cry')".asExpressionLike()
val blink = quirk { bedrockStateful("dusclops", "blink") }
@@ -23,7 +23,7 @@ class CarbinkModel (root: ModelPart) : PokemonPosableModel(root) {
override var portraitScale = 1.8F
override var portraitTranslation = Vec3(0.0, 0.2, 0.0)
override var profileScale = 0.85F
override var profileScale = 0.68F
override var profileTranslation = Vec3(0.0, 0.7, 0.0)
lateinit var standing: CobblemonPose
@@ -26,8 +26,8 @@ class ScatterbugModel (root: ModelPart) : PokemonPosableModel(root), HeadedFrame
override var portraitScale = 2.6F
override var portraitTranslation = Vec3(-0.2, -1.9, 0.0)
override var profileScale = 1.2F
override var profileTranslation = Vec3(0.0, 0.05, 0.0)
override var profileScale = 0.98F
override var profileTranslation = Vec3(0.0, 0.28, 0.0)
lateinit var standing: CobblemonPose
lateinit var walk: CobblemonPose
@@ -36,8 +36,8 @@ class CharcadetModel(root: ModelPart) : PokemonPosableModel(root), HeadedFrame,
override var portraitScale = 1.7F
override var portraitTranslation = Vec3(-0.15, 0.08, 0.0)
override var profileScale = 0.8F
override var profileTranslation = Vec3(0.0, 0.6, 0.0)
override var profileScale = 0.58F
override var profileTranslation = Vec3(0.0, 0.91, 0.0)
lateinit var standing: CobblemonPose
lateinit var walking: CobblemonPose
@@ -35,8 +35,8 @@ class QuaquavalModel (root: ModelPart) : PokemonPosableModel(root), HeadedFrame,
override var portraitScale = 2.3F
override var portraitTranslation = Vec3(-0.42, 3.7, 0.0)
override var profileScale = 0.32F
override var profileTranslation = Vec3(0.0, 1.24, 0.0)
override var profileScale = 0.36F
override var profileTranslation = Vec3(0.0, 1.19, 0.0)
lateinit var standing: CobblemonPose
lateinit var standing2: CobblemonPose
@@ -1,208 +0,0 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.client.render.models.blockbench.pokemon.gen9
import com.cobblemon.mod.common.client.render.models.blockbench.animation.WingFlapIdleAnimation
import com.cobblemon.mod.common.client.render.models.blockbench.createTransformation
import com.cobblemon.mod.common.client.render.models.blockbench.frame.BiWingedFrame
import com.cobblemon.mod.common.client.render.models.blockbench.frame.BipedFrame
import com.cobblemon.mod.common.client.render.models.blockbench.frame.HeadedFrame
import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.CryProvider
import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.PokemonPosableModel
import com.cobblemon.mod.common.client.render.models.blockbench.pose.ModelPartTransformation
import com.cobblemon.mod.common.client.render.models.blockbench.pose.Pose
import com.cobblemon.mod.common.client.render.models.blockbench.wavefunction.parabolaFunction
import com.cobblemon.mod.common.client.render.models.blockbench.wavefunction.sineFunction
import com.cobblemon.mod.common.entity.PoseType
import com.cobblemon.mod.common.util.math.geometry.toRadians
import net.minecraft.client.model.geom.ModelPart
import net.minecraft.world.phys.Vec3
class SquawkabillyModel (root: ModelPart) : PokemonPosableModel(root), HeadedFrame, BipedFrame, BiWingedFrame {
override val rootPart = root.registerChildWithAllChildren("squawkabilly")
override val head = getPart("head")
override val leftWing = getPart("wing_left")
override val rightWing = getPart("wing_right")
override val leftLeg = getPart("leg_left")
override val rightLeg = getPart("leg_right")
private val tail = getPart("tail")
override var portraitScale = 2.0F
override var portraitTranslation = Vec3(-0.2, -0.2, 0.0)
override var profileScale = 0.85F
override var profileTranslation = Vec3(0.0, 0.51, 0.0)
lateinit var standing: Pose
lateinit var walk: Pose
lateinit var hovering: Pose
lateinit var flying: Pose
lateinit var shoulderLeft: Pose
lateinit var shoulderRight: Pose
override val cryAnimation = CryProvider { bedrockStateful("squawkabilly", "cry") }
val shoulderOffsetX = -1.0
val shoulderOffsetY = 0
override fun registerPoses() {
val blink = quirk { bedrockStateful("squawkabilly", "blink") }
standing = registerPose(
poseName = "standing",
quirks = arrayOf(blink),
poseTypes = PoseType.UI_POSES + PoseType.STAND,
transformTicks = 10,
animations = arrayOf(
singleBoneLook(),
bedrock("squawkabilly", "ground_idle")
)
)
walk = registerPose(
poseName = "walk",
quirks = arrayOf(blink),
poseType = PoseType.WALK,
transformTicks = 10,
animations = arrayOf(
singleBoneLook(),
bedrock("squawkabilly", "ground_idle"),
rootPart.translation(
function = parabolaFunction(
peak = -4F,
period = 0.4F
),
timeVariable = { state, _, _ -> state.animationSeconds },
axis = ModelPartTransformation.Y_AXIS
),
head.translation(
function = sineFunction(
amplitude = (-20F).toRadians(),
period = 1F,
verticalShift = (-10F).toRadians()
),
axis = ModelPartTransformation.X_AXIS,
timeVariable = { state, _, _ -> state.animationSeconds }
),
leftLeg.rotation(
function = parabolaFunction(
tightness = -20F,
phaseShift = 0F,
verticalShift = (30F).toRadians()
),
axis = ModelPartTransformation.X_AXIS,
timeVariable = { _, _, ageInTicks -> ageInTicks / 20 },
),
rightLeg.rotation(
function = parabolaFunction(
tightness = -20F,
phaseShift = 0F,
verticalShift = (30F).toRadians()
),
axis = ModelPartTransformation.X_AXIS,
timeVariable = { _, _, ageInTicks -> ageInTicks / 20 },
),
tail.rotation(
function = sineFunction(
amplitude = (-5F).toRadians(),
period = 1F
),
axis = ModelPartTransformation.X_AXIS,
timeVariable = { _, _, ageInTicks -> ageInTicks / 20 },
),
wingFlap(
flapFunction = sineFunction(
amplitude = (-5F).toRadians(),
period = 0.4F,
phaseShift = 0.00F,
verticalShift = (-20F).toRadians()
),
timeVariable = { state, _, _ -> state.animationSeconds },
axis = ModelPartTransformation.Z_AXIS
),
rightWing.translation(
function = parabolaFunction(
tightness = -10F,
phaseShift = 30F,
verticalShift = (25F).toRadians()
),
axis = ModelPartTransformation.Y_AXIS,
timeVariable = { _, _, ageInTicks -> ageInTicks / 20 },
),
leftWing.translation(
function = parabolaFunction(
tightness = -10F,
phaseShift = 30F,
verticalShift = (25F).toRadians()
),
axis = ModelPartTransformation.Y_AXIS,
timeVariable = { _, _, ageInTicks -> ageInTicks / 20 },
),
)
)
hovering = registerPose(
poseName = "hovering",
quirks = arrayOf(blink),
poseTypes = setOf(PoseType.FLOAT, PoseType.HOVER),
transformTicks = 10,
animations = arrayOf(
singleBoneLook(),
WingFlapIdleAnimation(this,
flapFunction = sineFunction(verticalShift = -10F.toRadians(), period = 0.9F, amplitude = 0.9F),
timeVariable = { state, _, _ -> state.animationSeconds },
axis = ModelPartTransformation.Z_AXIS
)
)
)
flying = registerPose(
poseName = "flying",
quirks = arrayOf(blink),
poseTypes = setOf(PoseType.FLY, PoseType.SWIM),
transformTicks = 10,
animations = arrayOf(
singleBoneLook(),
WingFlapIdleAnimation(this,
flapFunction = sineFunction(verticalShift = -14F.toRadians(), period = 0.9F, amplitude = 0.9F),
timeVariable = { state, _, _ -> state.animationSeconds },
axis = ModelPartTransformation.Z_AXIS
)
)
)
shoulderLeft = registerPose(
poseType = PoseType.SHOULDER_LEFT,
quirks = arrayOf(blink),
animations = arrayOf(
singleBoneLook(),
bedrock("squawkabilly", "ground_idle")
),
transformedParts = arrayOf(
rootPart.createTransformation().addPosition(shoulderOffsetX, shoulderOffsetY, 0.0)
)
)
shoulderRight = registerPose(
poseType = PoseType.SHOULDER_RIGHT,
quirks = arrayOf(blink),
animations = arrayOf(
singleBoneLook(),
bedrock("squawkabilly", "ground_idle")
),
transformedParts = arrayOf(
rootPart.createTransformation().addPosition(-shoulderOffsetX, shoulderOffsetY, 0.0)
)
)
}
// override fun getFaintAnimation(
// pokemonEntity: PokemonEntity,
// state: PosableState<PokemonEntity>
// ) = if (state.isNotPosedIn(sleep)) bedrockStateful("squawkabilly", "faint") else null
}
@@ -397,7 +397,6 @@ object VaryingModelRepository {
inbuilt("bunnelby", ::BunnelbyModel)
inbuilt("arrokuda", ::ArrokudaModel)
inbuilt("barraskewda", ::BarraskewdaModel)
inbuilt("squawkabilly", ::SquawkabillyModel)
inbuilt("ponyta_galarian", ::PonytaGalarianModel)
inbuilt("rapidash_galarian", ::RapidashGalarianModel)
inbuilt("volbeat", ::VolbeatModel)
@@ -47,6 +47,10 @@ class CobblemonConfig {
@IntConstraint(min = 0, max = 1000)
var maxPokemonFriendship = 255
@CobblemonConfigField(Category.Pokemon, lang = "power_item_ride_stat_gain_interval_seconds", SERVER)
@IntConstraint(min = -1, max = Int.MAX_VALUE)
var powerItemRideStatGainIntervalSeconds = 120
@CobblemonConfigField(Category.Pokemon, lang = "announce_drop_items", SERVER)
var announceDropItems = true
@CobblemonConfigField(Category.Pokemon, lang = "default_drop_item_method", SERVER)
@@ -2744,4 +2744,9 @@ open class PokemonEntity(
}
fun hasRider() = this.passengers.any { it is LivingEntity }
}
override fun playStepSound(pos: BlockPos, state: BlockState) {
if (this.pokemon.species.silenceStepSounds) return
super.playStepSound(pos, state)
}
}
@@ -22,6 +22,7 @@ import com.cobblemon.mod.common.api.molang.ObjectValue
import com.cobblemon.mod.common.api.pokemon.PokemonProperties
import com.cobblemon.mod.common.api.pokemon.feature.TickingSpeciesFeature
import com.cobblemon.mod.common.api.pokemon.status.Statuses
import com.cobblemon.mod.common.api.riding.stats.RidingStat
import com.cobblemon.mod.common.api.spawning.fishing.FishingSpawnCause.Companion.DROPS_REROLL_ASPECT
import com.cobblemon.mod.common.api.tags.CobblemonItemTags
import com.cobblemon.mod.common.battles.BattleRegistry
@@ -46,10 +47,15 @@ import kotlin.math.*
/** Handles purely server logic for a Pokémon */
class PokemonServerDelegate : PokemonSideDelegate {
companion object {
private const val RIDE_STAT_GAIN_AMOUNT = 1F
}
lateinit var entity: PokemonEntity
var acknowledgedHPValue = -1
var acknowledgedLevel = -1
val passengerOffsets = mutableMapOf<Int, Vec3>()
private var rideStatGainAnchor: Vec3? = null
/** Mocked properties exposed to the client [PokemonEntity]. */
private val mock: PokemonProperties?
@@ -355,9 +361,30 @@ class PokemonServerDelegate : PokemonSideDelegate {
}
}
val rideStatGainIntervalSeconds = Cobblemon.config.powerItemRideStatGainIntervalSeconds
if (rideStatGainIntervalSeconds > 0) {
val rideStatGainIntervalTicks = rideStatGainIntervalSeconds * 20L
if (entity.level().gameTime % rideStatGainIntervalTicks == 0L) {
trainRideStats()
}
}
updateTrackedValues()
}
private fun trainRideStats() {
val position = entity.position()
val anchor = rideStatGainAnchor
rideStatGainAnchor = position
if (anchor == null || anchor == position || entity.passengers.isEmpty()) return
val heldItem = entity.pokemon.heldItemNoCopy()
if (heldItem.isEmpty) return
val stat = RidingStat.entries.firstOrNull { heldItem.`is`(it.powerItem) } ?: return
entity.pokemon.addRideBoost(stat, RIDE_STAT_GAIN_AMOUNT)
}
fun updateShownItem() {
val trackedShownItem = when {
// Show Hand Item if Held item is hidden
@@ -9,6 +9,7 @@
package com.cobblemon.mod.common.item.interactive
import com.cobblemon.mod.common.CobblemonItemComponents
import com.cobblemon.mod.common.item.components.FoodComponent
import net.minecraft.network.chat.Component
import net.minecraft.sounds.SoundEvent
import net.minecraft.sounds.SoundEvents
@@ -23,10 +24,15 @@ import net.minecraft.world.level.Level
class PonigiriItem : Item(
Properties().stacksTo(64)
.food(FoodProperties.Builder()
.nutrition(2)
.saturationModifier(0.55f)
.nutrition(NUTRITION)
.saturationModifier(SATURATION_MODIFIER)
.build())
) {
companion object {
const val NUTRITION = 2
const val SATURATION_MODIFIER = 0.55f
}
override fun getName(stack: ItemStack): Component {
val ingredients = stack.get(CobblemonItemComponents.INGREDIENT)
@@ -59,4 +65,9 @@ class PonigiriItem : Item(
override fun getEatingSound(): SoundEvent {
return SoundEvents.GENERIC_EAT
}
}
fun getFoodValues(stack: ItemStack): Pair<Int, Float> {
val (hunger, saturation) = stack.getOrDefault(CobblemonItemComponents.FOOD, FoodComponent(NUTRITION, SATURATION_MODIFIER))
return hunger to saturation
}
}
@@ -8,9 +8,12 @@
package com.cobblemon.mod.common.net.serverhandling.battle
import com.cobblemon.mod.common.Cobblemon
import com.cobblemon.mod.common.api.net.ServerNetworkPacketHandler
import com.cobblemon.mod.common.api.text.red
import com.cobblemon.mod.common.battles.BattleRegistry
import com.cobblemon.mod.common.battles.HealItemActionResponse
import com.cobblemon.mod.common.battles.MoveActionResponse
import com.cobblemon.mod.common.exception.IllegalActionChoiceException
import com.cobblemon.mod.common.net.messages.client.battle.BattleMakeChoicePacket
import com.cobblemon.mod.common.net.messages.client.battle.BattleQueueRequestPacket
@@ -25,6 +28,27 @@ object BattleSelectActionsHandler : ServerNetworkPacketHandler<BattleSelectActio
if (!actor.mustChoose) {
return
}
// Battle command injection attempt detection
packet.showdownActionResponses.asSequence()
.flatMap {
when (it) {
is MoveActionResponse -> sequenceOf(it.moveName, it.targetPnx, it.gimmickID)
is HealItemActionResponse -> sequenceOf(it.item)
else -> emptySequence()
}
}
.filterNotNull()
.firstOrNull { field -> field.any(Char::isISOControl) }
?.let {
// Escapes control chars as \uXXXX to prevent forging logs.
val printable = it.replace(Regex("\\p{Cc}")) { "\\u%04x".format(it.value[0].code) }
Cobblemon.LOGGER.warn("Blocked battle command injection from ${player.name.string}: $printable")
actor.sendUpdate(BattleQueueRequestPacket(actor.request!!))
actor.sendUpdate(BattleMakeChoicePacket())
return
}
try {
actor.setActionResponses(packet.showdownActionResponses)
} catch (e: IllegalActionChoiceException) {
@@ -173,6 +173,7 @@ class Species : ShowdownIdentifiable {
.addStandardFunctions()
.addSpeciesFunctions(this)
var silenceStepSounds = false
fun initialize() {
Cobblemon.statProvider.provide(this)
@@ -256,6 +257,7 @@ class Species : ShowdownIdentifiable {
}
this.riding.encode(buffer)
buffer.writeBoolean(this.silenceStepSounds)
}
fun decode(buffer: RegistryFriendlyByteBuf) {
@@ -299,6 +301,7 @@ class Species : ShowdownIdentifiable {
}
}
this.riding = RidingProperties.decode(buffer)
this.silenceStepSounds = buffer.readBoolean()
this.initialize()
}
@@ -234,11 +234,11 @@ fun Entity.isDusk(): Boolean {
}
fun Entity.isStandingOn(blocks: Set<String>, depth: Int = 2): Boolean {
for (currentDepth in 1..depth) {
val bellowBlockPos = blockPosition().below(currentDepth)
for (currentDepth in 0..depth) {
val bellowBlockPos = blockPosBelowThatAffectsMyMovement.below(currentDepth)
val blockState = level().getBlockState(bellowBlockPos)
if (blockState.isAir || !blockState.isCollisionShapeFullBlock(level(), bellowBlockPos)) continue
if (blockState.isAir) continue
val elementOrTags = ExtraCodecs.TAG_OR_ELEMENT_ID.listOf().decode(JavaOps.INSTANCE, blocks.toList()).result().get().first
elementOrTags.forEach {
@@ -27,5 +27,7 @@ object CobblemonGameRules {
@JvmField
val HEALERS_HEAL_PC: GameRules.Key<GameRules.BooleanValue> = Cobblemon.implementation.registerGameRule("healersHealPC", GameRules.Category.MISC, BooleanRuleInvoker.`cobblemon$create`(false))
@JvmField
val HEALER_SET_SPAWN: GameRules.Key<GameRules.BooleanValue> = Cobblemon.implementation.registerGameRule("healersSetSpawn", GameRules.Category.MISC, BooleanRuleInvoker.`cobblemon$create`(false))
@JvmField
val DO_POKEMON_PREDATION: GameRules.Key<GameRules.BooleanValue> = Cobblemon.implementation.registerGameRule("doPokemonPredation", GameRules.Category.MOBS, BooleanRuleInvoker.`cobblemon$create`(true))
}
@@ -0,0 +1,90 @@
{
"format_version": "1.10.0",
"particle_effect": {
"description": {
"identifier": "cobblemon:watershuriken_actor",
"basic_render_parameters": {
"material": "particles_blend",
"texture": "textures/particles/moves/watershuriken"
}
},
"curves": {
"variable.rsize": {
"type": "linear",
"input": "v.particle_age",
"horizontal_range": "v.particle_lifetime",
"nodes": [0, 1, 1, 1, 1, 1, 1, 1]
}
},
"events": {
"trail": {
"particle_effect": {
"effect": "cobblemon:watershuriken_actortrail",
"type": "particle"
}
},
"hit": {
"particle_effect": {
"effect": "cobblemon:watershuriken_target",
"type": "particle"
}
}
},
"components": {
"minecraft:emitter_initialization": {
"creation_expression": "v.target_deltaz=5;"
},
"minecraft:emitter_rate_instant": {
"num_particles": 1
},
"minecraft:emitter_lifetime_once": {
"active_time": 0.25
},
"minecraft:emitter_shape_disc": {
"offset": [0, 0.02, 0.1],
"radius": 0.5,
"direction": "outwards"
},
"minecraft:particle_lifetime_expression": {
"max_lifetime": 0.35
},
"minecraft:particle_lifetime_events": {
"timeline": {
"0.00": "trail",
"0.06": "trail",
"0.12": "trail",
"0.18": "trail",
"0.24": "trail",
"0.30": "trail",
"0.34": "hit"
}
},
"minecraft:particle_initial_spin": {
"rotation": "math.random_integer(0,3)*90"
},
"minecraft:particle_motion_parametric": {
"relative_position": ["-v.target_deltax*(v.particle_age / v.particle_lifetime)", "(v.target_deltay*(v.particle_age / v.particle_lifetime))", "-v.target_deltaz*(v.particle_age / v.particle_lifetime)"]
},
"minecraft:particle_appearance_billboard": {
"size": ["0.4*v.rsize", "0.4*v.rsize"],
"facing_camera_mode": "lookat_direction",
"direction": {
"mode": "custom",
"custom_direction": [0, 0, -1]
},
"uv": {
"texture_width": 60,
"texture_height": 15,
"flipbook": {
"base_UV": [0, 0],
"size_UV": [15, 15],
"step_UV": [15, 0],
"frames_per_second": 24,
"max_frame": 4,
"loop": true
}
}
}
}
}
}
@@ -0,0 +1,91 @@
{
"format_version": "1.10.0",
"particle_effect": {
"description": {
"identifier": "cobblemon:watershuriken_actoralt",
"basic_render_parameters": {
"material": "particles_blend",
"texture": "textures/particles/moves/watershuriken"
}
},
"curves": {
"variable.rsize": {
"type": "linear",
"input": "v.particle_age",
"horizontal_range": "v.particle_lifetime",
"nodes": [0, 1, 1, 1, 1, 1, 1, 1]
}
},
"events": {
"trail": {
"particle_effect": {
"effect": "cobblemon:watershuriken_actortrail",
"type": "particle"
}
},
"hit": {
"particle_effect": {
"effect": "cobblemon:watershuriken_target",
"type": "particle"
}
}
},
"components": {
"minecraft:emitter_initialization": {
"creation_expression": "v.target_deltaz=5;"
},
"minecraft:emitter_rate_steady": {
"spawn_rate": 7,
"max_particles": 3
},
"minecraft:emitter_lifetime_once": {
"active_time": 0.4
},
"minecraft:emitter_shape_disc": {
"offset": [0, 0.02, 0.1],
"radius": 0.5,
"direction": "outwards"
},
"minecraft:particle_lifetime_expression": {
"max_lifetime": 0.35
},
"minecraft:particle_lifetime_events": {
"timeline": {
"0.00": "trail",
"0.06": "trail",
"0.12": "trail",
"0.18": "trail",
"0.24": "trail",
"0.30": "trail",
"0.34": "hit"
}
},
"minecraft:particle_initial_spin": {
"rotation": "math.random_integer(0,3)*90"
},
"minecraft:particle_motion_parametric": {
"relative_position": ["-(v.target_deltax+((v.particle_random_1-0.5)*1.33))*(v.particle_age / v.particle_lifetime)", "(v.target_deltay+((v.particle_random_2-0.5)*1.33))*(v.particle_age / v.particle_lifetime)", "-v.target_deltaz*(v.particle_age / v.particle_lifetime)"]
},
"minecraft:particle_appearance_billboard": {
"size": ["0.4*v.rsize", "0.4*v.rsize"],
"facing_camera_mode": "lookat_direction",
"direction": {
"mode": "custom",
"custom_direction": [0, 0, -1]
},
"uv": {
"texture_width": 60,
"texture_height": 15,
"flipbook": {
"base_UV": [0, 0],
"size_UV": [15, 15],
"step_UV": [15, 0],
"frames_per_second": 24,
"max_frame": 4,
"loop": true
}
}
}
}
}
}
@@ -0,0 +1,86 @@
{
"format_version": "1.10.0",
"particle_effect": {
"description": {
"identifier": "cobblemon:watershuriken_actorhor",
"basic_render_parameters": {
"material": "particles_blend",
"texture": "textures/particles/moves/watershuriken"
}
},
"curves": {
"variable.rsize": {
"type": "linear",
"input": "v.particle_age",
"horizontal_range": "v.particle_lifetime",
"nodes": [0, 1, 1, 1, 1, 1, 1, 1]
}
},
"events": {
"trail": {
"particle_effect": {
"effect": "cobblemon:watershuriken_actortrail",
"type": "particle"
}
},
"hit": {
"particle_effect": {
"effect": "cobblemon:watershuriken_target",
"type": "particle"
}
}
},
"components": {
"minecraft:emitter_initialization": {
"creation_expression": "v.target_deltaz=5;"
},
"minecraft:emitter_rate_instant": {
"num_particles": 1
},
"minecraft:emitter_lifetime_once": {
"active_time": 0.25
},
"minecraft:emitter_shape_disc": {
"offset": [0, 0.02, 0.1],
"radius": 0.5,
"direction": "outwards"
},
"minecraft:particle_lifetime_expression": {
"max_lifetime": 0.35
},
"minecraft:particle_lifetime_events": {
"timeline": {
"0.00": "trail",
"0.06": "trail",
"0.12": "trail",
"0.18": "trail",
"0.24": "trail",
"0.30": "trail",
"0.34": "hit"
}
},
"minecraft:particle_initial_spin": {
"rotation": "math.random_integer(0,3)*90"
},
"minecraft:particle_motion_parametric": {
"relative_position": ["-v.target_deltax*(v.particle_age / v.particle_lifetime)", "(v.target_deltay*(v.particle_age / v.particle_lifetime))", "-v.target_deltaz*(v.particle_age / v.particle_lifetime)"]
},
"minecraft:particle_appearance_billboard": {
"size": ["0.4*v.rsize", "0.4*v.rsize"],
"facing_camera_mode": "emitter_transform_xz",
"uv": {
"texture_width": 60,
"texture_height": 15,
"flipbook": {
"base_UV": [0, 0],
"size_UV": [15, 15],
"step_UV": [15, 0],
"frames_per_second": 24,
"max_frame": 4,
"loop": true
}
}
}
}
}
}
@@ -0,0 +1,63 @@
{
"format_version": "1.10.0",
"particle_effect": {
"description": {
"identifier": "cobblemon:watershuriken_actortrail",
"basic_render_parameters": {
"material": "particles_alpha",
"texture": "textures/particles/generic/impact/impact_water"
}
},
"curves": {
"variable.scale": {
"type": "linear",
"input": "v.particle_age",
"horizontal_range": "v.particle_lifetime",
"nodes": [1, 0]
}
},
"components": {
"minecraft:emitter_rate_instant": {
"num_particles": 1
},
"minecraft:emitter_lifetime_once": {
"active_time": 1
},
"minecraft:emitter_shape_point": {
"direction": ["v.particle_random_1-0.5", "v.particle_random_2-0.25", -3]
},
"minecraft:particle_lifetime_expression": {
"max_lifetime": "math.random(0.3, 0.6)"
},
"minecraft:particle_initial_spin": {
"rotation": "math.round(v.particle_random_4*3)*90"
},
"minecraft:particle_initial_speed": 8,
"minecraft:particle_motion_dynamic": {
"linear_acceleration": [0, -5, 0],
"linear_drag_coefficient": 8
},
"minecraft:particle_appearance_billboard": {
"size": ["0.22 * variable.scale", "0.22 * variable.scale"],
"facing_camera_mode": "rotate_xyz",
"uv": {
"texture_width": 8,
"texture_height": 56,
"flipbook": {
"base_UV": [0, 24],
"size_UV": [8, 8],
"step_UV": [0, 8],
"frames_per_second": 16,
"max_frame": 4
}
}
},
"minecraft:particle_motion_collision": {
"collision_radius": 0.02
},
"minecraft:particle_appearance_tinting": {
"color": [0.61176, 0.87451, 1, 1]
}
}
}
}
@@ -0,0 +1,86 @@
{
"format_version": "1.10.0",
"particle_effect": {
"description": {
"identifier": "cobblemon:watershuriken_actorvert",
"basic_render_parameters": {
"material": "particles_blend",
"texture": "textures/particles/moves/watershuriken"
}
},
"curves": {
"variable.rsize": {
"type": "linear",
"input": "v.particle_age",
"horizontal_range": "v.particle_lifetime",
"nodes": [0, 1, 1, 1, 1, 1, 1, 1]
}
},
"events": {
"trail": {
"particle_effect": {
"effect": "cobblemon:watershuriken_actortrail",
"type": "particle"
}
},
"hit": {
"particle_effect": {
"effect": "cobblemon:watershuriken_target",
"type": "particle"
}
}
},
"components": {
"minecraft:emitter_initialization": {
"creation_expression": "v.target_deltaz=5;"
},
"minecraft:emitter_rate_instant": {
"num_particles": 1
},
"minecraft:emitter_lifetime_once": {
"active_time": 0.25
},
"minecraft:emitter_shape_disc": {
"offset": [0, 0.02, 0.1],
"radius": 0.5,
"direction": "outwards"
},
"minecraft:particle_lifetime_expression": {
"max_lifetime": 0.35
},
"minecraft:particle_lifetime_events": {
"timeline": {
"0.00": "trail",
"0.06": "trail",
"0.12": "trail",
"0.18": "trail",
"0.24": "trail",
"0.30": "trail",
"0.34": "hit"
}
},
"minecraft:particle_initial_spin": {
"rotation": "math.random_integer(0,3)*90"
},
"minecraft:particle_motion_parametric": {
"relative_position": ["-v.target_deltax*(v.particle_age / v.particle_lifetime)", "(v.target_deltay*(v.particle_age / v.particle_lifetime))", "-v.target_deltaz*(v.particle_age / v.particle_lifetime)"]
},
"minecraft:particle_appearance_billboard": {
"size": ["0.4*v.rsize", "0.4*v.rsize"],
"facing_camera_mode": "emitter_transform_yz",
"uv": {
"texture_width": 60,
"texture_height": 15,
"flipbook": {
"base_UV": [0, 0],
"size_UV": [15, 15],
"step_UV": [15, 0],
"frames_per_second": 24,
"max_frame": 4,
"loop": true
}
}
}
}
}
}
@@ -0,0 +1,69 @@
{
"format_version": "1.10.0",
"particle_effect": {
"description": {
"identifier": "cobblemon:watershuriken_target",
"basic_render_parameters": {
"material": "particles_alpha",
"texture": "textures/particles/generic/impact/impact_water"
}
},
"curves": {
"variable.scale": {
"type": "linear",
"input": "v.particle_age",
"horizontal_range": "v.particle_lifetime",
"nodes": [1, 0]
}
},
"events": {
"event": {
"particle_effect": {
"effect": "cobblemon:watershuriken_targetspark",
"type": "particle"
}
}
},
"components": {
"minecraft:emitter_rate_steady": {
"spawn_rate": 240,
"max_particles": 14
},
"minecraft:emitter_lifetime_once": {
"active_time": 0.1
},
"minecraft:emitter_lifetime_events": {
"creation_event": "event"
},
"minecraft:emitter_shape_point": {},
"minecraft:particle_lifetime_expression": {
"max_lifetime": "math.random(0.3, 0.6)"
},
"minecraft:particle_initial_spin": {
"rotation": "math.round(v.particle_random_4*3)*90"
},
"minecraft:particle_initial_speed": "math.random(9,17)",
"minecraft:particle_motion_dynamic": {
"linear_drag_coefficient": 5
},
"minecraft:particle_appearance_billboard": {
"size": ["0.3 * variable.scale", "0.3 * variable.scale"],
"facing_camera_mode": "rotate_xyz",
"uv": {
"texture_width": 8,
"texture_height": 56,
"flipbook": {
"base_UV": [0, 16],
"size_UV": [8, 8],
"step_UV": [0, 8],
"frames_per_second": 16,
"max_frame": 5
}
}
},
"minecraft:particle_appearance_tinting": {
"color": [0.61176, 0.87451, 1, 1]
}
}
}
}
@@ -0,0 +1,62 @@
{
"format_version": "1.10.0",
"particle_effect": {
"description": {
"identifier": "cobblemon:watershuriken_targetspark",
"basic_render_parameters": {
"material": "particles_blend",
"texture": "textures/particles/vanilla/critical_hit"
}
},
"curves": {
"variable.bitespark": {
"type": "linear",
"input": "v.particle_age",
"horizontal_range": "v.particle_lifetime",
"nodes": [0, 1, 0.88, 0.66, 0.35, -0.05]
}
},
"components": {
"minecraft:emitter_rate_instant": {
"num_particles": 7
},
"minecraft:emitter_lifetime_once": {
"active_time": 1
},
"minecraft:emitter_shape_point": {
"offset": [0, 0, -0.25],
"direction": ["v.particle_random_1-0.5", "v.particle_random_2-0.25", "v.particle_random_3-0.5"]
},
"minecraft:particle_lifetime_expression": {
"max_lifetime": "0.5-(v.particle_random_4*0.1)"
},
"minecraft:particle_initial_speed": "math.random(1.75,3.55)*3",
"minecraft:particle_motion_dynamic": {
"linear_acceleration": [0, -5, 0],
"linear_drag_coefficient": 4
},
"minecraft:particle_appearance_billboard": {
"size": ["0.125*v.bitespark", "0.125*v.bitespark"],
"facing_camera_mode": "rotate_xyz",
"uv": {
"texture_width": 8,
"texture_height": 8,
"uv": [0, 0],
"uv_size": [7, 7]
}
},
"minecraft:particle_motion_collision": {
"collision_radius": 0.01
},
"minecraft:particle_appearance_tinting": {
"color": {
"interpolant": "v.particle_age / v.particle_lifetime",
"gradient": {
"0.0": "#FF51D8FF",
"1.0": "#FF0076FF"
}
}
}
}
}
}
@@ -1815,6 +1815,12 @@
"wings_open": {
"scale": 0
}
},
"timeline": {
"0.0": "q.run_molang('cobblemon:stepsound_claw_medium');",
"0.5": "q.run_molang('cobblemon:stepsound_claw_medium');",
"1.0": "q.run_molang('cobblemon:stepsound_claw_medium');",
"1.5": "q.run_molang('cobblemon:stepsound_claw_medium');"
}
},
"animation.pidgeot.mount_ground_idle": {
@@ -3631,6 +3637,12 @@
"wings_open": {
"scale": 0
}
},
"timeline": {
"0.0": "q.run_molang('cobblemon:stepsound_claw_medium');",
"0.5": "q.run_molang('cobblemon:stepsound_claw_medium');",
"1.0": "q.run_molang('cobblemon:stepsound_claw_medium');",
"1.5": "q.run_molang('cobblemon:stepsound_claw_medium');"
}
},
"animation.pidgeot.ride_ground_walk": {
@@ -37,10 +37,10 @@
"rotation": [0, -7.5, 0]
},
"tail2": {
"rotation": [30, 0, 0]
"rotation": ["30-math.sin(q.anim_time*90*2-60)*-3", 0, 0]
},
"tail3": {
"rotation": [12.5, 0, 0]
"rotation": ["12.5-math.sin(q.anim_time*90*2-120)*-3", 0, 0]
},
"leg_right": {
"rotation": [0, 5, 0]
@@ -53,6 +53,22 @@
},
"wings_open": {
"scale": 0
},
"torso": {
"rotation": ["-math.sin(q.anim_time*90*2-90)*1", 0, "math.sin(q.anim_time*90*1-90)*1"],
"position": [0, "math.sin(q.anim_time*90*2)*0.1", 0]
},
"wing_closed_left": {
"rotation": ["-0-math.sin(q.anim_time*90*2-150)*1", 0, 0]
},
"wing_closed_right": {
"rotation": ["-0-math.sin(q.anim_time*90*2-150)*1", 0, 0]
},
"neck": {
"rotation": ["-math.sin(q.anim_time*90*2-180)*1", 0, 0]
},
"head": {
"rotation": ["-math.sin(q.anim_time*90*2-90)*-2", 0, "math.sin(q.anim_time*90*1-60)*-1"]
}
}
},
@@ -111,6 +127,30 @@
}
}
},
"torso": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.3333": {
"post": [5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5833": {
"post": [2.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.8333": {
"post": [-5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.1667": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"jaw": {
"rotation": {
"0.0": {
@@ -118,19 +158,15 @@
"lerp_mode": "catmullrom"
},
"0.1667": {
"post": [85, 0, 0],
"lerp_mode": "catmullrom"
},
"0.4167": {
"post": [85, 0, 0],
"post": [72.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5833": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.75": {
"post": [85, 0, 0],
"0.8333": {
"post": [52.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.1667": {
@@ -138,6 +174,32 @@
"lerp_mode": "catmullrom"
}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"0.5833": {
"pre": [0, 0, 0],
"post": [0.1, 0, -0.1]
},
"0.75": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, 0],
"0.5833": {
"pre": [0, 0, 0],
"post": [-0.1, 0, -0.1]
},
"0.75": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
}
},
"sound_effects": {
@@ -203,6 +265,546 @@
"position": [-0.1, 0, -0.1]
}
}
},
"animation.spearow.hold_item": {
"loop": true,
"bones": {
"jaw": {
"rotation": [30, 0, 0]
}
}
},
"animation.spearow.ground_walk": {
"loop": true,
"animation_length": 0.75,
"bones": {
"torso": {
"rotation": ["1-math.cos(q.anim_time*90*16/3*2)*-2", "-math.sin(q.anim_time*90*16/3+60)*3", "-1+math.sin(q.anim_time*90*16/3+30)*-4"],
"position": [0, "math.sin(q.anim_time*90*16/3*2)*0.2", 0]
},
"wings_open": {
"scale": 0
},
"wing_closed_left": {
"rotation": [3, 0, 0]
},
"wing_closed_right": {
"rotation": [3, 0, 0]
},
"tail2": {
"rotation": ["22-math.cos(q.anim_time*90*16/3*2)*5", 0, 0]
},
"tail3": {
"rotation": ["5-math.cos(q.anim_time*90*16/3*2)*5", 0, 0]
},
"neck": {
"rotation": {
"0.0": ["-math.cos(q.anim_time*90*16/3*2)*-12.5", "-math.sin(q.anim_time*90*16/3+60)*-3", "math.sin(q.anim_time*90*16/3+30)*3"],
"0.125": ["-math.cos(q.anim_time*90*16/3*2)*-9.5", "-math.sin(q.anim_time*90*16/3+60)*-3", "math.sin(q.anim_time*90*16/3+30)*3"],
"0.1667": ["-math.cos(q.anim_time*90*16/3*2)*-12.5", "-math.sin(q.anim_time*90*16/3+60)*-3", "math.sin(q.anim_time*90*16/3+30)*3"],
"0.375": ["-math.cos(q.anim_time*90*16/3*2)*-12.5", "-math.sin(q.anim_time*90*16/3+60)*-3", "math.sin(q.anim_time*90*16/3+30)*3"],
"0.5": ["-math.cos(q.anim_time*90*16/3*2)*-9.5", "-math.sin(q.anim_time*90*16/3+60)*-3", "math.sin(q.anim_time*90*16/3+30)*3"],
"0.5417": ["-math.cos(q.anim_time*90*16/3*2)*-12.5", "-math.sin(q.anim_time*90*16/3+60)*-3", "math.sin(q.anim_time*90*16/3+30)*3"]
},
"position": {
"0.0": [0, "math.cos(q.anim_time*90*16/3*2)*0.2", 0],
"0.0417": [0, -0.075, 0.025],
"0.0833": [0, "-0.2+math.cos(q.anim_time*90*16/3*2)*0.2", -0.2],
"0.125": [0, -0.22, -0.17],
"0.1667": [0, -0.21, -0.185],
"0.375": [0, "math.cos(q.anim_time*90*16/3*2)*0.2", 0],
"0.4167": [0, -0.075, 0.025],
"0.4583": [0, "-0.2+math.cos(q.anim_time*90*16/3*2)*0.2", -0.2],
"0.5": [0, -0.22, -0.17],
"0.5417": [0, -0.21, -0.185],
"0.75": [0, "math.cos(q.anim_time*90*16/3*2)*0.2", 0]
}
},
"head": {
"rotation": ["5-math.cos(q.anim_time*90*16/3*2)*18", 0, 0],
"position": [0, 0, "-0.2+math.cos(q.anim_time*90*16/3*2)*0.3"]
},
"scruff_left": {
"rotation": [0, "-0-math.cos(q.anim_time*90*16/3*2-30)*7", 0]
},
"scruff_right": {
"rotation": [0, "0+math.cos(q.anim_time*90*16/3*2-30)*7", 0]
},
"scruff_top_right": {
"rotation": ["-0-math.cos(q.anim_time*90*16/3*2-30)*5", 0, 0]
},
"scruff_bottom": {
"rotation": ["-0-math.cos(q.anim_time*90*16/3*2)*-12", 0, 0]
},
"leg_left": {
"rotation": {
"0.0": [25, -17.5, 0],
"0.125": {
"pre": [21.25, -12.5, 0],
"post": [21.25, -12.5, 0],
"lerp_mode": "catmullrom"
},
"0.375": [-40, -5, 0],
"0.75": [25, -17.5, 0]
},
"position": {
"0.0": [0.3, 0.1, 0.6],
"0.0417": [0.23, 0.25, 0.71],
"0.125": {
"pre": [0, 0.68, -0.08],
"post": [0, 0.68, -0.08],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [0, 0.97, -1.41],
"lerp_mode": "catmullrom"
},
"0.375": [0, -0.5, -2.15],
"0.5": [0, -0.19, -1.02],
"0.5833": [0, -0.07, -0.3],
"0.625": [0, -0.02, 0.21],
"0.7083": [0.1, 0.215, 0.43],
"0.75": [0.3, 0.1, 0.6]
}
},
"leg_left2": {
"rotation": {
"0.0": [0, 0, 0],
"0.125": {
"pre": [-30.83, 0, 0],
"post": [-30.83, 0, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [-2.65, 0, 0],
"lerp_mode": "catmullrom"
},
"0.375": [12.5, 0, 0],
"0.75": [0, 0, 0]
}
},
"foot_left": {
"rotation": {
"0.0": [27.5, 0, -5],
"0.125": {
"pre": [20.17, 0, 0],
"post": [20.17, 0, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [12.596, 0.6637, -1.3486],
"lerp_mode": "catmullrom"
},
"0.375": [28, 0, 0],
"0.625": [-7.33, 0, 0],
"0.75": [27.5, 0, -5]
},
"position": {
"0.0": [0, 0.25, 0],
"0.125": [0, 0, 0],
"0.375": [0, 0, 0],
"0.625": [0, 0.17, 0],
"0.75": [0, 0.25, 0]
}
},
"toe_back_left": {
"rotation": {
"0.0": [-20, 0, 0],
"0.2083": {
"pre": [-8.33, 0, 0],
"post": [-8.33, 0, 0],
"lerp_mode": "catmullrom"
},
"0.375": [0, 0, 0],
"0.625": [0, 0, 0],
"0.75": [-20, 0, 0]
}
},
"toe_inner_left": {
"rotation": {
"0.0": [-55, 10, -7.5],
"0.125": {
"pre": [7.5, 15, 0],
"post": [7.5, 15, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [5, 15, 0],
"lerp_mode": "catmullrom"
},
"0.375": [0, 15, 0],
"0.625": [0, 15, 0],
"0.75": [-55, 10, -7.5]
},
"position": {
"0.0": [0, -0.75, 1.35],
"0.125": [0, 0, 0],
"0.625": [0, 0, 0],
"0.75": [0, -0.75, 1.35]
}
},
"toe_outer_left": {
"rotation": {
"0.0": [-51.5, -2.5, 10],
"0.125": {
"pre": [5, -15, 0],
"post": [5, -15, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [5, -15, 0],
"lerp_mode": "catmullrom"
},
"0.375": [0, -15, 0],
"0.625": [0, -15, 0],
"0.75": [-51.5, -2.5, 10]
},
"position": {
"0.0": [0, -0.75, 1.35],
"0.125": [0, 0, 0],
"0.625": [0, 0, 0],
"0.75": [0, -0.75, 1.35]
}
},
"leg_right": {
"rotation": {
"0.0": [-40, 5, 0],
"0.375": [25, 17.5, 0],
"0.5": {
"pre": [21.25, 12.5, 0],
"post": [21.25, 12.5, 0],
"lerp_mode": "catmullrom"
},
"0.75": [-40, 5, 0]
},
"position": {
"0.0": [0, -0.5, -2.15],
"0.125": [0, -0.19, -1.02],
"0.2083": [0, -0.07, -0.3],
"0.25": [0, -0.02, 0.21],
"0.3333": [-0.1, 0.215, 0.43],
"0.375": [-0.3, 0.1, 0.6],
"0.4167": [-0.23, 0.25, 0.71],
"0.5": {
"pre": [0, 0.68, -0.08],
"post": [0, 0.68, -0.08],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [0, 0.97, -1.41],
"lerp_mode": "catmullrom"
},
"0.75": [0, -0.5, -2.15]
}
},
"leg_right2": {
"rotation": {
"0.0": [12.5, 0, 0],
"0.375": [0, 0, 0],
"0.5": {
"pre": [-30.83, 0, 0],
"post": [-30.83, 0, 0],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [-2.65, 0, 0],
"lerp_mode": "catmullrom"
},
"0.75": [12.5, 0, 0]
}
},
"foot_right": {
"rotation": {
"0.0": [28, 0, 0],
"0.25": [-7.33, 0, 0],
"0.375": [27.5, 0, 5],
"0.5": {
"pre": [20.17, 0, 0],
"post": [20.17, 0, 0],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [12.596, -0.6637, 1.3486],
"lerp_mode": "catmullrom"
},
"0.75": [28, 0, 0]
},
"position": {
"0.0": [0, 0, 0],
"0.25": [0, 0.17, 0],
"0.375": [0, 0.25, 0],
"0.5": [0, 0, 0],
"0.75": [0, 0, 0]
}
},
"toe_back_right": {
"rotation": {
"0.0": [0, 0, 0],
"0.25": [0, 0, 0],
"0.375": [-20, 0, 0],
"0.5833": {
"pre": [-8.33, 0, 0],
"post": [-8.33, 0, 0],
"lerp_mode": "catmullrom"
},
"0.75": [0, 0, 0]
}
},
"toe_inner_right": {
"rotation": {
"0.0": [0, -15, 0],
"0.25": [0, -15, 0],
"0.375": [-55, -10, 7.5],
"0.5": {
"pre": [7.5, -15, 0],
"post": [7.5, -15, 0],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [5, -15, 0],
"lerp_mode": "catmullrom"
},
"0.75": [0, -15, 0]
},
"position": {
"0.0": [0, 0, 0],
"0.25": [0, 0, 0],
"0.375": [0, -0.75, 1.35],
"0.5": [0, 0, 0],
"0.75": [0, 0, 0]
}
},
"toe_outer_right": {
"rotation": {
"0.0": [0, 15, 0],
"0.25": [0, 15, 0],
"0.375": [-51.5, 2.5, -10],
"0.5": {
"pre": [5, 15, 0],
"post": [5, 15, 0],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [5, 15, 0],
"lerp_mode": "catmullrom"
},
"0.75": [0, 15, 0]
},
"position": {
"0.0": [0, 0, 0],
"0.25": [0, 0, 0],
"0.375": [0, -0.75, 1.35],
"0.5": [0, 0, 0],
"0.75": [0, 0, 0]
}
}
}
},
"animation.spearow.air_idle": {
"loop": true,
"animation_length": 4,
"bones": {
"body": {
"position": ["-math.sin(q.anim_time*90*3-45)*0.5", "math.sin(q.anim_time*90*6-45)*1.5", "math.sin(q.anim_time*90*6-45)*1/2"]
},
"torso": {
"rotation": ["-math.sin(q.anim_time*90*6-120)*-4", 0, "math.sin(q.anim_time*90*3-90)*4"]
},
"wing_open_left": {
"rotation": ["-math.sin(q.anim_time*90*6-90)*6", 0, "math.sin(q.anim_time*90*6)*65"],
"position": [0, "math.sin(q.anim_time*90*6)*-1", 0]
},
"wing_open_left2": {
"rotation": [0, 0, "20+math.sin(q.anim_time*90*6-45)*30"]
},
"wing_open_left3": {
"rotation": [0, 0, "0+math.sin(q.anim_time*90*6-75)*30"]
},
"wing_open_right": {
"rotation": ["-math.sin(q.anim_time*90*6-90)*6", 0, "-math.sin(q.anim_time*90*6)*65"],
"position": [0, "math.sin(q.anim_time*90*6)*-1", 0]
},
"wing_open_right2": {
"rotation": [0, 0, "-20-math.sin(q.anim_time*90*6-45)*30"]
},
"wing_open_right3": {
"rotation": [0, 0, "-0-math.sin(q.anim_time*90*6-75)*30"]
},
"tail2": {
"rotation": ["-math.sin(q.anim_time*90*6-30)*5", 0, 0]
},
"tail3": {
"rotation": ["-math.sin(q.anim_time*90*6-90)*5", 0, 0]
},
"neck": {
"rotation": ["5-math.sin(q.anim_time*90*6-140)*-1", 0, "math.sin(q.anim_time*90*3-00)*-1"]
},
"head": {
"rotation": ["-math.sin(q.anim_time*90*6-110)*3", 0, "math.sin(q.anim_time*90*3-120)*-2"]
},
"scruff_left": {
"rotation": [0, "-0-math.sin(q.anim_time*90*6-170)*4", 0]
},
"scruff_right": {
"rotation": [0, "0+math.sin(q.anim_time*90*6-170)*4", 0]
},
"scruff_top_right": {
"rotation": ["-0-math.sin(q.anim_time*90*6-210)*6", 0, 0]
},
"scruff_bottom": {
"rotation": ["-0-math.sin(q.anim_time*90*6-170)*3", 0, 0]
},
"leg_left": {
"rotation": [50, 0, 0]
},
"leg_left2": {
"rotation": [-100, 0, 0]
},
"foot_left": {
"rotation": ["40-math.sin(q.anim_time*90*6-30)*-5", -10, "math.sin(q.anim_time*90*3-150)*6"]
},
"toe_back_left": {
"rotation": [-27.5, 0, 0]
},
"toe_inner_left": {
"rotation": [37.5, 0, 0]
},
"toe_outer_left": {
"rotation": [37.5, 0, 0]
},
"leg_right": {
"rotation": [50, 0, 0]
},
"leg_right2": {
"rotation": [-100, 0, 0]
},
"foot_right": {
"rotation": ["40-math.sin(q.anim_time*90*6-30)*-5", 10, "-math.sin(q.anim_time*90*3-150)*6"]
},
"toe_back_right": {
"rotation": [-27.5, 0, 0]
},
"toe_inner_right": {
"rotation": [37.5, 0, 0]
},
"toe_outer_right": {
"rotation": [37.5, 0, 0]
}
},
"timeline": {
"0.6667": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"1.3333": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"2.0": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"2.6667": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"3.3333": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"4.0": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};"
}
},
"animation.spearow.air_fly": {
"loop": true,
"animation_length": 4,
"bones": {
"body": {
"position": ["-math.sin(q.anim_time*90*3-45)*0.5", "math.sin(q.anim_time*90*6-45)*1.5", "math.sin(q.anim_time*90*6-45)*1/2"]
},
"torso": {
"rotation": ["15-math.sin(q.anim_time*90*6-120)*-1.5", 0, "math.sin(q.anim_time*90*3-90)*4"]
},
"wing_open_left": {
"rotation": ["-math.sin(q.anim_time*90*6-90)*6", 0, "math.sin(q.anim_time*90*6)*65"],
"position": [0, "math.sin(q.anim_time*90*6)*-1", 0]
},
"wing_open_left2": {
"rotation": [0, 0, "20+math.sin(q.anim_time*90*6-45)*30"]
},
"wing_open_left3": {
"rotation": [0, 0, "0+math.sin(q.anim_time*90*6-75)*30"]
},
"wing_open_right": {
"rotation": ["-math.sin(q.anim_time*90*6-90)*6", 0, "-math.sin(q.anim_time*90*6)*65"],
"position": [0, "math.sin(q.anim_time*90*6)*-1", 0]
},
"wing_open_right2": {
"rotation": [0, 0, "-20-math.sin(q.anim_time*90*6-45)*30"]
},
"wing_open_right3": {
"rotation": [0, 0, "-0-math.sin(q.anim_time*90*6-75)*30"]
},
"tail": {
"rotation": [-10, 0, 0]
},
"tail2": {
"rotation": ["-math.sin(q.anim_time*90*6-30)*5", 0, 0]
},
"tail3": {
"rotation": ["-math.sin(q.anim_time*90*6-90)*5", 0, 0]
},
"neck": {
"rotation": ["5-math.sin(q.anim_time*90*6-140)*-1", 0, "math.sin(q.anim_time*90*3-00)*-1"]
},
"head_ai": {
"rotation": [5, 0, 0]
},
"head": {
"rotation": ["-7.5-math.sin(q.anim_time*90*6-110)*3", 0, "math.sin(q.anim_time*90*3-120)*-2"]
},
"scruff_left": {
"rotation": [0, "-0-math.sin(q.anim_time*90*6-170)*4", 0]
},
"scruff_right": {
"rotation": [0, "0+math.sin(q.anim_time*90*6-170)*4", 0]
},
"scruff_top_right": {
"rotation": ["-0-math.sin(q.anim_time*90*6-210)*6", 0, 0]
},
"scruff_bottom": {
"rotation": ["-0-math.sin(q.anim_time*90*6-170)*3", 0, 0]
},
"leg_left": {
"rotation": [50, 0, 0]
},
"leg_left2": {
"rotation": [-100, 0, 0]
},
"foot_left": {
"rotation": ["40-math.sin(q.anim_time*90*6-30)*-5", -10, "math.sin(q.anim_time*90*3-150)*6"]
},
"toe_back_left": {
"rotation": [-27.5, 0, 0]
},
"toe_inner_left": {
"rotation": [37.5, 0, 0]
},
"toe_outer_left": {
"rotation": [37.5, 0, 0]
},
"leg_right": {
"rotation": [50, 0, 0]
},
"leg_right2": {
"rotation": [-100, 0, 0]
},
"foot_right": {
"rotation": ["40-math.sin(q.anim_time*90*6-30)*-5", 10, "-math.sin(q.anim_time*90*3-150)*6"]
},
"toe_back_right": {
"rotation": [-27.5, 0, 0]
},
"toe_inner_right": {
"rotation": [37.5, 0, 0]
},
"toe_outer_right": {
"rotation": [37.5, 0, 0]
}
},
"timeline": {
"0.6667": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"1.3333": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"2.0": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"2.6667": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"3.3333": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"4.0": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};"
}
}
}
}
@@ -2,6 +2,312 @@
"format_version": "1.8.0",
"animations": {
"animation.ninetales.ground_idle": {
"loop": true,
"bones": {
"body": {
"position": [0, -0.3, 0]
},
"torso": {
"rotation": ["5+math.sin(q.anim_time*90*1-0)*0.5", 0, "0-math.sin(q.anim_time*90*0.5-30)*0.5"]
},
"chest": {
"rotation": ["-4.8+math.sin(q.anim_time*90*1-30)*0.5", 0, -1.2]
},
"neck": {
"rotation": ["-12.5+math.sin(q.anim_time*90*1-60)*1", 0, 0]
},
"neck_fur_left2": {
"rotation": [0, 0, "-7.5-math.sin(q.anim_time*90*1-90)*1"]
},
"neck_fur_right2": {
"rotation": [0, 0, "7.5+math.sin(q.anim_time*90*1-90)*1"]
},
"neck2": {
"rotation": ["-12.5+math.sin(q.anim_time*90*1-90)*0.5", 0, 0]
},
"head_rotation": {
"rotation": ["32.5+math.sin(q.anim_time*90*1-90)*-2", 0, "0-math.sin(q.anim_time*90*1-120)*-0.5"]
},
"hair2": {
"rotation": ["-2.5+math.sin(q.anim_time*90*1-210)*1", 0, 0]
},
"hair_back_top": {
"rotation": ["-2.5+math.sin(q.anim_time*90*1-300)*2", 0, 0]
},
"hair_back_top2": {
"rotation": ["-22.5+math.sin(q.anim_time*90*1-360)*4", 0, 0]
},
"hair_back_bottom2": {
"rotation": ["-20+math.sin(q.anim_time*90*1-380)*4", 0, 0]
},
"tail_middle": {
"rotation": ["42.5+math.sin(q.anim_time*90*1-60)*-0.5", 0, 0]
},
"tail_middle2": {
"rotation": ["7.5+math.sin(q.anim_time*90*1-120)*-1", 0, 0]
},
"tail_middle3": {
"rotation": ["17.5+math.sin(q.anim_time*90*1-180)*-1", 0, 0]
},
"tail_middle4": {
"rotation": ["-37.5+math.sin(q.anim_time*90*1-240)*-4", 0, 0]
},
"tail_middle5": {
"rotation": ["-35+math.sin(q.anim_time*90*1-300)*-6", 2.5, 0]
},
"tail_middle6": {
"rotation": ["-42.5+math.sin(q.anim_time*90*1-300)*-6", 0, 0]
},
"tail_middle7": {
"rotation": ["-25+math.sin(q.anim_time*90*1-400)*-6", 0, 0]
},
"tail_middle8": {
"rotation": ["35+math.sin(q.anim_time*90*1-460)*-12", 0, 0]
},
"tail_left1_rotation": {
"rotation": ["27.525638448+math.sin(q.anim_time*90*1-60)*-0.5", 2.04767, 1.43455]
},
"tail_left1_2": {
"rotation": ["15.013645339+math.sin(q.anim_time*90*1-120)*-1", 2.41476, 0.64743]
},
"tail_left1_3": {
"rotation": ["17.5+math.sin(q.anim_time*90*1-180)*-1", 0, 0]
},
"tail_left1_4": {
"rotation": ["-32.599068173+math.sin(q.anim_time*90*1-240)*-4", -4.21541, 2.69136]
},
"tail_left1_5": {
"rotation": ["-37.605552+math.sin(q.anim_time*90*1-300)*-6", -3.9649, 3.04868]
},
"tail_left1_6": {
"rotation": ["-40.107597848+math.sin(q.anim_time*90*1-360)*-4", 3.82821, -3.21873]
},
"tail_left1_7": {
"rotation": ["-27.702122918+math.sin(q.anim_time*90*1-400)*-6", 6.64851, -3.47875]
},
"tail_left1_8": {
"rotation": ["30.867477791+math.sin(q.anim_time*90*1-460)*-12", 12.95254, 7.63074]
},
"tail_left2_rotation": {
"rotation": ["22.577335588+math.sin(q.anim_time*90*1-60)*-0.5", 4.61854, 1.91757]
},
"tail_left2_2": {
"rotation": ["12.5+math.sin(q.anim_time*90*1-120)*-1", 0, 0]
},
"tail_left2_3": {
"rotation": ["15+math.sin(q.anim_time*90*1-180)*-1", 0, 0]
},
"tail_left2_4": {
"rotation": ["-20+math.sin(q.anim_time*90*1-240)*-4", 0, 0]
},
"tail_left2_5": {
"rotation": ["-56.265008831+math.sin(q.anim_time*90*1-300)*-6", -9.93191, 14.48174]
},
"tail_left2_6": {
"rotation": ["-37.158458405+math.sin(q.anim_time*90*1-300)*-6", 18.26883, -13.36473]
},
"tail_left2_7": {
"rotation": ["33.125975871+math.sin(q.anim_time*90*1-360)*-12", 10.51794, 6.79286]
},
"tail_left3_rotation": {
"rotation": ["10+math.sin(q.anim_time*90*1-60)*-0.5", 0, 0]
},
"tail_left3_2": {
"rotation": ["22.577335588+math.sin(q.anim_time*90*1-120)*-1", 4.61854, 1.91757]
},
"tail_left3_3": {
"rotation": ["10+math.sin(q.anim_time*90*1-180)*-1", 0, 0]
},
"tail_left3_4": {
"rotation": ["-30+math.sin(q.anim_time*90*1-240)*-4", 0, 0]
},
"tail_left3_5": {
"rotation": ["-27.860824367+math.sin(q.anim_time*90*1-300)*-6", -8.86042, 4.65468]
},
"tail_left3_6": {
"rotation": ["-43.1852829+math.sin(q.anim_time*90*1-300)*-6", 9.18229, -8.51814]
},
"tail_left3_7": {
"rotation": ["35.413183453+math.sin(q.anim_time*90*1-360)*-12", 8.17773, 5.77509]
},
"tail_right1_rotation": {
"rotation": ["27.525638448+math.sin(q.anim_time*90*1-60)*-0.5", -2.04767, -1.43455]
},
"tail_right1_2": {
"rotation": ["15.013645339+math.sin(q.anim_time*90*1-120)*-1", -2.41476, -0.64743]
},
"tail_right1_3": {
"rotation": ["17.5+math.sin(q.anim_time*90*1-180)*-1", 0, 0]
},
"tail_right1_4": {
"rotation": ["-32.599068173+math.sin(q.anim_time*90*1-240)*-4", 4.21541, -2.69136]
},
"tail_right1_5": {
"rotation": ["-37.605552+math.sin(q.anim_time*90*1-300)*-6", 3.9649, -3.04868]
},
"tail_right1_6": {
"rotation": ["-40.107597848+math.sin(q.anim_time*90*1-360)*-4", -3.82821, 3.21873]
},
"tail_right1_7": {
"rotation": ["-27.702122918+math.sin(q.anim_time*90*1-400)*-6", -6.64851, 3.47875]
},
"tail_right1_8": {
"rotation": ["30.867477791+math.sin(q.anim_time*90*1-460)*-12", -12.95254, -7.63074]
},
"tail_right2_rotation": {
"rotation": ["22.577335588+math.sin(q.anim_time*90*1-60)*-0.5", -4.61854, -1.91757]
},
"tail_right2_2": {
"rotation": ["12.5+math.sin(q.anim_time*90*1-120)*-1", 0, 0]
},
"tail_right2_3": {
"rotation": ["15+math.sin(q.anim_time*90*1-180)*-1", 0, 0]
},
"tail_right2_4": {
"rotation": ["-20+math.sin(q.anim_time*90*1-240)*-4", 0, 0]
},
"tail_right2_5": {
"rotation": ["-56.265008831+math.sin(q.anim_time*90*1-300)*-6", 9.93191, -14.48174]
},
"tail_right2_6": {
"rotation": ["-37.158458405+math.sin(q.anim_time*90*1-300)*-6", -18.26883, 13.36473]
},
"tail_right2_7": {
"rotation": ["33.125975871+math.sin(q.anim_time*90*1-360)*-12", -10.51794, -6.79286]
},
"leg_front_left": {
"rotation": ["-9.981069394+math.sin(q.anim_time*90*1-0)*-1", 0.43523, 4.98107],
"position": [0, "0-math.sin(q.anim_time*90*1-0)*0.025", "0-math.sin(q.anim_time*90*1-0)*-0.15"]
},
"leg_front_left2": {
"rotation": ["-2.5+math.sin(q.anim_time*90*1-0)*0.5", 0, 0]
},
"foot_front_left": {
"rotation": ["12.5+math.sin(q.anim_time*90*1-0)*0.5", 0, -5]
},
"leg_back_left": {
"rotation": ["10+math.sin(q.anim_time*90*1-0)*1", 0, -7.5],
"position": [0, "0-math.sin(q.anim_time*90*1-0)*0.2", "0-math.sin(q.anim_time*90*1-0)*0.25"]
},
"leg_back_left2": {
"rotation": ["-2.5+math.sin(q.anim_time*90*1-0)*1", 0, 0]
},
"leg_back_left3": {
"rotation": ["-2.5+math.sin(q.anim_time*90*1-0)*-1", 0, 0]
},
"foot_back_left": {
"rotation": ["-5+math.sin(q.anim_time*90*1-0)*-1", 0, 7.5]
},
"leg_front_right": {
"rotation": ["10.018930606+math.sin(q.anim_time*90*1-0)*-1", -0.43523, -4.98107],
"position": [0, "0-math.sin(q.anim_time*90*1-0)*0.025", "0-math.sin(q.anim_time*90*1-0)*-0.15"]
},
"leg_front_right2": {
"rotation": ["-10+math.sin(q.anim_time*90*1-0)*0.5", 0, 0]
},
"foot_front_right": {
"rotation": ["-0+math.sin(q.anim_time*90*1-0)*0.5", 0, 5]
},
"leg_back_right": {
"rotation": ["17.521361057+math.sin(q.anim_time*90*1-0)*1", 0.32621, 7.49294],
"position": [0, "0-math.sin(q.anim_time*90*1-0)*0.2", "0-math.sin(q.anim_time*90*1-0)*0.25"]
},
"leg_back_right2": {
"rotation": ["-5+math.sin(q.anim_time*90*1-0)*1", 0, 0]
},
"leg_back_right3": {
"rotation": ["2.5+math.sin(q.anim_time*90*1-0)*-1", 0, 0]
},
"foot_back_right": {
"rotation": ["-15+math.sin(q.anim_time*90*1-0)*-1", 0, -7.5]
},
"tail_right3_rotation": {
"rotation": ["10+math.sin(q.anim_time*90*1-60)*-0.5", 0, 0]
},
"tail_right3_2": {
"rotation": ["22.577335588+math.sin(q.anim_time*90*1-120)*-1", -4.61854, -1.91757]
},
"tail_right3_3": {
"rotation": ["10+math.sin(q.anim_time*90*1-180)*-1", 0, 0]
},
"tail_right3_4": {
"rotation": ["-30+math.sin(q.anim_time*90*1-240)*-4", 0, 0]
},
"tail_right3_5": {
"rotation": ["-27.860824367+math.sin(q.anim_time*90*1-300)*-6", 8.86042, -4.65468]
},
"tail_right3_6": {
"rotation": ["-43.1852829+math.sin(q.anim_time*90*1-300)*-6", -9.18229, 8.51814]
},
"tail_right3_7": {
"rotation": ["35.413183453+math.sin(q.anim_time*90*1-360)*-12", -8.17773, -5.77509]
},
"tail_left4_rotation": {
"rotation": ["-0+math.sin(q.anim_time*90*1-60)*-0.5", 10, 0]
},
"tail_left4_2": {
"rotation": ["17.5+math.sin(q.anim_time*90*1-120)*-1", 0, 0]
},
"tail_left4_3": {
"rotation": ["20.4458201+math.sin(q.anim_time*90*1-180)*-2", -11.73507, -4.3361]
},
"tail_left4_4": {
"rotation": ["-41.341977449+math.sin(q.anim_time*90*1-240)*-4", -13.31791, 11.45696]
},
"tail_left4_5": {
"rotation": ["-35.413183453+math.sin(q.anim_time*90*1-300)*-6", 8.17773, -5.77509]
},
"tail_left4_6": {
"rotation": ["39.711284319+math.sin(q.anim_time*90*1-360)*-12", 17.67415, 14.15251]
},
"tail_right4_rotation": {
"rotation": ["-0+math.sin(q.anim_time*90*1-60)*-0.5", -10, 0]
},
"tail_right4_2": {
"rotation": ["17.5+math.sin(q.anim_time*90*1-120)*-1", 0, 0]
},
"tail_right4_3": {
"rotation": ["20.4458201+math.sin(q.anim_time*90*1-180)*-2", 11.73507, 4.3361]
},
"tail_right4_4": {
"rotation": ["-41.341977449+math.sin(q.anim_time*90*1-240)*-4", 13.31791, -11.45696]
},
"tail_right4_5": {
"rotation": ["-35.413183453+math.sin(q.anim_time*90*1-300)*-6", -8.17773, 5.77509]
},
"tail_right4_6": {
"rotation": ["39.711284319+math.sin(q.anim_time*90*1-360)*-12", -17.67415, -14.15251]
},
"neck_fur_front": {
"rotation": ["-0+math.sin(q.anim_time*90*1-60)*-1", 0, 0]
},
"neck_fur_front2": {
"rotation": ["-0+math.sin(q.anim_time*90*1-90)*2", 0, 0]
},
"neck_fur_front3": {
"rotation": ["-0+math.sin(q.anim_time*90*1-120)*2", 0, 0]
},
"ear_left": {
"rotation": ["-0+math.sin(q.anim_time*90*1-120)*1", 0, "0-math.sin(q.anim_time*90*1-30)*2"]
},
"ear_right": {
"rotation": ["-0+math.sin(q.anim_time*90*1-120)*1", 0, "-0+math.sin(q.anim_time*90*1-30)*2"]
},
"hair": {
"rotation": ["-0+math.sin(q.anim_time*90*1-150)*2", 0, 0]
},
"hair_detail": {
"rotation": ["-0+math.sin(q.anim_time*90*1-180)*1", 0, 0]
},
"hair_detail2": {
"rotation": ["-0+math.sin(q.anim_time*90*1-240)*1", 0, 0]
},
"hair_back_bottom": {
"rotation": ["-0+math.sin(q.anim_time*90*1-320)*2", 0, 0]
}
}
},
"animation.ninetales.base": {
"loop": true,
"bones": {
"body": {
@@ -276,64 +582,6 @@
}
}
},
"animation.ninetales.cry": {
"animation_length": 1,
"bones": {
"mouth": {
"position": {
"0.0": [0, 0, 0],
"0.25": [0, -0.0999, -0.00436],
"0.75": [0, -0.0999, -0.00436],
"1.0": [0, 0, 0]
}
},
"head": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [-15, 0, 0],
"lerp_mode": "catmullrom"
},
"0.6667": {
"post": [-15, 0, 0],
"lerp_mode": "catmullrom"
},
"0.9167": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"jaw": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [65, 0, 0],
"lerp_mode": "catmullrom"
},
"0.75": {
"post": [65, 0, 0],
"lerp_mode": "catmullrom"
},
"1.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
}
},
"sound_effects": {
"0.0": {
"effect": "pokemon.ninetales.cry"
}
}
},
"animation.ninetales.blink": {
"animation_length": 0.1667,
"bones": {
@@ -413,6 +661,164 @@
"position": [-0.1, 0, -0.1]
}
}
},
"animation.ninetales.cry": {
"animation_length": 2,
"bones": {
"torso": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [1, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5": {
"post": [-2, 0, 0],
"lerp_mode": "catmullrom"
},
"1.3333": {
"post": [-4, 0, 0],
"lerp_mode": "catmullrom"
},
"1.6667": {
"post": [-0.5, 0, 0],
"lerp_mode": "catmullrom"
},
"2.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"neck2": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.2083": {
"post": [2.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.4167": {
"post": [-5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [-7.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.625": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"2.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"head_rotation": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.2083": {
"post": [5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.4583": {
"post": [-22.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [-27, 0, 0],
"lerp_mode": "catmullrom"
},
"1.625": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"2.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"0.3333": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
"1.5": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, 0],
"0.3333": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
"1.5": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
}
},
"jaw": {
"rotation": {
"0.2917": {
"pre": [0, 0, 0],
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5": {
"post": [47.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [20, 0, 0],
"lerp_mode": "catmullrom"
},
"1.5417": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
},
"position": [0, 0, 0]
},
"hair": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.1667": {
"post": [10, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"1.1667": {
"post": [-2.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.625": {
"post": [5, 0, 0],
"lerp_mode": "catmullrom"
},
"2.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
}
},
"sound_effects": {
"0.3333": {
"effect": "pokemon.ninetales.cry"
}
}
}
}
}
@@ -1,7 +1,7 @@
{
"format_version": "1.8.0",
"animations": {
"animation.ninetales_alolan.ground_idle": {
"animation.ninetales_alolan.base": {
"loop": true,
"bones": {
"body": {
@@ -381,61 +381,411 @@
}
}
},
"animation.ninetales_alolan.cry": {
"animation_length": 1,
"animation.ninetales_alolan.ground_idle": {
"loop": true,
"bones": {
"mouth": {
"position": {
"0.0": [0, 0, 0],
"0.25": [0, -0.0999, -0.00436],
"0.75": [0, -0.0999, -0.00436],
"1.0": [0, 0, 0]
}
"body": {
"position": [0, -0.25, 0]
},
"head": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [-15, 0, 0],
"lerp_mode": "catmullrom"
},
"0.6667": {
"post": [-15, 0, 0],
"lerp_mode": "catmullrom"
},
"0.9167": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
"torso": {
"rotation": ["2.5+math.sin(q.anim_time*90*1-0)*0.5", 0, "0-math.sin(q.anim_time*90*0.5-30)*0.5"]
},
"jaw": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [65, 0, 0],
"lerp_mode": "catmullrom"
},
"0.75": {
"post": [65, 0, 0],
"lerp_mode": "catmullrom"
},
"1.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
}
},
"sound_effects": {
"0.0": {
"effect": "pokemon.ninetales_alolan.cry"
"chest": {
"rotation": ["-5+math.sin(q.anim_time*90*1-30)*0.5", 0, 0]
},
"neck": {
"rotation": ["-10+math.sin(q.anim_time*90*1-60)*1", 0, 0]
},
"neck2": {
"rotation": ["-10+math.sin(q.anim_time*90*1-90)*0.5", 0, 0]
},
"head_rotation": {
"rotation": ["14.54701+math.sin(q.anim_time*90*1-90)*-2", -3.59452, "0.40543-math.sin(q.anim_time*90*1-120)*-0.5"]
},
"hair": {
"rotation": ["13.75153+math.sin(q.anim_time*90*1-90)*1", 7.26228, 1.47729]
},
"hair2": {
"rotation": ["-12.54624+math.sin(q.anim_time*90*1-120)*2", 4.88119, -1.08482]
},
"hair3": {
"rotation": ["-24.58726+math.sin(q.anim_time*90*1-180)*2", -15.69466, 1.78427]
},
"hair4": {
"rotation": ["3.48303+math.sin(q.anim_time*90*1-240)*4", -24.77164, -8.26511]
},
"hair5": {
"rotation": ["-7.97337+math.sin(q.anim_time*90*1-300)*8", -59.03741, 4.53051]
},
"hair_bottom": {
"rotation": ["7.5+math.sin(q.anim_time*90*1-360)*12", 0, 0]
},
"hair_bottom2": {
"rotation": ["-27.70212+math.sin(q.anim_time*90*1-420)*18", -6.64851, 3.47875]
},
"hair_bottom3": {
"rotation": ["25.56145+math.sin(q.anim_time*90*1-480)*24", -27.51235, -12.45891]
},
"hair6": {
"rotation": ["7.5+math.sin(q.anim_time*90*1-360)*12", 0, 0]
},
"hair7": {
"rotation": ["-40.98084+math.sin(q.anim_time*90*1-420)*18", -11.43563, 9.77243]
},
"hair8": {
"rotation": ["30.86748+math.sin(q.anim_time*90*1-480)*24", -12.95254, -7.63074]
},
"tail": {
"rotation": [0, 0, 0]
},
"tail_middle_rotation": {
"rotation": ["65+math.sin(q.anim_time*90*1-60)*-0.5", 0, 0]
},
"tail_middle2": {
"rotation": ["-7.5+math.sin(q.anim_time*90*1-120)*-1", 0, 0]
},
"tail_middle3": {
"rotation": ["-25+math.sin(q.anim_time*90*1-180)*-2", 0, 0]
},
"tail_middle4": {
"rotation": ["-30+math.sin(q.anim_time*90*1-240)*-4", 0, 0]
},
"tail_middle5": {
"rotation": ["-25+math.sin(q.anim_time*90*1-300)*-6", 0, 0]
},
"tail_middle6": {
"rotation": ["-12.62353+math.sin(q.anim_time*90*1-360)*-12", 7.24305, -1.95155]
},
"tail_middle7": {
"rotation": ["-31.18939+math.sin(q.anim_time*90*1-400)*-12", -15.09492, 8.95891]
},
"tail_middle8": {
"rotation": ["15.22074+math.sin(q.anim_time*90*1-460)*-12", 9.65594, 2.61298]
},
"tail_middle9": {
"rotation": ["-20+math.sin(q.anim_time*90*1-520)*-18", 0, 0]
},
"tail_left1_rotation": {
"rotation": ["64.2174+math.sin(q.anim_time*90*1-60)*-0.5", 8.98581, 12.04686]
},
"tail_left1_2": {
"rotation": ["-17.51565+math.sin(q.anim_time*90*1-120)*-1", -2.38422, 0.7522]
},
"tail_left1_3": {
"rotation": ["-10.03742+math.sin(q.anim_time*90*1-180)*-2", -4.92385, 0.87038]
},
"tail_left1_4": {
"rotation": ["-37.52635+math.sin(q.anim_time*90*1-240)*-4", -1.98315, 1.52251]
},
"tail_left1_5": {
"rotation": ["-17.51565+math.sin(q.anim_time*90*1-300)*-6", -2.38422, 0.7522]
},
"tail_left1_6": {
"rotation": ["-25.08377+math.sin(q.anim_time*90*1-360)*-12", -4.53051, 2.11751]
},
"tail_left1_7": {
"rotation": ["-15.22074+math.sin(q.anim_time*90*1-400)*-12", 9.65594, -2.61298]
},
"tail_left1_8": {
"rotation": ["30.71983+math.sin(q.anim_time*90*1-460)*-12", -13.97399, -3.85625]
},
"tail_left1_9": {
"rotation": ["-42.24682+math.sin(q.anim_time*90*1-520)*-18", 17.04679, -14.9092]
},
"tail_left2_rotation": {
"rotation": ["63.58314+math.sin(q.anim_time*90*1-60)*-0.5", 11.98346, 41.65117]
},
"tail_left2_2": {
"rotation": ["-15.50409+math.sin(q.anim_time*90*1-120)*-1", -14.47751, 3.96713]
},
"tail_left2_3": {
"rotation": ["-9.9045+math.sin(q.anim_time*90*1-180)*-2", -2.61747, -1.08202]
},
"tail_left2_4": {
"rotation": ["-27.5209+math.sin(q.anim_time*90*1-240)*-4", -2.26564, 1.0571]
},
"tail_left2_5": {
"rotation": ["-30.09468+math.sin(q.anim_time*90*1-300)*-6", -4.32875, 2.50477]
},
"tail_left2_6": {
"rotation": ["-13.06681+math.sin(q.anim_time*90*1-360)*-12", 11.06861, -5.84485]
},
"tail_left2_7": {
"rotation": ["-25.08377+math.sin(q.anim_time*90*1-400)*-12", 4.53051, -2.11751]
},
"tail_left2_8": {
"rotation": ["21.88023+math.sin(q.anim_time*90*1-460)*-12", -23.39896, -9.06159]
},
"tail_left2_9": {
"rotation": ["-0+math.sin(q.anim_time*90*1-520)*-18", 25, 0]
},
"tail_left3": {
"rotation": [-7.34619, 17.12827, -7.84022]
},
"tail_left3_rotation": {
"rotation": ["76.5201+math.sin(q.anim_time*90*1-60)*-0.5", -21.21599, 70.91151]
},
"tail_left3_2": {
"rotation": ["-23.00013+math.sin(q.anim_time*90*1-120)*-1", -11.40209, 5.14995]
},
"tail_left3_3": {
"rotation": ["-10+math.sin(q.anim_time*90*1-180)*-2", 0, 0]
},
"tail_left3_4": {
"rotation": ["-20+math.sin(q.anim_time*90*1-240)*-4", 0, 0]
},
"tail_left3_5": {
"rotation": ["-30.02363+math.sin(q.anim_time*90*1-300)*-6", 2.16489, -1.2506]
},
"tail_left3_6": {
"rotation": ["-12.99008+math.sin(q.anim_time*90*1-360)*-12", 11.53486, -4.8493]
},
"tail_left3_7": {
"rotation": ["15+math.sin(q.anim_time*90*1-400)*-12", 20, 0]
},
"tail_left3_8": {
"rotation": ["-22.89875+math.sin(q.anim_time*90*1-460)*-12", -8.42145, 5.41207]
},
"tail_left3_9": {
"rotation": ["30+math.sin(q.anim_time*90*1-520)*-18", 22.5, 0]
},
"tail_left4_rotation": {
"rotation": ["83.07626+math.sin(q.anim_time*90*1-60)*-0.5", 7.16729, 88.89799]
},
"tail_left4_2": {
"rotation": ["-28.3693+math.sin(q.anim_time*90*1-120)*-1", -12.72029, 8.00075]
},
"tail_left4_3": {
"rotation": ["-12.60443+math.sin(q.anim_time*90*1-180)*-2", -7.32123, 1.63219]
},
"tail_left4_4": {
"rotation": ["-15.04624+math.sin(q.anim_time*90*1-240)*-4", -4.88119, 1.08482]
},
"tail_left4_5": {
"rotation": ["-29.41237+math.sin(q.anim_time*90*1-300)*-6", -2.14804, -1.84068]
},
"tail_left4_6": {
"rotation": ["-9.14867+math.sin(q.anim_time*90*1-360)*-12", 20.70481, -9.00717]
},
"tail_left4_7": {
"rotation": ["-15+math.sin(q.anim_time*90*1-400)*-12", -2.5, 0]
},
"tail_left4_8": {
"rotation": ["10+math.sin(q.anim_time*90*1-460)*-12", 20, 0]
},
"tail_left4_9": {
"rotation": ["-0+math.sin(q.anim_time*90*1-520)*-18", -25, 0]
},
"tail_right1_rotation": {
"rotation": ["64.2174+math.sin(q.anim_time*90*1-60)*-0.5", -8.98581, -12.04686]
},
"tail_right1_2": {
"rotation": ["-17.51565+math.sin(q.anim_time*90*1-120)*-1", 2.38422, -0.7522]
},
"tail_right1_3": {
"rotation": ["-10.03742+math.sin(q.anim_time*90*1-180)*-2", 4.92385, -0.87038]
},
"tail_right1_4": {
"rotation": ["-37.52635+math.sin(q.anim_time*90*1-240)*-4", 1.98315, -1.52251]
},
"tail_right1_5": {
"rotation": ["-17.51565+math.sin(q.anim_time*90*1-300)*-6", 2.38422, -0.7522]
},
"tail_right1_6": {
"rotation": ["-25.08377+math.sin(q.anim_time*90*1-360)*-12", 4.53051, -2.11751]
},
"tail_right1_7": {
"rotation": ["-15.22074+math.sin(q.anim_time*90*1-400)*-12", -9.65594, 2.61298]
},
"tail_right1_8": {
"rotation": ["30.71983+math.sin(q.anim_time*90*1-460)*-12", 13.97399, 3.85625]
},
"tail_right1_9": {
"rotation": ["-42.24682+math.sin(q.anim_time*90*1-520)*-18", -17.04679, 14.9092]
},
"tail_right2_rotation": {
"rotation": ["63.58314+math.sin(q.anim_time*90*1-60)*-0.5", -11.98346, -41.65117]
},
"tail_right2_2": {
"rotation": ["-15.50409+math.sin(q.anim_time*90*1-60)*-0.5", 14.47751, -3.96713]
},
"tail_right2_3": {
"rotation": ["-9.9045+math.sin(q.anim_time*90*1-180)*-2", 2.61747, 1.08202]
},
"tail_right2_4": {
"rotation": ["-27.5209+math.sin(q.anim_time*90*1-240)*-4", 2.26564, -1.0571]
},
"tail_right2_5": {
"rotation": ["-30.09468+math.sin(q.anim_time*90*1-300)*-6", 4.32875, -2.50477]
},
"tail_right2_6": {
"rotation": ["-13.06681+math.sin(q.anim_time*90*1-360)*-12", -11.06861, 5.84485]
},
"tail_right2_7": {
"rotation": ["-25.08377+math.sin(q.anim_time*90*1-400)*-12", -4.53051, 2.11751]
},
"tail_right2_8": {
"rotation": ["21.88023+math.sin(q.anim_time*90*1-460)*-12", 23.39896, 9.06159]
},
"tail_right2_9": {
"rotation": ["-0+math.sin(q.anim_time*90*1-520)*-18", -25, 0]
},
"leg_front_left": {
"rotation": ["-4.99527+math.sin(q.anim_time*90*1-0)*-1", 0.21782, 2.4905],
"position": [0, "0-math.sin(q.anim_time*90*1-0)*0.025", "0-math.sin(q.anim_time*90*1-0)*-0.15"]
},
"leg_front_left2": {
"rotation": ["-5+math.sin(q.anim_time*90*1-0)*0.5", 0, 0]
},
"foot_front_left": {
"rotation": ["9.99067+math.sin(q.anim_time*90*1-0)*0.5", 0.43399, -2.46207]
},
"leg_back_left": {
"rotation": ["12.5048+math.sin(q.anim_time*90*1-0)*1", 1.93726, -2.22807],
"position": [0, "0-math.sin(q.anim_time*90*1-0)*0.2", "0-math.sin(q.anim_time*90*1-0)*0.25"]
},
"leg_back_left2": {
"rotation": ["-5+math.sin(q.anim_time*90*1-0)*1", 0, 0]
},
"leg_back_left3": {
"rotation": ["-2.49673+math.sin(q.anim_time*90*1-0)*-1", -0.12261, 0.03929]
},
"foot_back_left": {
"rotation": ["-5.00899+math.sin(q.anim_time*90*1-0)*-1", -0.3507, 2.5603]
},
"leg_front_right": {
"rotation": ["7.47178+math.sin(q.anim_time*90*1-0)*-1", 0.65182, -4.95744],
"position": [0, "0-math.sin(q.anim_time*90*1-0)*0.025", "0-math.sin(q.anim_time*90*1-0)*-0.15"]
},
"leg_front_right2": {
"rotation": ["-2.5+math.sin(q.anim_time*90*1-0)*0.5", 0, 0]
},
"foot_front_right": {
"rotation": ["-5+math.sin(q.anim_time*90*1-0)*0.5", 0, 5]
},
"leg_back_right": {
"rotation": ["-9.8369+math.sin(q.anim_time*90*1-0)*1", 5.47408, 1.12804],
"position": [0, "0-math.sin(q.anim_time*90*1-0)*0.2", "0-math.sin(q.anim_time*90*1-0)*0.25"]
},
"leg_back_right2": {
"rotation": ["5+math.sin(q.anim_time*90*1-0)*1", 0, 0]
},
"leg_back_right3": {
"rotation": ["-0+math.sin(q.anim_time*90*1-0)*-1", 0, 0]
},
"foot_back_right": {
"rotation": ["4.98247+math.sin(q.anim_time*90*1-0)*-1", 0.85481, -2.34941]
},
"tail_right3": {
"rotation": [-7.34619, -17.12827, 7.84022]
},
"tail_right3_rotation": {
"rotation": ["76.5201+math.sin(q.anim_time*90*1-60)*-0.5", 21.21599, -70.91151]
},
"tail_right3_2": {
"rotation": ["-23.00013+math.sin(q.anim_time*90*1-120)*-1", 11.40209, -5.14995]
},
"tail_right3_3": {
"rotation": ["-10+math.sin(q.anim_time*90*1-180)*-2", 0, 0]
},
"tail_right3_4": {
"rotation": ["-20+math.sin(q.anim_time*90*1-240)*-4", 0, 0]
},
"tail_right3_5": {
"rotation": ["-30.02363+math.sin(q.anim_time*90*1-300)*-6", -2.16489, 1.2506]
},
"tail_right3_6": {
"rotation": ["-12.99008+math.sin(q.anim_time*90*1-360)*-12", -11.53486, 4.8493]
},
"tail_right3_7": {
"rotation": ["15+math.sin(q.anim_time*90*1-400)*-12", -20, 0]
},
"tail_right3_8": {
"rotation": ["-22.89875+math.sin(q.anim_time*90*1-460)*-12", 8.42145, -5.41207]
},
"tail_right3_9": {
"rotation": ["30+math.sin(q.anim_time*90*1-520)*-18", -22.5, 0]
},
"tail_right4_rotation": {
"rotation": ["83.07626+math.sin(q.anim_time*90*1-60)*-0.5", -7.16729, -88.89799]
},
"tail_right4_2": {
"rotation": ["-28.3693+math.sin(q.anim_time*90*1-120)*-1", 12.72029, -8.00075]
},
"tail_right4_3": {
"rotation": ["-12.60443+math.sin(q.anim_time*90*1-180)*-2", 7.32123, -1.63219]
},
"tail_right4_4": {
"rotation": ["-15.04624+math.sin(q.anim_time*90*1-240)*-4", 4.88119, -1.08482]
},
"tail_right4_5": {
"rotation": ["-29.41237+math.sin(q.anim_time*90*1-300)*-6", 2.14804, 1.84068]
},
"tail_right4_6": {
"rotation": ["-9.14867+math.sin(q.anim_time*90*1-360)*-12", -20.70481, 9.00717]
},
"tail_right4_7": {
"rotation": ["-15+math.sin(q.anim_time*90*1-400)*-12", 2.5, 0]
},
"tail_right4_8": {
"rotation": ["10+math.sin(q.anim_time*90*1-460)*-12", -20, 0]
},
"tail_right4_9": {
"rotation": ["-0+math.sin(q.anim_time*90*1-520)*-18", 25, 0]
},
"hair_left": {
"rotation": [0, -17.5, "55+math.sin(q.anim_time*90*1-120)*2"]
},
"hair_left2": {
"rotation": [-1.6575, 12.39135, "9.82005+math.sin(q.anim_time*90*1-180)*4"]
},
"hair_left3": {
"rotation": [8.00384, 21.21629, "20.75164+math.sin(q.anim_time*90*1-240)*8"]
},
"hair_left4": {
"rotation": [7.90373, -21.34916, "-15.85201+math.sin(q.anim_time*90*1-300)*18"]
},
"hair_left5": {
"rotation": [-6.42784, -34.18333, "7.10385+math.sin(q.anim_time*90*1-360)*24"]
},
"hair_right": {
"rotation": [0, 17.5, "-55-math.sin(q.anim_time*90*1-120)*2"]
},
"hair_right2": {
"rotation": [-1.6575, -12.39135, "-9.82005-math.sin(q.anim_time*90*1-180)*4"]
},
"hair_right3": {
"rotation": [8.00384, -21.21629, "-20.75164-math.sin(q.anim_time*90*1-240)*8"]
},
"hair_right4": {
"rotation": [7.90373, 21.34916, "15.85201-math.sin(q.anim_time*90*1-300)*18"]
},
"hair_right5": {
"rotation": [-6.42784, 34.18333, "-7.10385-math.sin(q.anim_time*90*1-360)*24"]
},
"neck_fur_front": {
"rotation": ["-0+math.sin(q.anim_time*90*1-60)*-1", 0, 0]
},
"neck_fur_front2": {
"rotation": ["-0+math.sin(q.anim_time*90*1-90)*2", 0, 0]
},
"neck_fur_front3": {
"rotation": ["-0+math.sin(q.anim_time*90*1-120)*2", 0, 0]
},
"neck_fur_left": {
"rotation": [0, 0, "0-math.sin(q.anim_time*90*1-90)*1"]
},
"neck_fur_right": {
"rotation": [0, 0, "-0+math.sin(q.anim_time*90*1-90)*1"]
},
"ear_left": {
"rotation": ["-0+math.sin(q.anim_time*90*1-120)*1", 0, "0-math.sin(q.anim_time*90*1-30)*2"]
},
"ear_right": {
"rotation": ["-0+math.sin(q.anim_time*90*1-120)*1", 0, "-0+math.sin(q.anim_time*90*1-30)*2"]
},
"hair_front": {
"rotation": ["-0+math.sin(q.anim_time*90*1-120)*2", 0, 0]
}
}
},
@@ -518,6 +868,176 @@
"position": [-0.1, 0, -0.1]
}
}
},
"animation.ninetales_alolan.cry": {
"animation_length": 2,
"bones": {
"torso": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [1, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5": {
"post": [-2, 0, 0],
"lerp_mode": "catmullrom"
},
"1.3333": {
"post": [-4, 0, 0],
"lerp_mode": "catmullrom"
},
"1.6667": {
"post": [-0.5, 0, 0],
"lerp_mode": "catmullrom"
},
"2.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"neck2": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.2083": {
"post": [2.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.4167": {
"post": [-5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [-7.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.625": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"2.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"head_rotation": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.2083": {
"post": [5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.4583": {
"post": [-22.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [-27, 0, 0],
"lerp_mode": "catmullrom"
},
"1.625": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"2.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"0.3333": {
"pre": [0, 0, 0],
"post": [0.1, 0, -0.1]
},
"1.5": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, 0],
"0.3333": {
"pre": [0, 0, 0],
"post": [-0.1, 0, -0.1]
},
"1.5": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"jaw": {
"rotation": {
"0.2917": {
"pre": [0, 0, 0],
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5": {
"post": [47.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [20, 0, 0],
"lerp_mode": "catmullrom"
},
"1.5417": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
},
"position": [0, 0, 0]
},
"hair": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.1667": {
"post": [10, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"1.1667": {
"post": [-2.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.625": {
"post": [5, 0, 0],
"lerp_mode": "catmullrom"
},
"2.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
}
},
"sound_effects": {
"0.3333": {
"effect": "pokemon.ninetales_alolan.cry"
}
}
}
}
}
@@ -1682,6 +1682,12 @@
"1.3333": [10, 9, 0]
}
}
},
"timeline": {
"0.0": "q.run_molang('cobblemon:stepsound_standard_medium');",
"0.4583": "q.run_molang('cobblemon:stepsound_standard_medium');",
"0.6667": "q.run_molang('cobblemon:stepsound_standard_medium');",
"1.125": "q.run_molang('cobblemon:stepsound_standard_medium');"
}
},
"animation.arcanine.ride_ground_walk": {
@@ -2639,6 +2645,12 @@
"chest_fluff_right": {
"rotation": [5, "-22.5+math.cos(q.anim_time*90*8-120)*15", "-math.sin(q.anim_time*90*8-120)*3"]
}
},
"timeline": {
"0.125": "q.run_molang('cobblemon:stepsound_standard_medium');",
"0.2083": "q.run_molang('cobblemon:stepsound_standard_large');",
"0.2917": "q.run_molang('cobblemon:stepsound_standard_medium');",
"0.375": "q.run_molang('cobblemon:stepsound_standard_medium');"
}
},
"animation.arcanine.ride_ground_run": {
@@ -4161,41 +4173,101 @@
"eye_left": {
"position": {
"0.0": [0, 0, 0],
"0.1667": {"pre": [0, 0, 0], "post": [-0.1, 0, 0.1]},
"0.5": {"pre": [-0.1, 0, 0.1], "post": [0, 0, 0]},
"1.4167": {"pre": [0, 0, 0], "post": [-0.1, 0, 0.1]},
"1.6667": {"pre": [-0.1, 0, 0.1], "post": [0, 0, 0]},
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.1667": {
"pre": [0, 0, 0],
"post": [-0.1, 0, 0.1]
},
"0.5": {
"pre": [-0.1, 0, 0.1],
"post": [0, 0, 0]
},
"1.4167": {
"pre": [0, 0, 0],
"post": [-0.1, 0, 0.1]
},
"1.6667": {
"pre": [-0.1, 0, 0.1],
"post": [0, 0, 0]
},
"2.5": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eye_right": {
"position": {
"0.0": [0, 0, 0],
"0.1667": {"pre": [0, 0, 0], "post": [0.1, 0, 0.1]},
"0.5": {"pre": [0.1, 0, 0.1], "post": [0, 0, 0]},
"1.4167": {"pre": [0, 0, 0], "post": [0.1, 0, 0.1]},
"1.6667": {"pre": [0.1, 0, 0.1], "post": [0, 0, 0]},
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.1667": {
"pre": [0, 0, 0],
"post": [0.1, 0, 0.1]
},
"0.5": {
"pre": [0.1, 0, 0.1],
"post": [0, 0, 0]
},
"1.4167": {
"pre": [0, 0, 0],
"post": [0.1, 0, 0.1]
},
"1.6667": {
"pre": [0.1, 0, 0.1],
"post": [0, 0, 0]
},
"2.5": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"0.1667": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
"0.5": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]},
"1.4167": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
"1.6667": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]},
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.1667": {
"pre": [0, 0, 0],
"post": [0.1, 0, -0.1]
},
"0.5": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
},
"1.4167": {
"pre": [0, 0, 0],
"post": [0.1, 0, -0.1]
},
"1.6667": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
},
"2.5": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, 0],
"0.1667": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
"0.5": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]},
"1.4167": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
"1.6667": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]},
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.1667": {
"pre": [0, 0, 0],
"post": [-0.1, 0, -0.1]
},
"0.5": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
},
"1.4167": {
"pre": [0, 0, 0],
"post": [-0.1, 0, -0.1]
},
"1.6667": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
},
"2.5": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"jaw": {
@@ -4823,41 +4895,101 @@
"eye_left": {
"position": {
"0.0": [0, 0, 0],
"0.1667": {"pre": [0, 0, 0], "post": [-0.1, 0, 0.1]},
"0.5": {"pre": [-0.1, 0, 0.1], "post": [0, 0, 0]},
"1.4167": {"pre": [0, 0, 0], "post": [-0.1, 0, 0.1]},
"1.6667": {"pre": [-0.1, 0, 0.1], "post": [0, 0, 0]},
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.1667": {
"pre": [0, 0, 0],
"post": [-0.1, 0, 0.1]
},
"0.5": {
"pre": [-0.1, 0, 0.1],
"post": [0, 0, 0]
},
"1.4167": {
"pre": [0, 0, 0],
"post": [-0.1, 0, 0.1]
},
"1.6667": {
"pre": [-0.1, 0, 0.1],
"post": [0, 0, 0]
},
"2.5": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eye_right": {
"position": {
"0.0": [0, 0, 0],
"0.1667": {"pre": [0, 0, 0], "post": [0.1, 0, 0.1]},
"0.5": {"pre": [0.1, 0, 0.1], "post": [0, 0, 0]},
"1.4167": {"pre": [0, 0, 0], "post": [0.1, 0, 0.1]},
"1.6667": {"pre": [0.1, 0, 0.1], "post": [0, 0, 0]},
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.1667": {
"pre": [0, 0, 0],
"post": [0.1, 0, 0.1]
},
"0.5": {
"pre": [0.1, 0, 0.1],
"post": [0, 0, 0]
},
"1.4167": {
"pre": [0, 0, 0],
"post": [0.1, 0, 0.1]
},
"1.6667": {
"pre": [0.1, 0, 0.1],
"post": [0, 0, 0]
},
"2.5": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"0.1667": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
"0.5": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]},
"1.4167": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
"1.6667": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]},
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.1667": {
"pre": [0, 0, 0],
"post": [0.1, 0, -0.1]
},
"0.5": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
},
"1.4167": {
"pre": [0, 0, 0],
"post": [0.1, 0, -0.1]
},
"1.6667": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
},
"2.5": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, 0],
"0.1667": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
"0.5": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]},
"1.4167": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
"1.6667": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]},
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.1667": {
"pre": [0, 0, 0],
"post": [-0.1, 0, -0.1]
},
"0.5": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
},
"1.4167": {
"pre": [0, 0, 0],
"post": [-0.1, 0, -0.1]
},
"1.6667": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
},
"2.5": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"jaw": {
@@ -5287,14 +5419,20 @@
"position": {
"0.0": [-0.1, 0, 0.1],
"0.125": [-0.1, 0, 0.1],
"0.1667": {"pre": [-0.1, 0, 0.1], "post": [0, 0, 0]}
"0.1667": {
"pre": [-0.1, 0, 0.1],
"post": [0, 0, 0]
}
}
},
"eye_right": {
"position": {
"0.0": [0.1, 0, 0.1],
"0.125": [0.1, 0, 0.1],
"0.1667": {"pre": [0.1, 0, 0.1], "post": [0, 0, 0]}
"0.1667": {
"pre": [0.1, 0, 0.1],
"post": [0, 0, 0]
}
}
}
}
@@ -5491,47 +5629,95 @@
"eye_left": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [-0.2, 0, 0.1]},
"0.3333": {"pre": [-0.2, 0, 0.1], "post": [0, 0, 0]},
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.0417": {
"pre": [0, 0, 0],
"post": [-0.2, 0, 0.1]
},
"0.3333": {
"pre": [-0.2, 0, 0.1],
"post": [0, 0, 0]
},
"1.25": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eye_right": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [0.2, 0, 0.1]},
"0.3333": {"pre": [0.2, 0, 0.1], "post": [0, 0, 0]},
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.0417": {
"pre": [0, 0, 0],
"post": [0.2, 0, 0.1]
},
"0.3333": {
"pre": [0.2, 0, 0.1],
"post": [0, 0, 0]
},
"1.25": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [-0.2, 0, 0.1]},
"0.3333": {"pre": [-0.2, 0, 0.1], "post": [0, 0, 0]},
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.0417": {
"pre": [0, 0, 0],
"post": [-0.2, 0, 0.1]
},
"0.3333": {
"pre": [-0.2, 0, 0.1],
"post": [0, 0, 0]
},
"1.25": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [0.2, 0, 0.1]},
"0.3333": {"pre": [0.2, 0, 0.1], "post": [0, 0, 0]},
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.0417": {
"pre": [0, 0, 0],
"post": [0.2, 0, 0.1]
},
"0.3333": {
"pre": [0.2, 0, 0.1],
"post": [0, 0, 0]
},
"1.25": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eyelid_left_hurt": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
"0.3333": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
"0.0417": {
"pre": [0, 0, 0],
"post": [0.1, 0, -0.1]
},
"0.3333": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"eyelid_right_hurt": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
"0.3333": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
"0.0417": {
"pre": [0, 0, 0],
"post": [-0.1, 0, -0.1]
},
"0.3333": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"jaw": {
@@ -6238,47 +6424,95 @@
"eye_left": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [-0.2, 0, 0.1]},
"0.3333": {"pre": [-0.2, 0, 0.1], "post": [0, 0, 0]},
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.0417": {
"pre": [0, 0, 0],
"post": [-0.2, 0, 0.1]
},
"0.3333": {
"pre": [-0.2, 0, 0.1],
"post": [0, 0, 0]
},
"1.25": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eye_right": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [0.2, 0, 0.1]},
"0.3333": {"pre": [0.2, 0, 0.1], "post": [0, 0, 0]},
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.0417": {
"pre": [0, 0, 0],
"post": [0.2, 0, 0.1]
},
"0.3333": {
"pre": [0.2, 0, 0.1],
"post": [0, 0, 0]
},
"1.25": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [-0.2, 0, 0.1]},
"0.3333": {"pre": [-0.2, 0, 0.1], "post": [0, 0, 0]},
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.0417": {
"pre": [0, 0, 0],
"post": [-0.2, 0, 0.1]
},
"0.3333": {
"pre": [-0.2, 0, 0.1],
"post": [0, 0, 0]
},
"1.25": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [0.2, 0, 0.1]},
"0.3333": {"pre": [0.2, 0, 0.1], "post": [0, 0, 0]},
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
"0.0417": {
"pre": [0, 0, 0],
"post": [0.2, 0, 0.1]
},
"0.3333": {
"pre": [0.2, 0, 0.1],
"post": [0, 0, 0]
},
"1.25": {
"pre": [0, 0, 0],
"post": [0, 0, 0]
}
}
},
"eyelid_left_hurt": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
"0.3333": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
"0.0417": {
"pre": [0, 0, 0],
"post": [0.1, 0, -0.1]
},
"0.3333": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"eyelid_right_hurt": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
"0.3333": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
"0.0417": {
"pre": [0, 0, 0],
"post": [-0.1, 0, -0.1]
},
"0.3333": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"jaw": {
@@ -3,58 +3,274 @@
"animations": {
"animation.mudkip.ground_idle": {
"loop": true,
"animation_length": 2,
"bones": {
"head": {
"rotation": [2.5, 0, 0]
"rotation": ["2.5+math.sin(q.anim_time*90*4-90)*1.5", "math.sin(q.anim_time*90*2-60)*1.5", "math.sin(q.anim_time*90*2-60)*1"]
},
"fin2": {
"rotation": [2.5, 0, 0]
"rotation": [2.5, 0, "0+math.sin(q.anim_time*90*2-150)*-3"]
},
"cheek_left2": {
"rotation": [0, -7.5, 0]
"rotation": [0, -7.5, "0+math.sin(q.anim_time*90*4-90)*1.5"]
},
"leg_front_left": {
"rotation": [7.5, 5, 0]
"rotation": ["5+math.sin(q.anim_time*90*4)*2", 5, 0],
"position": [0, "-0.125+math.sin(q.anim_time*90*4)*-0.05", "0+math.sin(q.anim_time*90*4)*-0.07"]
},
"leg_front_left2": {
"rotation": [-7.5, 0, 0]
"rotation": ["-5+math.sin(q.anim_time*90*4)*-2", 0, 0]
},
"leg_front_right": {
"rotation": [7.5, -5, 0]
"rotation": ["5+math.sin(q.anim_time*90*4)*2", -5, 0],
"position": [0, "-0.125+math.sin(q.anim_time*90*4)*-0.05", "0+math.sin(q.anim_time*90*4)*-0.07"]
},
"leg_front_right2": {
"rotation": [-7.5, 0, 0]
"rotation": ["-5+math.sin(q.anim_time*90*4)*-2", 0, 0]
},
"leg_back_left": {
"rotation": [5, -5, 0]
"rotation": ["-5+math.sin(q.anim_time*90*4)*-1", -5, 0],
"position": [0, "-0.125+math.sin(q.anim_time*90*4)*-0.025", "0+math.sin(q.anim_time*90*4)*0.035"]
},
"leg_back_left2": {
"rotation": [-5, 0, 0]
"rotation": ["5+math.sin(q.anim_time*90*4)*1", 0, 0]
},
"leg_back_right": {
"rotation": [5, 5, 0]
"rotation": ["-5+math.sin(q.anim_time*90*4)*-1", 5, 0],
"position": [0, "-0.125+math.sin(q.anim_time*90*4)*-0.025", "0+math.sin(q.anim_time*90*4)*0.035"]
},
"leg_back_right2": {
"rotation": [-5, 0, 0]
"rotation": ["5+math.sin(q.anim_time*90*4)*1", 0, 0]
},
"body": {
"position": [0, -0.1, 0]
},
"tail": {
"rotation": [5, 0, 0]
"rotation": ["6+math.sin(q.anim_time*90*4)*1", "0+math.sin(q.anim_time*90*2-90)*-10", 0]
},
"fin": {
"rotation": [2.5, 0, 0]
"rotation": [2.5, 0, "0+math.sin(q.anim_time*90*2-90)*-4"]
},
"cheek_right2": {
"rotation": [0, -7.5, 0]
"rotation": [0, 7.5, "0+math.sin(q.anim_time*90*4-90)*-1.5"]
},
"torso": {
"rotation": ["0+math.sin(q.anim_time*90*4)*0.75", "0+math.sin(q.anim_time*90*2-30)*0.5", 0],
"position": [0, "0+math.sin(q.anim_time*90*4+30)*-0.05", 0]
},
"tail2": {
"rotation": [0, "0+math.sin(q.anim_time*90*2-150)*-12.5", 0]
}
}
},
"animation.mudkip.battle_idle": {
"loop": true,
"animation_length": 2,
"bones": {
"head": {
"rotation": ["-7.5+math.sin(q.anim_time*90*4-90)*3", "math.sin(q.anim_time*90*2-60)*1", "math.sin(q.anim_time*90*2-60)*1"]
},
"fin2": {
"rotation": [2.5, 0, "0+math.sin(q.anim_time*90*2-120)*-3"]
},
"cheek_left2": {
"rotation": [0, -7.5, "-5+math.sin(q.anim_time*90*4-90)*1.5"]
},
"leg_front_left": {
"rotation": ["4.305+math.sin(q.anim_time*90*4)*2", 5.60922, -7.50745],
"position": [0, "-0.275+math.sin(q.anim_time*90*4)*-0.05", "0.3+math.sin(q.anim_time*90*4)*-0.07"]
},
"leg_front_left2": {
"rotation": ["-4.9575+math.sin(q.anim_time*90*4)*-2", 0.65182, 7.47178]
},
"leg_front_right": {
"rotation": ["4.305+math.sin(q.anim_time*90*4)*2", -5.60922, 7.50745],
"position": [0, "-0.275+math.sin(q.anim_time*90*4)*-0.05", "0.3+math.sin(q.anim_time*90*4)*-0.07"]
},
"leg_front_right2": {
"rotation": ["-4.9575+math.sin(q.anim_time*90*4)*-2", -0.65182, -7.47178]
},
"leg_back_left": {
"rotation": ["-5+math.sin(q.anim_time*90*4)*-1", -5, 0],
"position": [0, "-0.125+math.sin(q.anim_time*90*4)*-0.025", "0+math.sin(q.anim_time*90*4)*0.035"]
},
"leg_back_left2": {
"rotation": ["5+math.sin(q.anim_time*90*4)*1", 0, 0]
},
"leg_back_right": {
"rotation": ["-5+math.sin(q.anim_time*90*4)*-1", 5, 0],
"position": [0, "-0.125+math.sin(q.anim_time*90*4)*-0.025", "0+math.sin(q.anim_time*90*4)*0.035"]
},
"leg_back_right2": {
"rotation": ["5+math.sin(q.anim_time*90*4)*1", 0, 0]
},
"body": {
"position": [0, -0.1, 0]
},
"tail": {
"rotation": ["6+math.sin(q.anim_time*90*4)*1", "0+math.sin(q.anim_time*90*2-90)*-17.5", 0]
},
"fin": {
"rotation": [2.5, 0, "0+math.sin(q.anim_time*90*2-90)*-4"]
},
"cheek_right2": {
"rotation": [0, 7.5, "5+math.sin(q.anim_time*90*4-90)*-1.5"]
},
"torso": {
"rotation": ["10+math.sin(q.anim_time*90*4)*2.5", "math.sin(q.anim_time*90*2-30)*0.5", 0],
"position": [0, "0+math.sin(q.anim_time*90*4+30)*-0.07", 0]
},
"tail2": {
"rotation": [0, "0+math.sin(q.anim_time*90*2-90)*-7.5", 0]
},
"eye_angry_left": {
"position": [0, 0, -0.1]
},
"eye_angry_right": {
"position": [0, 0, -0.1]
}
}
},
"animation.mudkip.cry": {
"animation_length": 1.2,
"animation_length": 1.75,
"bones": {
"torso": {
"rotation": {
"0.0": [0, 0, 0],
"0.2917": [5, 0, 0],
"0.5": [0, 0, 0],
"1.0": [-2.5, 0, 0],
"1.5": [0, 0, 0]
}
},
"head": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.2083": {
"post": [10, 0, 0],
"lerp_mode": "catmullrom"
},
"0.375": {
"post": [10, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5833": {
"post": [-10, 0, 0],
"lerp_mode": "catmullrom"
},
"0.7083": {
"post": [-10, 0, 0],
"lerp_mode": "catmullrom"
},
"1.0833": {
"post": [-17.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.2917": {
"post": [-3, 0, 0],
"lerp_mode": "catmullrom"
},
"1.625": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"jaw": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.3333": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [35, 0, 0],
"lerp_mode": "catmullrom"
},
"0.7083": {
"post": [15, 0, 0],
"lerp_mode": "catmullrom"
},
"1.0": {
"post": [60, 0, 0],
"lerp_mode": "catmullrom"
},
"1.0833": {
"post": [60, 0, 0],
"lerp_mode": "catmullrom"
},
"1.3333": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"fin": {
"rotation": {
"0.0": [0, 0, 0],
"0.25": [6, 0, 0],
"1.0": [-5, 0, 0],
"1.5": [0, 0, 0]
}
},
"cheek_left2": {
"rotation": {
"0.375": {
"pre": [0, 0, 0],
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.75": {
"post": [0, 0, -12.5],
"lerp_mode": "catmullrom"
},
"0.8333": {
"post": [0, 0, -12.5],
"lerp_mode": "catmullrom"
},
"1.5": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"cheek_right2": {
"rotation": {
"0.375": {
"pre": [0, 0, 0],
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.75": {
"post": [0, 0, 12.5],
"lerp_mode": "catmullrom"
},
"0.8333": {
"post": [0, 0, 12.5],
"lerp_mode": "catmullrom"
},
"1.5": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"tail": {
"rotation": {
"0.0": [0, 0, 0],
"0.625": [0, "0+math.sin(q.anim_time*90*12-90)*-25", 0],
"1.625": [0, 0, 0]
}
}
},
"sound_effects": {
"0.04": {
"0.5417": {
"effect": "pokemon.mudkip.cry"
}
}
@@ -207,6 +423,14 @@
"position": [-0.1, 0, -0.1]
}
}
},
"animation.mudkip.WALKSPEED_TEST": {
"loop": true,
"bones": {
"body": {
"position": [0, 0, "q.anim_time*90*-0.07"]
}
}
}
}
}
@@ -3,83 +3,173 @@
"animations": {
"animation.marshtomp.ground_idle": {
"loop": true,
"animation_length": 4,
"bones": {
"torso": {
"rotation": [0, 0, 0]
"rotation": ["0+math.sin(q.anim_time*90*4)*-1", "math.sin(q.anim_time*90*2)*2", "math.sin(q.anim_time*90*2)*-1"],
"position": [0, "math.sin(q.anim_time*90*4-30)*-0.05", 0]
},
"chest": {
"rotation": [-2.5, 0, 0]
"rotation": ["0+math.sin(q.anim_time*90*4-30)*-1", "math.sin(q.anim_time*90*2-30)*1", "math.sin(q.anim_time*90*2-30)*-0.5"]
},
"neck": {
"rotation": ["0+math.sin(q.anim_time*90*4-30)*2.5", 0, 0]
},
"head": {
"rotation": [5, 0, 0]
"rotation": ["5+math.sin(q.anim_time*90*4-30)*-3", "math.sin(q.anim_time*90*2-30)*1", "math.sin(q.anim_time*90*2-30)*-1.5"]
},
"head_fin": {
"rotation": ["0+math.sin(q.anim_time*90*4-30)*-1.5", 0, 0]
},
"arm_left": {
"rotation": [7.5, 0, 27.5]
"rotation": [7.5, 0, "37.5+math.sin(q.anim_time*90*2)*-5"]
},
"arm_left2": {
"rotation": [0, 15, 2.5]
"rotation": [0, "15+math.sin(q.anim_time*90*2-30)*5", "2.5+math.sin(q.anim_time*90*2-60)*-5"]
},
"hand_left": {
"rotation": [0, 0, 5]
"rotation": [0, "0+math.sin(q.anim_time*90*2-120)*3", "10+math.sin(q.anim_time*90*2-150)*-2.5"]
},
"finger_front_left": {
"rotation": [0, 2.5, 15]
"rotation": [0, 0, "10+math.sin(q.anim_time*90*2-60)*-5"]
},
"finger_middle_left": {
"rotation": [0, 0, 10]
"rotation": [0, 0, "10+math.sin(q.anim_time*90*2-120)*-5"]
},
"finger_back_left": {
"rotation": [0, -5, 20]
"rotation": [0, 0, "10+math.sin(q.anim_time*90*2-180)*-5"]
},
"arm_right": {
"rotation": [7.5, 0, -27.5]
"rotation": [7.5, 0, "-37.5+math.sin(q.anim_time*90*2)*-5"]
},
"arm_right2": {
"rotation": [0, -15, -2.5]
"rotation": [0, "-15+math.sin(q.anim_time*90*2-30)*5", "-2.5+math.sin(q.anim_time*90*2-60)*-5"]
},
"hand_right": {
"rotation": [0, 0, -5]
"rotation": [0, "0+math.sin(q.anim_time*90*2-120)*3", "-10+math.sin(q.anim_time*90*2-150)*-2.5"]
},
"finger_front_right": {
"rotation": [0, -2.5, -15]
"rotation": [0, 0, "-10+math.sin(q.anim_time*90*2-60)*-5"]
},
"finger_middle_right": {
"rotation": [0, 0, -10]
"rotation": [0, 0, "-10+math.sin(q.anim_time*90*2-120)*-5"]
},
"finger_back_right": {
"rotation": [0, 5, -20]
"rotation": [0, 0, "-10+math.sin(q.anim_time*90*2-180)*-5"]
},
"tail_fin_left": {
"rotation": [-5, 45, 0]
"rotation": [-5, "45+math.sin(q.anim_time*90*2)*-12", 0]
},
"tail_fin_right": {
"rotation": [-5, -45, 0]
"rotation": [-5, "-45+math.sin(q.anim_time*90*2)*12", 0]
},
"leg_left": {
"rotation": [2.5, 0, -2.5]
"rotation": ["-2.5+math.sin(q.anim_time*90*2)*2.5", 0, 0],
"position": [0, "-0.05+math.sin(q.anim_time*90*2)*0.1", "0+math.sin(q.anim_time*90*2)*-0.1"]
},
"leg_left2": {
"rotation": ["2.5+math.sin(q.anim_time*90*2)*-2.5", 0, 0]
},
"leg_right": {
"rotation": ["-2.5+math.sin(q.anim_time*90*2)*-2.5", 0, 0],
"position": [0, "-0.05+math.sin(q.anim_time*90*2)*-0.1", "0+math.sin(q.anim_time*90*2)*0.1"]
},
"leg_right2": {
"rotation": ["2.5+math.sin(q.anim_time*90*2)*2.5", 0, 0]
}
}
},
"animation.marshtomp.battle_idle": {
"loop": true,
"animation_length": 4,
"bones": {
"torso": {
"rotation": ["0+math.sin(q.anim_time*90*4)*-2", "math.sin(q.anim_time*90*2)*4", "math.sin(q.anim_time*90*2)*-2"],
"position": [0, "math.sin(q.anim_time*90*4)*0.05", 0]
},
"chest": {
"rotation": ["-2.5+math.sin(q.anim_time*90*4-30)*-1", "math.sin(q.anim_time*90*2-30)*4", "math.sin(q.anim_time*90*2-30)*-2.5"]
},
"head": {
"rotation": ["5+math.sin(q.anim_time*90*4-30)*-3", "math.sin(q.anim_time*90*2-30)*-6", "math.sin(q.anim_time*90*2-30)*5"]
},
"arm_left": {
"rotation": [7.5, 0, "27.5+math.sin(q.anim_time*90*2)*-7.5"]
},
"arm_left2": {
"rotation": [0, "15+math.sin(q.anim_time*90*2-30)*5", "2.5+math.sin(q.anim_time*90*2-30)*-5"]
},
"hand_left": {
"rotation": [0, "0+math.sin(q.anim_time*90*2-90)*5", "5+math.sin(q.anim_time*90*2-90)*-7.5"]
},
"finger_front_left": {
"rotation": [0, 2.5, "15+math.sin(q.anim_time*90*2-120)*-10"]
},
"finger_middle_left": {
"rotation": [0, 0, "10+math.sin(q.anim_time*90*2-150)*-10"]
},
"finger_back_left": {
"rotation": [0, -5, "20+math.sin(q.anim_time*90*2-180)*-10"]
},
"arm_right": {
"rotation": [7.5, 0, "-27.5+math.sin(q.anim_time*90*2)*-7.5"]
},
"arm_right2": {
"rotation": [0, "-15+math.sin(q.anim_time*90*2-30)*5", "-2.5+math.sin(q.anim_time*90*2-30)*-5"]
},
"hand_right": {
"rotation": [0, "0+math.sin(q.anim_time*90*2-90)*5", "-5+math.sin(q.anim_time*90*2-90)*-7.5"]
},
"finger_front_right": {
"rotation": [0, -2.5, "-15+math.sin(q.anim_time*90*2-120)*-10"]
},
"finger_middle_right": {
"rotation": [0, 0, "-10+math.sin(q.anim_time*90*2-150)*-10"]
},
"finger_back_right": {
"rotation": [0, 5, "-20+math.sin(q.anim_time*90*2-180)*-10"]
},
"tail_fin_left": {
"rotation": [-5, "45+math.sin(q.anim_time*90*2)*-12", 0]
},
"tail_fin_right": {
"rotation": [-5, "-45+math.sin(q.anim_time*90*2)*12", 0]
},
"leg_left": {
"rotation": [2.4905, "0.2178+math.sin(q.anim_time*90*2)*1.5", -2.49527]
},
"leg_left2": {
"rotation": [5, 0, 0]
},
"foot_left": {
"rotation": [-7.5, 0, 2.5]
"rotation": [-7.47178, "0.6518+math.sin(q.anim_time*90*2)*-1.5", 2.45744]
},
"leg_right": {
"rotation": [2.5, 0, 2.5]
"rotation": [2.4905, "-0.2178+math.sin(q.anim_time*90*2)*1.5", 2.49527]
},
"leg_right2": {
"rotation": [5, 0, 0]
},
"foot_right": {
"rotation": [-7.5, 0, -2.5]
}
}
},
"animation.marshtomp.cry": {
"animation_length": 1.2,
"sound_effects": {
"0.04": {
"effect": "pokemon.marshtomp.cry"
"rotation": [-7.47178, "-0.6518+math.sin(q.anim_time*90*2)*-1.5", -2.45744]
},
"body": {
"position": [0, -0.15, 0]
},
"neck": {
"rotation": ["0+math.sin(q.anim_time*90*4-30)*2.5", 0, 0]
},
"head_fin": {
"rotation": ["0+math.sin(q.anim_time*90*4-30)*-1.5", 0, 0]
},
"eye_angry_left": {
"position": [0, 0, -0.1]
},
"eye_angry_right": {
"position": [0, 0, -0.1]
},
"jaw": {
"rotation": ["5+math.sin(q.anim_time*90*4-30)*-5", 0, 0]
}
}
},
@@ -162,6 +252,108 @@
"position": [0, 0, -0.1]
}
}
},
"animation.marshtomp.cry": {
"animation_length": 2,
"bones": {
"chest": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.125": {
"post": [5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5": {
"post": [-2.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.7917": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"1.0833": {
"post": [-2.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.5833": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"head": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.125": {
"post": [7.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.4167": {
"post": [-12.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [-5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.8333": {
"post": [-12.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.0417": {
"post": [-12.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.4583": {
"post": [-1.53, 0, 0],
"lerp_mode": "catmullrom"
},
"1.7083": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"jaw": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.2083": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5": {
"post": [27.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.75": {
"post": [17.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.0833": {
"post": [40, 0, 0],
"lerp_mode": "catmullrom"
},
"1.4583": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
}
},
"sound_effects": {
"0.4167": {
"effect": "pokemon.marshtomp.cry"
}
}
}
}
}
@@ -3,30 +3,33 @@
"animations": {
"animation.swampert.ground_idle": {
"loop": true,
"animation_length": 4,
"bones": {
"body": {
"position": [0, 1.75, 0]
},
"chest2": {
"rotation": [-12.5, 0, 0]
"rotation": ["-12.5+math.sin(q.anim_time*90*2-60)*0.75", 0, 0]
},
"neck": {
"rotation": [-5, 0, 0]
"rotation": ["-5+math.sin(q.anim_time*90*2-90)*1", "0+math.sin(q.anim_time*90*1-90)*-1", 0]
},
"leg_left": {
"rotation": [8.77647, -12.0131, -53.28718]
"rotation": ["8.7765+math.sin(q.anim_time*90*2)*-1.5", -12.0131, -53.28718],
"position": [0, "0+math.sin(q.anim_time*90*2)*-0.1", "0+math.sin(q.anim_time*90*2)*0.15"]
},
"leg_left2": {
"rotation": [4.54163, -0.2127, 45.09046]
"rotation": [4.5416, -0.2127, 45.09046]
},
"leg_left3": {
"rotation": [9.83802, -2.51058, 9.95791]
},
"foot_left": {
"rotation": [-27.58324, -3.55523, 20.16242]
"rotation": [-27.58324, "-3.5552+math.sin(q.anim_time*90*2)*-1.5", 20.16242]
},
"leg_right": {
"rotation": [8.77647, 12.0131, 53.2872]
"rotation": ["8.7765+math.sin(q.anim_time*90*2)*-1.5", 12.0131, 53.2872],
"position": [0, "0+math.sin(q.anim_time*90*2)*-0.1", "0+math.sin(q.anim_time*90*2)*0.15"]
},
"leg_right2": {
"rotation": [4.54163, 0.2127, -45.0905]
@@ -35,16 +38,155 @@
"rotation": [9.83802, 2.5106, -9.9579]
},
"foot_right": {
"rotation": [-27.58324, 3.5552, -20.1624]
"rotation": [-27.58324, "3.5552+math.sin(q.anim_time*90*2)*1.5", -20.1624]
},
"arm_left2": {
"rotation": [-4.36302, -31.26463, 17.62528]
"rotation": [-4.36302, -31.26463, "17.6253+math.sin(q.anim_time*90*2-90)*2"]
},
"arm_left3": {
"rotation": [1.80384, 2.38704, 35.42915]
"rotation": [1.80384, 2.38704, "35.4291+math.sin(q.anim_time*90*2-120)*2.5"]
},
"arm_left": {
"rotation": [-13.31914, -14.63639, 12.92638]
"rotation": [-13.31914, "-14.6364+math.sin(q.anim_time*90*2-60)*2", 12.92638]
},
"finger_front_left": {
"rotation": [0, "-37.5+math.sin(q.anim_time*90*2-120)*-2.5", 20]
},
"finger_middle_left": {
"rotation": [0, "-32.5+math.sin(q.anim_time*90*2-120)*-2.5", 0]
},
"finger_back_left": {
"rotation": [0, "-30+math.sin(q.anim_time*90*2-120)*-2.5", -27.5]
},
"fingers_left": {
"rotation": [0, 37.5, 0]
},
"arm_right": {
"rotation": [-13.31914, "14.6364+math.sin(q.anim_time*90*2-60)*-2", -12.9264]
},
"arm_right2": {
"rotation": [-4.33052, "31.2647+math.sin(q.anim_time*90*2-90)*2", -17.60892]
},
"arm_right3": {
"rotation": [1.80384, -2.387, "-35.4292+math.sin(q.anim_time*90*2-120)*-2.5"]
},
"fingers_right": {
"rotation": [0, -37.5, 0]
},
"finger_front_right": {
"rotation": [0, "37.5+math.sin(q.anim_time*90*2-120)*2.5", -20]
},
"finger_middle_right": {
"rotation": [0, "32.5+math.sin(q.anim_time*90*2-120)*2.5", 0]
},
"finger_back_right": {
"rotation": [0, "30+math.sin(q.anim_time*90*2-120)*2.5", 27.5]
},
"torso": {
"rotation": ["-5+math.sin(q.anim_time*90*2)*0.5", 0, 0],
"position": [0, "0+math.sin(q.anim_time*90*2+30)*-0.4", 0]
},
"chest": {
"rotation": ["-7.5+math.sin(q.anim_time*90*2-30)*1.5", 0, 0]
},
"hand_left": {
"rotation": [0, "-17.5+math.sin(q.anim_time*90*2-90)*-5", 0]
},
"finger_front_left2": {
"rotation": [0, "-12.5+math.sin(q.anim_time*90*2-150)*-5", 0]
},
"finger_middle_left2": {
"rotation": [0, "-10+math.sin(q.anim_time*90*2-150)*-5", 0]
},
"finger_back_left2": {
"rotation": [0, "-15+math.sin(q.anim_time*90*2-150)*-5", 0]
},
"hand_right": {
"rotation": [0, "17.5+math.sin(q.anim_time*90*2-90)*5", 0]
},
"finger_front_right2": {
"rotation": [0, "12.5+math.sin(q.anim_time*90*2-150)*5", 0]
},
"finger_middle_right2": {
"rotation": [0, "10+math.sin(q.anim_time*90*2-150)*5", 0]
},
"finger_back_right2": {
"rotation": [0, "15+math.sin(q.anim_time*90*2-150)*5", 0]
},
"check_left_spike_front": {
"rotation": [0, "0+math.sin(q.anim_time*90*2-30)*3", 0]
},
"check_left_spike_back": {
"rotation": [0, "0+math.sin(q.anim_time*90*2-30)*3", 0]
},
"check_right_spike_front": {
"rotation": [0, "0+math.sin(q.anim_time*90*2-30)*-3", 0]
},
"check_right_spike_back": {
"rotation": [0, "0+math.sin(q.anim_time*90*2-30)*-3", 0]
},
"eyebrow_left": {
"rotation": [0, "-2.5+math.sin(q.anim_time*90*2-60)*-2.5", 0]
},
"eyebrow_right": {
"rotation": [0, "2.5-math.sin(q.anim_time*90*2-60)*-2.5", 0]
},
"tail": {
"rotation": ["0+math.sin(q.anim_time*90*2-30)*-2.5", 0, 0]
},
"head": {
"rotation": ["12.5+math.sin(q.anim_time*90*2-90)*-2.5", "-0+math.sin(q.anim_time*90*1-90)*-0.5", 0]
}
}
},
"animation.swampert.battle_idle": {
"loop": true,
"animation_length": 4,
"bones": {
"body": {
"position": [0, 1.75, 0]
},
"chest2": {
"rotation": ["-12.5+math.sin(q.anim_time*90*2-60)*0.75", 0, 0]
},
"neck": {
"rotation": ["-5+math.sin(q.anim_time*90*2-90)*1", "0+math.sin(q.anim_time*90*1-90)*-1", 0]
},
"leg_left": {
"rotation": ["8.7765+math.sin(q.anim_time*90*2)*-1.5", -12.0131, -53.28718],
"position": [0, "0+math.sin(q.anim_time*90*2)*-0.1", "0+math.sin(q.anim_time*90*2)*0.15"]
},
"leg_left2": {
"rotation": [4.5416, -0.2127, 45.09046]
},
"leg_left3": {
"rotation": [9.83802, -2.51058, 9.95791]
},
"foot_left": {
"rotation": [-27.58324, "-3.5552+math.sin(q.anim_time*90*2)*-1.5", 20.16242]
},
"leg_right": {
"rotation": ["8.7765+math.sin(q.anim_time*90*2)*-1.5", 12.0131, 53.2872],
"position": [0, "0+math.sin(q.anim_time*90*2)*-0.1", "0+math.sin(q.anim_time*90*2)*0.15"]
},
"leg_right2": {
"rotation": [4.54163, 0.2127, -45.0905]
},
"leg_right3": {
"rotation": [9.83802, 2.5106, -9.9579]
},
"foot_right": {
"rotation": [-27.58324, "3.5552+math.sin(q.anim_time*90*2)*1.5", -20.1624]
},
"arm_left2": {
"rotation": [-4.71002, "-12.8789-math.sin(q.anim_time*90*2-90)*2", 28.88472]
},
"arm_left3": {
"rotation": [1.81234, "10.1983-math.sin(q.anim_time*90*2-30)*-5", 25.6704]
},
"arm_left": {
"rotation": [-33.31914, "-14.6364-math.sin(q.anim_time*90*2-60)*-2", 12.9264],
"position": [0, "0-math.sin(q.anim_time*90*2-30)*-0.3", 0]
},
"finger_front_left": {
"rotation": [0, -37.5, 20]
@@ -59,13 +201,14 @@
"rotation": [0, 37.5, 0]
},
"arm_right": {
"rotation": [-13.31914, 14.6364, -12.9264]
"rotation": [-33.31914, "14.6364+math.sin(q.anim_time*90*2-60)*-2", -12.9264],
"position": [0, "0-math.sin(q.anim_time*90*2-30)*-0.3", 0]
},
"arm_right2": {
"rotation": [-4.36302, 31.2646, -17.6253]
"rotation": [-4.71002, "12.8789+math.sin(q.anim_time*90*2-90)*2", -28.88472]
},
"arm_right3": {
"rotation": [1.80384, -2.387, -35.4292]
"rotation": [1.81234, "-10.1983+math.sin(q.anim_time*90*2-30)*-5", -25.6704]
},
"fingers_right": {
"rotation": [0, -37.5, 0]
@@ -80,37 +223,65 @@
"rotation": [0, 30, 27.5]
},
"torso": {
"rotation": [-2.5, 0, 0]
"rotation": ["12.5+math.sin(q.anim_time*90*2)*0.5", 0, 0],
"position": [0, "0+math.sin(q.anim_time*90*2+30)*-0.4", 0]
},
"chest": {
"rotation": [-7.5, 0, 0]
"rotation": ["-0+math.sin(q.anim_time*90*2-30)*1.5", 0, 0]
},
"hand_left": {
"rotation": [0, -17.5, 0]
"rotation": [0, "-17.5-math.sin(q.anim_time*90*2-60)*-2", 0]
},
"finger_front_left2": {
"rotation": [0, -12.5, 0]
"rotation": [0, "-12.5+math.sin(q.anim_time*90*2-150)*-5", 0]
},
"finger_middle_left2": {
"rotation": [0, -10, 0]
"rotation": [0, "-10+math.sin(q.anim_time*90*2-150)*-5", 0]
},
"finger_back_left2": {
"rotation": [0, -15, 0]
},
"head_angle": {
"rotation": [12.5, 0, 0]
"rotation": [0, "-15+math.sin(q.anim_time*90*2-150)*-5", 0]
},
"hand_right": {
"rotation": [0, 17.5, 0]
"rotation": [0, "17.5+math.sin(q.anim_time*90*2-60)*-2", 0]
},
"finger_front_right2": {
"rotation": [0, 12.5, 0]
"rotation": [0, "12.5+math.sin(q.anim_time*90*2-150)*5", 0]
},
"finger_middle_right2": {
"rotation": [0, 10, 0]
"rotation": [0, "10+math.sin(q.anim_time*90*2-150)*5", 0]
},
"finger_back_right2": {
"rotation": [0, 15, 0]
"rotation": [0, "15+math.sin(q.anim_time*90*2-150)*5", 0]
},
"check_left_spike_front": {
"rotation": [0, "0+math.sin(q.anim_time*90*2-30)*3", 0]
},
"check_left_spike_back": {
"rotation": [0, "0+math.sin(q.anim_time*90*2-30)*3", 0]
},
"check_right_spike_front": {
"rotation": [0, "0+math.sin(q.anim_time*90*2-30)*-3", 0]
},
"check_right_spike_back": {
"rotation": [0, "0+math.sin(q.anim_time*90*2-30)*-3", 0]
},
"eyebrow_left": {
"rotation": [0, "-2.5+math.sin(q.anim_time*90*2-60)*-2.5", 0]
},
"eyebrow_right": {
"rotation": [0, "2.5-math.sin(q.anim_time*90*2-60)*-2.5", 0]
},
"tail": {
"rotation": ["0+math.sin(q.anim_time*90*2-30)*-2.5", 0, 0]
},
"head": {
"rotation": ["-5+math.sin(q.anim_time*90*2-90)*-2.5", "math.sin(q.anim_time*90*1-90)*-0.5", 0]
},
"eye_angry_left": {
"position": [0, -0.1, 0]
},
"eye_angry_right": {
"position": [0, -0.1, 0]
}
}
},
@@ -233,14 +404,6 @@
}
}
},
"animation.swampert.cry": {
"animation_length": 1.2,
"sound_effects": {
"0.04": {
"effect": "pokemon.swampert.cry"
}
}
},
"animation.swampert.blink": {
"animation_length": 0.1667,
"bones": {
@@ -322,6 +485,158 @@
"position": [0, -0.1, 0]
}
}
},
"animation.swampert.cry": {
"animation_length": 2.5,
"bones": {
"chest2": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.2917": {
"post": [7.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [-5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.5417": {
"post": [-6, 0, 0],
"lerp_mode": "catmullrom"
},
"2.0417": {
"post": [-1, 0, 0],
"lerp_mode": "catmullrom"
},
"2.5": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"neck": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.2917": {
"post": [7.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [-5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.5417": {
"post": [-6, 0, 0],
"lerp_mode": "catmullrom"
},
"2.0417": {
"post": [-1, 0, 0],
"lerp_mode": "catmullrom"
},
"2.5": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"head": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [7.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5833": {
"post": [-5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.5": {
"post": [-6, 0, 0],
"lerp_mode": "catmullrom"
},
"2.0": {
"post": [1, 0, 0],
"lerp_mode": "catmullrom"
},
"2.5": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"0.25": {
"pre": [0, 0, 0],
"post": [0, -0.1, 0]
},
"0.4167": {
"pre": [0, -0.1, 0],
"post": [0, 0, 0]
}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, 0],
"0.25": {
"pre": [0, 0, 0],
"post": [0, -0.1, 0]
},
"0.4167": {
"pre": [0, -0.1, 0],
"post": [0, 0, 0]
}
}
},
"jaw": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.3333": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.6667": {
"post": [30, 0, 0],
"lerp_mode": "catmullrom"
},
"0.9167": {
"post": [15, 0, 0],
"lerp_mode": "catmullrom"
},
"1.4167": {
"post": [40, 0, 0],
"lerp_mode": "catmullrom"
},
"1.8333": {
"post": [40, 0, 0],
"lerp_mode": "catmullrom"
},
"2.1667": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
}
},
"sound_effects": {
"0.4167": {
"effect": "pokemon.swampert.cry"
}
}
}
}
}
@@ -3150,6 +3150,10 @@
"locator_seat_2": {
"rotation": [45, 0, 0]
}
},
"timeline": {
"0.5": "q.run_molang('cobblemon:stepsound_claw_large');",
"1.5": "q.run_molang('cobblemon:stepsound_claw_large');"
}
},
"animation.corviknight.ground_run": {
@@ -4473,6 +4477,10 @@
"locator_seat_2": {
"rotation": [25, 0, 0]
}
},
"timeline": {
"0.3333": "q.run_molang('cobblemon:stepsound_claw_large');",
"0.8333": "q.run_molang('cobblemon:stepsound_claw_large');"
}
},
"animation.corviknight.air_idle": {
@@ -566,6 +566,12 @@
"1.5": [0, 0.2, 0]
}
}
},
"timeline": {
"0.5417": "q.run_molang('cobblemon:stepsound_hoof_medium');",
"0.7083": "q.run_molang('cobblemon:stepsound_hoof_medium');",
"1.2917": "q.run_molang('cobblemon:stepsound_hoof_medium');",
"1.4583": "q.run_molang('cobblemon:stepsound_hoof_medium');"
}
},
"animation.wyrdeer.sleep": {
@@ -780,15 +786,27 @@
"eyelid_right": {
"position": {
"0.0": [0, 0, 0],
"0.25": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
"0.5": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
"0.25": {
"pre": [0, 0, 0],
"post": [-0.1, 0, -0.1]
},
"0.5": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"0.25": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
"0.5": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
"0.25": {
"pre": [0, 0, 0],
"post": [0.1, 0, -0.1]
},
"0.5": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"ear_right": {
@@ -1186,18 +1204,36 @@
"position": {
"0.0": [0, 0, 0],
"1.5833": [-0.1, 0, -0.1],
"1.6667": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]},
"3.0": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
"3.125": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
"1.6667": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
},
"3.0": {
"pre": [0, 0, 0],
"post": [-0.1, 0, -0.1]
},
"3.125": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"1.5833": [0.1, 0, -0.1],
"1.6667": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]},
"3.0": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
"3.125": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
"1.6667": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
},
"3.0": {
"pre": [0, 0, 0],
"post": [0.1, 0, -0.1]
},
"3.125": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"tail": {
@@ -2204,6 +2240,16 @@
"1.1667": [0, 0, 0]
}
}
},
"timeline": {
"0.2083": "q.run_molang('cobblemon:stepsound_hoof_medium');",
"0.2917": "q.run_molang('cobblemon:stepsound_hoof_medium');",
"0.375": "q.run_molang('cobblemon:stepsound_hoof_medium');",
"0.4583": "q.run_molang('cobblemon:stepsound_hoof_large');",
"0.7917": "q.run_molang('cobblemon:stepsound_hoof_medium');",
"0.875": "q.run_molang('cobblemon:stepsound_hoof_medium');",
"0.9583": "q.run_molang('cobblemon:stepsound_hoof_medium');",
"1.0417": "q.run_molang('cobblemon:stepsound_hoof_large');"
}
},
"animation.wyrdeer.ride_jump": {
@@ -21,12 +21,12 @@
"rotation": [0, -45, 0]
},
"tail": {
"rotation": [50, 0, 0]
"rotation": ["50-math.sin(q.anim_time*90*2-60)*-3", 0, 0]
},
"toe_inner_left": {
"toe_front_inner_left": {
"rotation": [0, 5, 0]
},
"toe_outer_left": {
"toe_front_outer_left": {
"rotation": [0, -5, 0]
},
"neckflap_left": {
@@ -44,11 +44,372 @@
},
"wing_right3": {
"rotation": [0, 45, 0]
},
"torso": {
"rotation": ["-math.sin(q.anim_time*90*2-90)*1", 0, "math.sin(q.anim_time*90*1-90)*1"],
"position": [0, "math.sin(q.anim_time*90*2)*0.1", 0]
},
"neck": {
"rotation": ["-0-math.sin(q.anim_time*90*2-180)*1", 0, 0]
},
"head": {
"rotation": ["-0-math.sin(q.anim_time*90*2-90)*-2", 0, 0]
},
"hair": {
"rotation": ["-0-math.sin(q.anim_time*90*2-150)*-2", 0, 0]
}
}
},
"animation.squawkabilly.ground_walk": {
"loop": true,
"animation_length": 0.75,
"bones": {
"hairstrand": {
"rotation": [7.5, 0, 12.5]
},
"hairstrand2": {
"rotation": [-17.5, 0, 0]
},
"wing_left": {
"rotation": [155.5391, -73.26807, -64.02788],
"position": [0, -1.5, -2]
},
"wing_left2": {
"rotation": [0, 45, 0]
},
"wing_left3": {
"rotation": [0, -45, 0]
},
"tail": {
"rotation": ["50-math.cos(q.anim_time*90*16/3*2)*5", 0, 0]
},
"toe_front_inner_left": {
"rotation": {
"0.0": [-55, 10, -7.5],
"0.125": {
"pre": [7.5, 15, 0],
"post": [7.5, 15, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [5, 15, 0],
"lerp_mode": "catmullrom"
},
"0.375": [0, 15, 0],
"0.625": [0, 15, 0],
"0.75": [-55, 10, -7.5]
},
"position": {
"0.0": [0, -0.75, 0.85],
"0.125": [0, 0, 0],
"0.625": [0, 0, 0],
"0.75": [0, -0.75, 0.85]
}
},
"toe_front_outer_left": {
"rotation": {
"0.0": [-51.5, -2.5, 10],
"0.125": {
"pre": [5, -15, 0],
"post": [5, -15, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [5, -15, 0],
"lerp_mode": "catmullrom"
},
"0.375": [0, -15, 0],
"0.625": [0, -15, 0],
"0.75": [-51.5, -2.5, 10]
},
"position": {
"0.0": [0, -0.75, 0.85],
"0.125": [0, 0, 0],
"0.625": [0, 0, 0],
"0.75": [0, -0.75, 0.85]
}
},
"neckflap_left": {
"rotation": [0, 0, "15+math.cos(q.anim_time*90*16/3*2-60)*-2.5"]
},
"neckflap_right": {
"rotation": [0, 0, "-15-math.cos(q.anim_time*90*16/3*2-60)*-2.5"]
},
"wing_right": {
"rotation": [153.0391, 73.26807, 64.02788],
"position": [0, -2, -3]
},
"wing_right2": {
"rotation": [0, -45, 0]
},
"wing_right3": {
"rotation": [0, 45, 0]
},
"torso": {
"rotation": ["1-math.cos(q.anim_time*90*16/3*2)*-2", "-math.sin(q.anim_time*90*16/3+60)*3", "-1+math.sin(q.anim_time*90*16/3+30)*-4"],
"position": [0, "math.sin(q.anim_time*90*16/3*2)*0.2", 0]
},
"coat_left": {
"rotation": ["-0-math.cos(q.anim_time*90*16/3*2)*-2.5", 0, "0+math.cos(q.anim_time*90*8/3*2)*5"]
},
"coat_right": {
"rotation": ["-0-math.cos(q.anim_time*90*16/3*2)*-2.5", 0, "0-math.cos(q.anim_time*90*8/3*2)*-5"]
},
"neck": {
"rotation": ["-math.cos(q.anim_time*90*16/3*2)*-2.5", "-math.sin(q.anim_time*90*16/3+60)*-3", "math.sin(q.anim_time*90*16/3+30)*3"]
},
"head": {
"rotation": ["-0-math.cos(q.anim_time*90*16/3*2)*3", 0, 0]
},
"hair": {
"rotation": ["-0-math.cos(q.anim_time*90*16/3*2-60)*4", 0, 0]
},
"leg_left": {
"rotation": {
"0.0": [25, -17.5, 0],
"0.125": {
"pre": [21.25, -12.5, 0],
"post": [21.25, -12.5, 0],
"lerp_mode": "catmullrom"
},
"0.375": [-40, -5, 0],
"0.75": [25, -17.5, 0]
},
"position": {
"0.0": [0.3, 0.1, 0.6],
"0.0417": [0.23, 0.25, 0.71],
"0.125": {
"pre": [0, 0.68, -0.08],
"post": [0, 0.68, -0.08],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [0, 0.97, -1.41],
"lerp_mode": "catmullrom"
},
"0.375": [0, -0.5, -2.15],
"0.5": [0, -0.19, -1.02],
"0.5833": [0, -0.07, -0.3],
"0.625": [0, -0.02, 0.21],
"0.7083": [0.1, 0.215, 0.43],
"0.75": [0.3, 0.1, 0.6]
}
},
"leg_left2": {
"rotation": {
"0.0": [0, 0, 0],
"0.125": {
"pre": [-30.83, 0, 0],
"post": [-30.83, 0, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [-2.65, 0, 0],
"lerp_mode": "catmullrom"
},
"0.375": [12.5, 0, 0],
"0.75": [0, 0, 0]
}
},
"foot_left": {
"rotation": {
"0.0": [27.5, 0, -5],
"0.125": {
"pre": [20.17, 0, 0],
"post": [20.17, 0, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [12.596, 0.6637, -1.3486],
"lerp_mode": "catmullrom"
},
"0.375": [28, 0, 0],
"0.625": [-7.33, 0, 0],
"0.75": [27.5, 0, -5]
},
"position": {
"0.0": [0, 0.25, 0],
"0.125": [0, 0, 0],
"0.375": [0, 0, 0],
"0.625": [0, 0.17, 0],
"0.75": [0, 0.25, 0]
}
},
"toe_back_outer_left": {
"rotation": {
"0.0": [-20, 0, 0],
"0.2083": {
"pre": [-8.33, 0, 0],
"post": [-8.33, 0, 0],
"lerp_mode": "catmullrom"
},
"0.375": [0, 0, 0],
"0.625": [0, 0, 0],
"0.75": [-20, 0, 0]
}
},
"leg_right": {
"rotation": {
"0.0": [-40, 5, 0],
"0.375": [25, 17.5, 0],
"0.5": {
"pre": [21.25, 12.5, 0],
"post": [21.25, 12.5, 0],
"lerp_mode": "catmullrom"
},
"0.75": [-40, 5, 0]
},
"position": {
"0.0": [0, -0.5, -2.15],
"0.125": [0, -0.19, -1.02],
"0.2083": [0, -0.07, -0.3],
"0.25": [0, -0.02, 0.21],
"0.3333": [-0.1, 0.215, 0.43],
"0.375": [-0.3, 0.1, 0.6],
"0.4167": [-0.23, 0.25, 0.71],
"0.5": {
"pre": [0, 0.68, -0.08],
"post": [0, 0.68, -0.08],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [0, 0.97, -1.41],
"lerp_mode": "catmullrom"
},
"0.75": [0, -0.5, -2.15]
}
},
"leg_right2": {
"rotation": {
"0.0": [12.5, 0, 0],
"0.375": [0, 0, 0],
"0.5": {
"pre": [-30.83, 0, 0],
"post": [-30.83, 0, 0],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [-2.65, 0, 0],
"lerp_mode": "catmullrom"
},
"0.75": [12.5, 0, 0]
}
},
"foot_right": {
"rotation": {
"0.0": [28, 0, 0],
"0.25": [-7.33, 0, 0],
"0.375": [27.5, 0, 5],
"0.5": {
"pre": [20.17, 0, 0],
"post": [20.17, 0, 0],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [12.596, -0.6637, 1.3486],
"lerp_mode": "catmullrom"
},
"0.75": [28, 0, 0]
},
"position": {
"0.0": [0, 0, 0],
"0.25": [0, 0.17, 0],
"0.375": [0, 0.25, 0],
"0.5": [0, 0, 0],
"0.75": [0, 0, 0]
}
},
"toe_back_inner_right": {
"rotation": {
"0.0": [0, 0, 0],
"0.25": [0, 0, 0],
"0.375": [-20, 0, 0],
"0.5833": {
"pre": [-8.33, 0, 0],
"post": [-8.33, 0, 0],
"lerp_mode": "catmullrom"
},
"0.75": [0, 0, 0]
}
},
"toe_front_inner_right": {
"rotation": {
"0.0": [0, -15, 0],
"0.25": [0, -15, 0],
"0.375": [-55, -10, 7.5],
"0.5": {
"pre": [7.5, -15, 0],
"post": [7.5, -15, 0],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [5, -15, 0],
"lerp_mode": "catmullrom"
},
"0.75": [0, -15, 0]
},
"position": {
"0.0": [0, 0, 0],
"0.25": [0, 0, 0],
"0.375": [0, -0.75, 0.85],
"0.5": [0, 0, 0],
"0.75": [0, 0, 0]
}
},
"toe_front_outer_right": {
"rotation": {
"0.0": [0, 15, 0],
"0.25": [0, 15, 0],
"0.375": [-51.5, 2.5, -10],
"0.5": {
"pre": [5, 15, 0],
"post": [5, 15, 0],
"lerp_mode": "catmullrom"
},
"0.625": {
"post": [5, 15, 0],
"lerp_mode": "catmullrom"
},
"0.75": [0, 15, 0]
},
"position": {
"0.0": [0, 0, 0],
"0.25": [0, 0, 0],
"0.375": [0, -0.75, 0.85],
"0.5": [0, 0, 0],
"0.75": [0, 0, 0]
}
},
"toe_back_inner_left": {
"rotation": {
"0.0": [-20, 0, 0],
"0.2083": {
"pre": [-8.33, 0, 0],
"post": [-8.33, 0, 0],
"lerp_mode": "catmullrom"
},
"0.375": [0, 0, 0],
"0.625": [0, 0, 0],
"0.75": [-20, 0, 0]
}
},
"toe_back_inner_right3": {
"rotation": {
"0.0": [0, 0, 0],
"0.25": [0, 0, 0],
"0.375": [-20, 0, 0],
"0.5833": {
"pre": [-8.33, 0, 0],
"post": [-8.33, 0, 0],
"lerp_mode": "catmullrom"
},
"0.75": [0, 0, 0]
}
}
}
},
"animation.squawkabilly.cry": {
"animation_length": 1.25,
"animation_length": 2,
"bones": {
"neck": {
"rotation": {
@@ -56,15 +417,27 @@
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.1667": {
"post": [10, 0, 0],
"0.25": {
"post": [12.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.9167": {
"post": [10, 0, 0],
"0.5": {
"post": [2.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.8333": {
"post": [8.33, 0, 0],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [-2.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.5": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"1.9167": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
@@ -76,15 +449,27 @@
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.1667": {
"post": [-15, 0, 0],
"0.25": {
"post": [7.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.9167": {
"post": [-15, 0, 0],
"0.5": {
"post": [-20, 0, 0],
"lerp_mode": "catmullrom"
},
"0.8333": {
"post": [-12.78, 0, 0],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [-27.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.5": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"1.75": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
@@ -96,19 +481,118 @@
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.1667": {
"0.25": {
"post": [25, 0, 0],
"lerp_mode": "catmullrom"
},
"0.9167": {
"post": [25, 0, 0],
"0.5": {
"post": [47.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.8333": {
"post": [20, 0, 0],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [62.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.5": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"torso": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.25": {
"post": [5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5833": {
"post": [-7.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.8333": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [-5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.5833": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"1.9167": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"hair": {
"rotation": {
"0.0833": {
"pre": [0, 0, 0],
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.3333": {
"post": [7.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.5833": {
"post": [-20, 0, 0],
"lerp_mode": "catmullrom"
},
"0.9167": {
"post": [-12.78, 0, 0],
"lerp_mode": "catmullrom"
},
"1.3333": {
"post": [-27.5, 0, 0],
"lerp_mode": "catmullrom"
},
"1.5833": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"1.8333": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"0.8333": {
"pre": [0, 0, 0],
"post": [0.1, 0, -0.1]
},
"1.0": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, 0],
"0.8333": {
"pre": [0, 0, 0],
"post": [-0.1, 0, -0.1]
},
"1.0": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
}
},
"sound_effects": {
@@ -126,18 +610,205 @@
"eyelid_left": {
"position": {
"0.0": [0.1, 0, -0.1],
"0.125": [0.1, 0, -0.1],
"0.1667": [0, 0, 0]
"0.1667": {
"pre": [0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"eyelid_right": {
"position": {
"0.0": [-0.1, 0, -0.1],
"0.125": [-0.1, 0, -0.1],
"0.1667": [0, 0, 0]
"0.1667": {
"pre": [-0.1, 0, -0.1],
"post": [0, 0, 0]
}
}
}
}
},
"animation.squawkabilly.air_idle": {
"loop": true,
"animation_length": 4,
"bones": {
"body": {
"position": ["-math.sin(q.anim_time*90*3-45)*0.5", "math.sin(q.anim_time*90*6-45)*1.5", "math.sin(q.anim_time*90*6-45)*1/2"]
},
"coat_left": {
"rotation": ["-0-math.sin(q.anim_time*90*6-60)*3", 0, "0+math.sin(q.anim_time*90*6-90)*5"]
},
"coat_right": {
"rotation": ["-0-math.sin(q.anim_time*90*6-60)*3", 0, "-0-math.sin(q.anim_time*90*6-90)*5"]
},
"wing_left": {
"rotation": ["25-math.sin(q.anim_time*90*6-90)*6", 0, "math.sin(q.anim_time*90*6)*65"],
"position": [0, "math.sin(q.anim_time*90*6)*-1", 0]
},
"wing_left2": {
"rotation": [0, 0, "20+math.sin(q.anim_time*90*6-45)*30"]
},
"wing_left3": {
"rotation": [0, 0, "0+math.sin(q.anim_time*90*6-75)*30"]
},
"wing_right": {
"rotation": ["25-math.sin(q.anim_time*90*6-90)*6", 0, "-math.sin(q.anim_time*90*6)*65"],
"position": [0, "math.sin(q.anim_time*90*6)*-1", 0]
},
"wing_right2": {
"rotation": [0, 0, "-20-math.sin(q.anim_time*90*6-45)*30"]
},
"wing_right3": {
"rotation": [0, 0, "-0-math.sin(q.anim_time*90*6-75)*30"]
},
"tail": {
"rotation": ["15-math.sin(q.anim_time*90*6-30)*7", 0, 0]
},
"neck": {
"rotation": ["5-math.sin(q.anim_time*90*6-140)*-1", 0, "math.sin(q.anim_time*90*3-00)*-1"]
},
"head": {
"rotation": ["-math.sin(q.anim_time*90*6-110)*3", 0, "math.sin(q.anim_time*90*3-120)*-2"]
},
"hair": {
"rotation": ["-0-math.sin(q.anim_time*90*6-170)*5", 0, 0]
},
"leg_left": {
"rotation": [-67.5, 0, -2.5]
},
"foot_left": {
"rotation": ["40-math.sin(q.anim_time*90*6-30)*-5", -10, "math.sin(q.anim_time*90*3-150)*6"]
},
"toe_back_outer_left": {
"rotation": [-30, 0, 0]
},
"toe_front_inner_left": {
"rotation": [30, 0, 0]
},
"toe_front_outer_left": {
"rotation": [30, 0, 0]
},
"leg_right": {
"rotation": [-67.5, 0, 2.5]
},
"foot_right": {
"rotation": ["40-math.sin(q.anim_time*90*6-30)*-5", 10, "-math.sin(q.anim_time*90*3-150)*6"]
},
"toe_back_inner_right": {
"rotation": [-30, 0, 0]
},
"toe_front_inner_right": {
"rotation": [30, 0, 0]
},
"toe_front_outer_right": {
"rotation": [30, 0, 0]
},
"toe_back_inner_left": {
"rotation": [-30, 0, 0]
},
"toe_back_inner_right3": {
"rotation": [-30, 0, 0]
}
},
"timeline": {
"0.6667": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"1.3333": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"2.0": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"2.6667": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"3.3333": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"4.0": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};"
}
},
"animation.squawkabilly.air_fly": {
"loop": true,
"animation_length": 4,
"bones": {
"body": {
"rotation": [25, 0, 0],
"position": ["-math.sin(q.anim_time*90*3-45)*0.5", "math.sin(q.anim_time*90*6-45)*1.5", "math.sin(q.anim_time*90*6-45)*1/2"]
},
"coat_left": {
"rotation": ["-0-math.sin(q.anim_time*90*6-60)*3", 0, "0+math.sin(q.anim_time*90*6-90)*5"]
},
"coat_right": {
"rotation": ["-0-math.sin(q.anim_time*90*6-60)*3", 0, "-0-math.sin(q.anim_time*90*6-90)*5"]
},
"wing_left": {
"rotation": ["-0-math.sin(q.anim_time*90*6-90)*6", -5, "math.sin(q.anim_time*90*6)*65"],
"position": [0, "math.sin(q.anim_time*90*6)*-1", 0]
},
"wing_left2": {
"rotation": [0, 0, "20+math.sin(q.anim_time*90*6-45)*30"]
},
"wing_left3": {
"rotation": [0, 0, "0+math.sin(q.anim_time*90*6-75)*30"]
},
"wing_right": {
"rotation": ["-0-math.sin(q.anim_time*90*6-90)*6", 5, "-math.sin(q.anim_time*90*6)*65"],
"position": [0, "math.sin(q.anim_time*90*6)*-1", 0]
},
"wing_right2": {
"rotation": [0, 0, "-20-math.sin(q.anim_time*90*6-45)*30"]
},
"wing_right3": {
"rotation": [0, 0, "-0-math.sin(q.anim_time*90*6-75)*30"]
},
"tail": {
"rotation": ["15-math.sin(q.anim_time*90*6-30)*7", 0, 0]
},
"neck": {
"rotation": ["25-math.sin(q.anim_time*90*6-140)*-1", 0, "math.sin(q.anim_time*90*3-00)*-1"]
},
"head": {
"rotation": ["-50-math.sin(q.anim_time*90*6-110)*3", 0, "math.sin(q.anim_time*90*3-120)*-2"]
},
"hair": {
"rotation": ["-0-math.sin(q.anim_time*90*6-170)*5", 0, 0]
},
"leg_left": {
"rotation": [-67.5, 0, -2.5]
},
"foot_left": {
"rotation": ["40-math.sin(q.anim_time*90*6-30)*-5", -10, "math.sin(q.anim_time*90*3-150)*6"]
},
"toe_back_outer_left": {
"rotation": [-30, 0, 0]
},
"toe_front_inner_left": {
"rotation": [30, 0, 0]
},
"toe_front_outer_left": {
"rotation": [30, 0, 0]
},
"leg_right": {
"rotation": [-67.5, 0, 2.5]
},
"foot_right": {
"rotation": ["40-math.sin(q.anim_time*90*6-30)*-5", 10, "-math.sin(q.anim_time*90*3-150)*6"]
},
"toe_back_inner_right": {
"rotation": [-30, 0, 0]
},
"toe_front_inner_right": {
"rotation": [30, 0, 0]
},
"toe_front_outer_right": {
"rotation": [30, 0, 0]
},
"toe_back_inner_left": {
"rotation": [-30, 0, 0]
},
"toe_back_inner_right3": {
"rotation": [-30, 0, 0]
}
},
"timeline": {
"0.6667": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"1.3333": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"2.0": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"2.6667": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"3.3333": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};",
"4.0": "q.has_entity?{q.sound('animation.plumage.wing_flap.small');};"
}
}
}
}
@@ -68,7 +68,12 @@
"name": "head",
"parent": "neck3",
"pivot": [0, 32.86868, -14.9296],
"rotation": [-90, 0, 0],
"rotation": [-90, 0, 0]
},
{
"name": "head_ai",
"parent": "head",
"pivot": [0, 32.86868, -14.9296],
"cubes": [
{"origin": [-2.5, 29.75372, -22.00071], "size": [5, 6, 8], "uv": [174, 92]},
{"origin": [-2.51, 34.75372, -22.00071], "size": [1, 1, 3], "inflate": 0.03, "uv": [1, 217]},
@@ -77,7 +82,7 @@
},
{
"name": "eyes",
"parent": "head",
"parent": "head_ai",
"pivot": [0, 33.75372, -20.50071]
},
{
@@ -226,7 +231,7 @@
},
{
"name": "beak",
"parent": "head",
"parent": "head_ai",
"pivot": [0, 33.35372, -22.50071],
"rotation": [17.5, 0, 0],
"cubes": [
@@ -276,7 +281,7 @@
},
{
"name": "crest",
"parent": "head",
"parent": "head_ai",
"pivot": [0, 35.85372, -18.60071],
"rotation": [-5, 0, 0]
},
@@ -322,7 +327,7 @@
},
{
"name": "jaw",
"parent": "head",
"parent": "head_ai",
"pivot": [0, 31.85372, -22.40071],
"rotation": [5, 0, 0],
"cubes": [
@@ -340,7 +345,7 @@
},
{
"name": "locator_head",
"parent": "head",
"parent": "head_ai",
"pivot": [0, 36, -20],
"locators": {
"head": [0, 36, -20]
@@ -348,7 +353,7 @@
},
{
"name": "locator_item_hat",
"parent": "head",
"parent": "head_ai",
"pivot": [0, 39, -18],
"locators": {
"item_hat": [0, 39, -18]
@@ -356,7 +361,7 @@
},
{
"name": "locator_item_face",
"parent": "head",
"parent": "head_ai",
"pivot": [0, 34.25, -22],
"locators": {
"item_face": [0, 34.25, -22]
@@ -364,7 +369,7 @@
},
{
"name": "locator_face",
"parent": "head",
"parent": "head_ai",
"pivot": [0, 31, -34],
"locators": {
"face": [0, 31, -34]
@@ -372,7 +377,7 @@
},
{
"name": "locator_mouth",
"parent": "head",
"parent": "head_ai",
"pivot": [0, 31.75, -20],
"locators": {
"mouth": [0, 31.75, -20]
@@ -7,8 +7,8 @@
"texture_width": 256,
"texture_height": 128,
"visible_bounds_width": 6,
"visible_bounds_height": 4,
"visible_bounds_offset": [0, 1, 0]
"visible_bounds_height": 5,
"visible_bounds_offset": [0, 1.5, 0]
},
"bones": [
{
@@ -252,7 +252,7 @@
"name": "head_correction",
"parent": "head",
"pivot": [0, 14.25, -14],
"rotation": [-42.5, 0, 0]
"rotation": [42.5, 0, 0]
},
{
"name": "head_ai",
@@ -263,6 +263,7 @@
"name": "head_angle",
"parent": "head_ai",
"pivot": [0, 14.25, -15],
"rotation": [-90, 0, 0],
"cubes": [
{"origin": [-7, 3.5, -21.5], "size": [14, 15, 6], "inflate": 0.01, "uv": [0, 0]},
{"origin": [-7, 10.5, -15.5], "size": [14, 8, 3], "inflate": 0.01, "uv": [40, 0]},
@@ -227,6 +227,14 @@
{"origin": [3.1, 20.8, -0.84], "size": [2, 1, 1], "inflate": 0.1, "uv": [60, 42]}
]
},
{
"name": "eyelid_closed_left",
"parent": "head_left",
"pivot": [3.6, 19.7, -0.91],
"cubes": [
{"origin": [2.1, 17.2, -0.66], "size": [3, 5, 1], "inflate": 0.25, "uv": [98, 2]}
]
},
{
"name": "face_ditto_left",
"parent": "head_left",
@@ -332,6 +340,14 @@
{"origin": [-5.1, 20.8, -0.84], "size": [2, 1, 1], "inflate": 0.1, "uv": [51, 42], "mirror": true}
]
},
{
"name": "eyelid_closed_right",
"parent": "head_right",
"pivot": [-3.6, 19.7, -0.91],
"cubes": [
{"origin": [-5.1, 17.2, -0.66], "size": [3, 5, 1], "inflate": 0.25, "uv": [89, 2], "mirror": true}
]
},
{
"name": "face_ditto_right",
"parent": "head_right",
@@ -134,229 +134,114 @@
"jaw2": [0, 27, -7.35]
}
},
{
"name": "head_right",
"parent": "head_angle",
"pivot": [-3.525, 31, 0.25],
"rotation": [5, 0, 0],
"cubes": [
{"origin": [-4.525, 29.5, -4.75], "size": [2, 5, 5], "uv": [51, 11]},
{"origin": [-3.625, 31.5, 0.25], "size": [0, 3, 5], "uv": [52, 55]}
]
},
{
"name": "locator_eye_right",
"parent": "head_right",
"pivot": [-4.5, 31, -2.5],
"rotation": [0, 90, 0],
"locators": {
"eye1": [-4.5, 31, -2.5]
}
},
{
"name": "eye_right",
"parent": "head_right",
"pivot": [-4.525, 31.35, -2.25],
"cubes": [
{"origin": [-4.525, 28.85, -4.25], "size": [1, 5, 4], "inflate": 0.01, "uv": [66, 2], "mirror": true}
]
},
{
"name": "eye_neutral_right",
"parent": "eye_right",
"pivot": [-4.525, 32.85095, -2.27179],
"cubes": [
{"origin": [-4.505, 31.85, -4.25], "size": [1, 2, 4], "inflate": 0.05, "uv": [66, 12], "mirror": true}
]
},
{
"name": "eye_angry_right",
"parent": "eye_right",
"pivot": [-4.435, 32.1, -2.5],
"cubes": [
{"origin": [-4.405, 30.85, -4.25], "size": [1, 3, 4], "inflate": 0.05, "uv": [66, 26], "mirror": true},
{"origin": [-4.44, 31.35, -3.27], "size": [1, 1, 1], "inflate": 0.02, "uv": [73, 27], "mirror": true}
]
},
{
"name": "eye_sad_right",
"parent": "eye_right",
"pivot": [-4.435, 32.85, -2.5],
"cubes": [
{"origin": [-4.405, 31.85, -4.25], "size": [1, 2, 4], "inflate": 0.05, "uv": [66, 19], "mirror": true},
{"origin": [-4.44, 32.35, -3.27], "size": [1, 1, 1], "inflate": 0.02, "uv": [73, 20], "mirror": true}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-4.525, 30.85095, -3.02179],
"cubes": [
{"origin": [-4.525, 29.35, -4.04], "size": [1, 3, 2], "inflate": 0.02, "uv": [73, 0], "mirror": true}
]
},
{
"name": "pupil_right2",
"parent": "pupil_right",
"pivot": [-4.55, 31.35095, -3.02179],
"cubes": [
{"origin": [-4.55, 30.35, -3.55], "size": [1, 2, 1], "uv": [84, 2], "mirror": true}
]
},
{
"name": "eyelid_right",
"parent": "head_right",
"pivot": [-3.925, 31.35095, -2.27179],
"cubes": [
{"origin": [-4.425, 28.85, -4.25], "size": [1, 5, 4], "inflate": 0.01, "uv": [77, 2], "mirror": true}
]
},
{
"name": "pupil_eyelid_right",
"parent": "eyelid_right",
"pivot": [-4.425, 30.80095, -2.27179],
"cubes": [
{"origin": [-4.435, 30.3, -3.75], "size": [1, 1, 3], "inflate": 0.01, "uv": [77, 14], "mirror": true}
]
},
{
"name": "eyelid_right2",
"parent": "eyelid_right",
"pivot": [-3.925, 32.85095, -2.27179],
"cubes": [
{"origin": [-4.405, 31.85, -4.25], "size": [1, 2, 4], "inflate": 0.05, "uv": [66, 12], "mirror": true}
]
},
{
"name": "pupil_happy_right",
"parent": "eyelid_right",
"pivot": [-4.325, 30.80095, -2.27179],
"cubes": [
{"origin": [-4.325, 30.30095, -3.77179], "size": [1, 2, 3], "inflate": 0.05, "uv": [77, 20], "mirror": true}
]
},
{
"name": "face_ditto_right",
"parent": "head_right",
"pivot": [-4.435, 32, -2.25]
},
{
"name": "eye_ditto_right",
"parent": "face_ditto_right",
"pivot": [-4.435, 32, -2.25],
"cubes": [
{"origin": [-4.435, 31.5, -2.75], "size": [0, 1, 1], "uv": [113, 1]}
]
},
{
"name": "eye_closed_ditto_right",
"parent": "face_ditto_right",
"pivot": [-4.335, 32, -2.25],
"cubes": [
{"origin": [-4.335, 31.5, -3.25], "size": [0, 1, 2], "uv": [112, 2]},
{"origin": [-4.345, 32, -2.75], "size": [0, 1, 1], "uv": [113, 5]}
]
},
{
"name": "head_left",
"parent": "head_angle",
"pivot": [3.525, 31, 0.25],
"pivot": [3.53, 31, 0.25],
"rotation": [5, 0, 0],
"cubes": [
{"origin": [2.525, 29.5, -4.75], "size": [2, 5, 5], "uv": [51, 21], "mirror": true},
{"origin": [3.625, 31.5, 0.25], "size": [0, 3, 5], "uv": [40, 55], "mirror": true}
{"origin": [2.53, 29.5, -4.75], "size": [2, 5, 5], "uv": [51, 21], "mirror": true},
{"origin": [3.63, 31.5, 0.25], "size": [0, 3, 5], "uv": [40, 55], "mirror": true}
]
},
{
"name": "locator_eye_left",
"parent": "head_left",
"pivot": [4.5, 31, -2.5],
"rotation": [0, -90, 0],
"locators": {
"eye2": [4.5, 31, -2.5]
}
},
{
"name": "eye_left",
"parent": "head_left",
"pivot": [4.525, 31.35, -2.25],
"pivot": [4.53, 31.5, -2.25],
"cubes": [
{"origin": [3.525, 28.85, -4.25], "size": [1, 5, 4], "inflate": 0.01, "uv": [88, 2]}
{"origin": [3.54, 29, -4.25], "size": [1, 5, 4], "uv": [88, 2]}
]
},
{
"name": "eye_neutral_left",
"parent": "eye_left",
"pivot": [4.525, 32.85095, -2.27179],
"pivot": [4.54, 33, -2.25],
"cubes": [
{"origin": [3.505, 31.85, -4.25], "size": [1, 2, 4], "inflate": 0.05, "uv": [88, 12]}
{"origin": [3.54, 32, -4.25], "size": [1, 2, 4], "inflate": 0.021, "uv": [88, 12]}
]
},
{
"name": "eye_angry_left",
"parent": "eye_left",
"pivot": [4.435, 32.1, -2.5],
"pivot": [4.44, 32.5, -2.25],
"cubes": [
{"origin": [3.405, 30.85, -4.25], "size": [1, 3, 4], "inflate": 0.05, "uv": [88, 26]},
{"origin": [3.44, 31.35, -3.27], "size": [1, 1, 1], "inflate": 0.02, "uv": [95, 27]}
{"origin": [3.44, 31, -4.25], "size": [1, 3, 4], "inflate": 0.021, "uv": [88, 26]},
{"origin": [3.44, 31.5, -3.25], "size": [1, 1, 1], "inflate": 0.03, "uv": [95, 27]}
]
},
{
"name": "eye_sad_left",
"parent": "eye_left",
"pivot": [4.435, 32.85, -2.5],
"pivot": [4.43, 33, -2.25],
"cubes": [
{"origin": [3.405, 31.85, -4.25], "size": [1, 2, 4], "inflate": 0.05, "uv": [88, 19]},
{"origin": [3.44, 32.35, -3.27], "size": [1, 1, 1], "inflate": 0.02, "uv": [95, 20]}
{"origin": [3.44, 32, -4.25], "size": [1, 2, 4], "inflate": 0.021, "uv": [88, 19]},
{"origin": [3.44, 32.5, -3.25], "size": [1, 1, 1], "inflate": 0.03, "uv": [95, 20]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [4.525, 30.85095, -3.02179],
"pivot": [4.55, 31, -3.05],
"cubes": [
{"origin": [3.525, 29.35, -4.04], "size": [1, 3, 2], "inflate": 0.02, "uv": [95, 0]}
{"origin": [3.55, 29.5, -4.05], "size": [1, 3, 2], "uv": [95, 0]}
]
},
{
"name": "pupil_left2",
"name": "eye_shine_left",
"parent": "pupil_left",
"pivot": [4.55, 31.35095, -3.02179],
"pivot": [4.55, 31.5, -3.05],
"cubes": [
{"origin": [3.55, 30.35, -3.55], "size": [1, 2, 1], "uv": [106, 2]}
{"origin": [3.56, 30.5, -3.55], "size": [1, 2, 1], "uv": [106, 2]}
]
},
{
"name": "open_eye_left",
"parent": "head_left",
"pivot": [4.44, 31.5, -2.25],
"cubes": [
{"origin": [3.44, 29, -4.25], "size": [1, 5, 4], "uv": [99, 2]}
]
},
{
"name": "open_pupil_left",
"parent": "open_eye_left",
"pivot": [4.45, 31.5, -2.25],
"cubes": [
{"origin": [3.45, 31, -3.75], "size": [1, 1, 3], "uv": [99, 14]}
]
},
{
"name": "open_neutral_left",
"parent": "open_eye_left",
"pivot": [4.34, 33, -2.25],
"cubes": [
{"origin": [3.34, 32, -4.25], "size": [1, 2, 4], "inflate": 0.021, "uv": [88, 12]}
]
},
{
"name": "open_happy_left",
"parent": "open_eye_left",
"pivot": [4.35, 32, -2.25],
"cubes": [
{"origin": [3.35, 31, -3.75], "size": [1, 2, 3], "uv": [99, 20]}
]
},
{
"name": "eyelid_left",
"parent": "head_left",
"pivot": [3.925, 31.35095, -2.27179],
"pivot": [4.44, 31.5, -2.25],
"cubes": [
{"origin": [3.425, 28.85, -4.25], "size": [1, 5, 4], "inflate": 0.01, "uv": [99, 2]}
{"origin": [3.44, 29, -4.25], "size": [1, 5, 4], "inflate": 0.022, "uv": [99, 26]}
]
},
{
"name": "pupil_eyelid_left",
"parent": "eyelid_left",
"pivot": [4.425, 30.80095, -2.27179],
"cubes": [
{"origin": [3.435, 30.3, -3.75], "size": [1, 1, 3], "inflate": 0.01, "uv": [99, 14]}
]
},
{
"name": "eyelid_left2",
"parent": "eyelid_left",
"pivot": [3.925, 32.85095, -2.27179],
"cubes": [
{"origin": [3.405, 31.85, -4.25], "size": [1, 2, 4], "inflate": 0.05, "uv": [88, 12]}
]
},
{
"name": "pupil_happy_left",
"parent": "eyelid_left",
"pivot": [4.325, 30.80095, -2.27179],
"cubes": [
{"origin": [3.325, 30.30095, -3.77179], "size": [1, 2, 3], "inflate": 0.05, "uv": [99, 20]}
]
"name": "locator_eye_left",
"parent": "head_left",
"pivot": [4.54, 31, -2.46],
"rotation": [0, -90, 0],
"locators": {
"eye2": [4.54, 31, -2.46]
}
},
{
"name": "face_ditto_left",
@@ -368,7 +253,7 @@
"parent": "face_ditto_left",
"pivot": [4.435, 32, -2.25],
"cubes": [
{"origin": [4.435, 31.5, -2.75], "size": [0, 1, 1], "uv": [118, 1], "mirror": true}
{"origin": [4.435, 31.5, -2.75], "size": [0, 1, 1], "uv": [113, 1]}
]
},
{
@@ -376,8 +261,139 @@
"parent": "face_ditto_left",
"pivot": [4.335, 32, -2.25],
"cubes": [
{"origin": [4.335, 31.5, -3.25], "size": [0, 1, 2], "uv": [117, 2], "mirror": true},
{"origin": [4.345, 32, -2.75], "size": [0, 1, 1], "uv": [118, 5], "mirror": true}
{"origin": [4.335, 31.5, -3.25], "size": [0, 1, 2], "uv": [112, 2]},
{"origin": [4.345, 32, -2.75], "size": [0, 1, 1], "uv": [113, 5]}
]
},
{
"name": "head_right",
"parent": "head_angle",
"pivot": [-3.53, 31, 0.25],
"rotation": [5, 0, 0],
"cubes": [
{"origin": [-4.53, 29.5, -4.75], "size": [2, 5, 5], "uv": [51, 11]},
{"origin": [-3.63, 31.5, 0.25], "size": [0, 3, 5], "uv": [40, 55]}
]
},
{
"name": "eye_right",
"parent": "head_right",
"pivot": [-4.53, 31.5, -2.25],
"cubes": [
{"origin": [-4.54, 29, -4.25], "size": [1, 5, 4], "uv": [66, 2], "mirror": true}
]
},
{
"name": "eye_neutral_right",
"parent": "eye_right",
"pivot": [-4.54, 33, -2.25],
"cubes": [
{"origin": [-4.54, 32, -4.25], "size": [1, 2, 4], "inflate": 0.021, "uv": [66, 12], "mirror": true}
]
},
{
"name": "eye_angry_right",
"parent": "eye_right",
"pivot": [-4.44, 32.5, -2.25],
"cubes": [
{"origin": [-4.44, 31, -4.25], "size": [1, 3, 4], "inflate": 0.021, "uv": [66, 26], "mirror": true},
{"origin": [-4.44, 31.5, -3.25], "size": [1, 1, 1], "inflate": 0.03, "uv": [73, 27], "mirror": true}
]
},
{
"name": "eye_sad_right",
"parent": "eye_right",
"pivot": [-4.43, 33, -2.25],
"cubes": [
{"origin": [-4.44, 32, -4.25], "size": [1, 2, 4], "inflate": 0.021, "uv": [66, 19], "mirror": true},
{"origin": [-4.44, 32.5, -3.25], "size": [1, 1, 1], "inflate": 0.03, "uv": [73, 20], "mirror": true}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-4.55, 31, -3.05],
"cubes": [
{"origin": [-4.55, 29.5, -4.05], "size": [1, 3, 2], "uv": [73, 0], "mirror": true}
]
},
{
"name": "eye_shine_right",
"parent": "pupil_right",
"pivot": [-4.55, 31.5, -3.05],
"cubes": [
{"origin": [-4.56, 30.5, -3.55], "size": [1, 2, 1], "uv": [84, 2], "mirror": true}
]
},
{
"name": "open_eye_right",
"parent": "head_right",
"pivot": [-4.44, 31.5, -2.25],
"cubes": [
{"origin": [-4.44, 29, -4.25], "size": [1, 5, 4], "uv": [77, 2], "mirror": true}
]
},
{
"name": "open_pupil_right",
"parent": "open_eye_right",
"pivot": [-4.45, 31.5, -2.25],
"cubes": [
{"origin": [-4.45, 31, -3.75], "size": [1, 1, 3], "uv": [77, 14], "mirror": true}
]
},
{
"name": "open_neutral_right",
"parent": "open_eye_right",
"pivot": [-4.34, 33, -2.25],
"cubes": [
{"origin": [-4.34, 32, -4.25], "size": [1, 2, 4], "inflate": 0.021, "uv": [66, 12], "mirror": true}
]
},
{
"name": "open_happy_right",
"parent": "open_eye_right",
"pivot": [-4.35, 32, -2.25],
"cubes": [
{"origin": [-4.35, 31, -3.75], "size": [1, 2, 3], "uv": [77, 20], "mirror": true}
]
},
{
"name": "eyelid_right",
"parent": "head_right",
"pivot": [-4.44, 31.5, -2.25],
"cubes": [
{"origin": [-4.44, 29, -4.25], "size": [1, 5, 4], "inflate": 0.022, "uv": [77, 26], "mirror": true}
]
},
{
"name": "locator_eye_right",
"parent": "head_right",
"pivot": [-4.54, 31, -2.46],
"rotation": [0, 90, 0],
"locators": {
"eye1": [-4.54, 31, -2.46]
}
},
{
"name": "face_ditto_right",
"parent": "head_right",
"pivot": [-4.435, 32, -2.25]
},
{
"name": "eye_ditto_right",
"parent": "face_ditto_right",
"pivot": [-4.435, 32, -2.25],
"cubes": [
{"origin": [-4.435, 31.5, -2.75], "size": [0, 1, 1], "uv": [118, 1], "mirror": true}
]
},
{
"name": "eye_closed_ditto_right",
"parent": "face_ditto_right",
"pivot": [-4.335, 32, -2.25],
"cubes": [
{"origin": [-4.335, 31.5, -3.25], "size": [0, 1, 2], "uv": [117, 2], "mirror": true},
{"origin": [-4.345, 32, -2.75], "size": [0, 1, 1], "uv": [118, 5], "mirror": true}
]
},
{
@@ -830,11 +830,6 @@
{"origin": [-3.5, 38.3, 33.75], "size": [7, 5, 9], "uv": [106, 33]}
]
},
{
"name": "tongue6",
"parent": "tongue5",
"pivot": [0, 40.8, 40.5]
},
{
"name": "muzzle",
"parent": "head_angle",
@@ -913,6 +908,15 @@
{"origin": [-0.1, 44.3, -8.11], "size": [4, 2, 1], "uv": [87, 72]}
]
},
{
"name": "eyelid_base_left",
"parent": "eye_left_base",
"pivot": [1.9, 43.9, -8.11],
"cubes": [
{"origin": [-0.1, 45.3, -8.11], "size": [4, 1, 1], "uv": [87, 76]},
{"origin": [-0.1, 41.9, -8.11], "size": [4, 4, 1], "uv": [87, 79]}
]
},
{
"name": "eye_left",
"parent": "eye_left_base",
@@ -950,7 +954,7 @@
"parent": "eye_left",
"pivot": [1.9, 44.2, -8.07],
"cubes": [
{"origin": [0.4, 43.7, -8.07], "size": [3, 1, 1], "inflate": 0.02, "uv": [87, 76]}
{"origin": [0.4, 43.7, -8.07], "size": [3, 1, 1], "inflate": 0.02, "uv": [87, 85]}
]
},
{
@@ -958,7 +962,7 @@
"parent": "eye_left",
"pivot": [1.9, 44.2, -8.07],
"cubes": [
{"origin": [0.4, 42.95, -8.07], "size": [3, 2, 1], "inflate": 0.02, "uv": [87, 79]}
{"origin": [0.4, 42.95, -8.07], "size": [3, 2, 1], "inflate": 0.02, "uv": [87, 88]}
]
},
{
@@ -995,6 +999,15 @@
{"origin": [-3.9, 44.3, -8.11], "size": [4, 2, 1], "uv": [76, 72], "mirror": true}
]
},
{
"name": "eyelid_base_right",
"parent": "eye_right_base",
"pivot": [-1.9, 43.9, -8.11],
"cubes": [
{"origin": [-3.9, 45.3, -8.11], "size": [4, 1, 1], "uv": [76, 76], "mirror": true},
{"origin": [-3.9, 41.9, -8.11], "size": [4, 4, 1], "uv": [76, 79], "mirror": true}
]
},
{
"name": "eye_right",
"parent": "eye_right_base",
@@ -1032,7 +1045,7 @@
"parent": "eye_right",
"pivot": [-1.9, 44.2, -8.07],
"cubes": [
{"origin": [-3.4, 43.7, -8.07], "size": [3, 1, 1], "inflate": 0.02, "uv": [76, 76], "mirror": true}
{"origin": [-3.4, 43.7, -8.07], "size": [3, 1, 1], "inflate": 0.02, "uv": [76, 85], "mirror": true}
]
},
{
@@ -1040,7 +1053,7 @@
"parent": "eye_right",
"pivot": [-1.9, 44.2, -8.07],
"cubes": [
{"origin": [-3.4, 42.95, -8.07], "size": [3, 2, 1], "inflate": 0.02, "uv": [76, 79], "mirror": true}
{"origin": [-3.4, 42.95, -8.07], "size": [3, 2, 1], "inflate": 0.02, "uv": [76, 88], "mirror": true}
]
},
{
@@ -266,23 +266,41 @@
]
},
{
"name": "toe_back_left",
"name": "toe_back_inner_left",
"parent": "foot_left",
"pivot": [1.25, 1.92365, 1.01519],
"pivot": [0.75, 1.92365, 1.01519],
"rotation": [0, -12.5, 0],
"cubes": [
{"origin": [1.25, -0.07635, 1.01519], "size": [0, 1, 1], "inflate": 0.01, "uv": [0, 18]}
{"origin": [0.75, -0.07635, 1.01519], "size": [0, 1, 1], "inflate": 0.01, "uv": [0, 18]}
]
},
{
"name": "claw_back_left",
"parent": "toe_back_left",
"pivot": [1.25, 1.92365, 2.01519],
"name": "toe_back_inner_left2",
"parent": "toe_back_inner_left",
"pivot": [0.75, 1.92365, 2.01519],
"cubes": [
{"origin": [1.25, -0.07635, 2.01519], "size": [0, 1, 1], "uv": [4, 14]}
{"origin": [0.75, -0.07635, 2.01519], "size": [0, 1, 1], "uv": [4, 14]}
]
},
{
"name": "toe_inner_left",
"name": "toe_back_outer_left",
"parent": "foot_left",
"pivot": [1.75, 1.92365, 1.01519],
"rotation": [0, 12.5, 0],
"cubes": [
{"origin": [1.75, -0.07635, 1.01519], "size": [0, 1, 1], "inflate": 0.01, "uv": [0, 18]}
]
},
{
"name": "toe_back_outer_left2",
"parent": "toe_back_outer_left",
"pivot": [1.75, 1.92365, 2.01519],
"cubes": [
{"origin": [1.75, -0.07635, 2.01519], "size": [0, 1, 1], "uv": [4, 14]}
]
},
{
"name": "toe_front_inner_left",
"parent": "foot_left",
"pivot": [1.25, 1.92365, -0.98481],
"rotation": [0, 12.5, 0],
@@ -291,15 +309,15 @@
]
},
{
"name": "claw_inner_left",
"parent": "toe_inner_left",
"name": "toe_front_inner_left2",
"parent": "toe_front_inner_left",
"pivot": [0.75, 1.92365, -1.98481],
"cubes": [
{"origin": [0.75, -0.07635, -2.98481], "size": [0, 1, 1], "uv": [4, 13]}
]
},
{
"name": "toe_outer_left",
"name": "toe_front_outer_left",
"parent": "foot_left",
"pivot": [1.25, 1.92365, -0.98481],
"rotation": [0, -12.5, 0],
@@ -308,8 +326,8 @@
]
},
{
"name": "claw_outer_left",
"parent": "toe_outer_left",
"name": "toe_front_outer_left2",
"parent": "toe_front_outer_left",
"pivot": [1.75, 1.92365, -1.98481],
"cubes": [
{"origin": [1.75, -0.07635, -2.98481], "size": [0, 1, 1], "uv": [4, 5]}
@@ -343,23 +361,41 @@
]
},
{
"name": "toe_back_right",
"name": "toe_back_inner_right",
"parent": "foot_right",
"pivot": [-1.25, 1.92365, 1.01519],
"pivot": [-0.75, 1.92365, 1.01519],
"rotation": [0, 12.5, 0],
"cubes": [
{"origin": [-1.25, -0.07635, 1.01519], "size": [0, 1, 1], "inflate": 0.01, "uv": [0, 5]}
{"origin": [-0.75, -0.07635, 1.01519], "size": [0, 1, 1], "inflate": 0.01, "uv": [0, 5]}
]
},
{
"name": "claw_back_right",
"parent": "toe_back_right",
"pivot": [-1.25, 1.92365, 2.01519],
"name": "toe_back_inner_right2",
"parent": "toe_back_inner_right",
"pivot": [-0.75, 1.92365, 2.01519],
"cubes": [
{"origin": [-1.25, -0.07635, 2.01519], "size": [0, 1, 1], "uv": [4, 4]}
{"origin": [-0.75, -0.07635, 2.01519], "size": [0, 1, 1], "uv": [4, 4]}
]
},
{
"name": "toe_inner_right",
"name": "toe_back_inner_right3",
"parent": "foot_right",
"pivot": [-1.75, 1.92365, 1.01519],
"rotation": [0, -12.5, 0],
"cubes": [
{"origin": [-1.75, -0.07635, 1.01519], "size": [0, 1, 1], "inflate": 0.01, "uv": [0, 5]}
]
},
{
"name": "toe_back_inner_right4",
"parent": "toe_back_inner_right3",
"pivot": [-1.75, 1.92365, 2.01519],
"cubes": [
{"origin": [-1.75, -0.07635, 2.01519], "size": [0, 1, 1], "uv": [4, 4]}
]
},
{
"name": "toe_front_inner_right",
"parent": "foot_right",
"pivot": [-1.25, 1.92365, -0.98481],
"rotation": [0, -12.5, 0],
@@ -368,15 +404,15 @@
]
},
{
"name": "claw_inner_right",
"parent": "toe_inner_right",
"name": "toe_front_inner_right2",
"parent": "toe_front_inner_right",
"pivot": [-0.75, 1.92365, -1.98481],
"cubes": [
{"origin": [-0.75, -0.07635, -2.98481], "size": [0, 1, 1], "uv": [4, 0]}
]
},
{
"name": "toe_outer_right",
"name": "toe_front_outer_right",
"parent": "foot_right",
"pivot": [-1.25, 1.92365, -0.98481],
"rotation": [0, 12.5, 0],
@@ -385,8 +421,8 @@
]
},
{
"name": "claw_outer_right",
"parent": "toe_outer_right",
"name": "toe_front_outer_right2",
"parent": "toe_front_outer_right",
"pivot": [-1.75, 1.92365, -1.98481],
"cubes": [
{"origin": [-1.75, -0.07635, -2.98481], "size": [0, 1, 1], "uv": [0, 0]}
@@ -1,8 +1,8 @@
{
"portraitScale": 2.1,
"portraitTranslation": [ -0.55, -1.55, 0 ],
"profileScale": 0.80,
"profileTranslation": [ 0, 0.55, 0 ],
"profileScale": 0.72,
"profileTranslation": [ 0, 0.63, 0 ],
"rootBone": "caterpie",
"animations": {
"cry": "q.bedrock_stateful('caterpie', 'cry')",
@@ -1,8 +1,8 @@
{
"portraitScale": 2.3,
"portraitTranslation": [-0.53, -1.9, 0],
"profileScale": 0.80,
"profileTranslation": [0, 0.51, 0],
"profileScale": 0.72,
"profileTranslation": [ 0, 0.63, 0 ],
"rootBone": "weedle",
"animations": {
"cry": "q.bedrock_stateful('weedle', 'cry')",
@@ -1,8 +1,8 @@
{
"portraitScale": 3.09,
"portraitTranslation": [-0.64, -1.03, 0],
"profileScale": 0.76,
"profileTranslation": [0, 0.62, 0.0],
"profileScale": 0.83,
"profileTranslation": [0, 0.53, 0.0],
"rootBone": "pidgeotto",
"animations": {
"cry": "q.bedrock_stateful('pidgeotto', 'cry')",
@@ -1,8 +1,8 @@
{
"portraitScale": 2.2,
"portraitTranslation": [ -0.2, -1.4, 0 ],
"profileScale": 1.1,
"profileTranslation": [ 0.0, 0.1, 0 ],
"profileScale": 0.85,
"profileTranslation": [ 0.0, 0.45, 0 ],
"rootBone": "rattata",
"animations": {
"faint": "q.bedrock_primary('rattata', 'faint')",
@@ -1,8 +1,8 @@
{
"portraitScale": 2.2,
"portraitTranslation": [ -0.2, -1.4, 0 ],
"profileScale": 1.1,
"profileTranslation": [ 0.0, 0.1, 0 ],
"profileScale": 0.85,
"profileTranslation": [ 0.0, 0.45, 0 ],
"rootBone": "rattata",
"animations": {
"faint": "q.bedrock_primary('rattata_alolan', 'faint')",
@@ -4,12 +4,14 @@
"profileScale": 0.93,
"profileTranslation": [0, 0.39, 0],
"rootBone": "spearow",
"animations": {"cry": "q.bedrock_stateful('spearow', 'cry')"},
"animations": {
"cry": "q.bedrock_stateful('spearow', 'cry')"
},
"poses": {
"standing": {
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
"isBattle": false,
"animations": ["q.look('head')", "q.bedrock('spearow', 'ground_idle')"],
"animations": ["q.look('head_ai')", "q.bedrock('spearow', 'ground_idle')"],
"quirks": ["q.bedrock_quirk('spearow', 'blink')"],
"transformedParts": [
{
@@ -33,9 +35,8 @@
"walking": {
"poseTypes": ["WALK", "SWIM"],
"animations": [
"q.look('head')",
"q.bedrock('spearow', 'ground_idle')",
"q.biped_walk(1, 1, 'leg_left', 'leg_right')"
"q.look('head_ai')",
"q.bedrock('spearow', 'ground_walk')"
],
"quirks": ["q.bedrock_quirk('spearow', 'blink')"],
"transformedParts": [
@@ -61,10 +62,9 @@
"poseTypes": ["HOVER"],
"animations": [
"q.pitch_tilt('body')",
"q.sine_wing_flap(0.9, 0.9, 25, 'z', 'wing_open_left', 'wing_open_right')",
"q.look('neck', 1, 1, 70, -10, 20, -20)",
"q.look('head')",
"q.bedrock('spearow', 'ground_idle')"
"q.look('head_ai')",
"q.bedrock('spearow', 'air_idle')"
],
"quirks": ["q.bedrock_quirk('spearow', 'blink')"],
"transformedParts": [
@@ -90,10 +90,9 @@
"poseTypes": ["FLY"],
"animations": [
"q.pitch_tilt('body')",
"q.sine_wing_flap(0.9, 0.9, 25, 'z', 'wing_open_left', 'wing_open_right')",
"q.look('neck', 1, 1, 70, -10, 20, -20)",
"q.look('head')",
"q.bedrock('spearow', 'ground_idle')"
"q.look('head_ai')",
"q.bedrock('spearow', 'air_fly')"
],
"quirks": ["q.bedrock_quirk('spearow', 'blink')"],
"transformedParts": [
@@ -8,11 +8,14 @@
"poses": {
"standing": {
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
"isBattle": false,
"animations": [
"q.look('neck', 1, 1, 70, -10, 20, -20)",
"q.look('head')",
"q.bedrock('fearow', 'ground_idle')"
"q.look('head_ai')",
"q.bedrock('fearow', 'ground_idle')",
{
"condition": "q.is_ridden",
"animation": "q.bedrock('fearow', 'ride_ground_walk')"
}
],
"transformedParts": [
{
@@ -31,15 +34,21 @@
"part": "wing_closed_left",
"isVisible": true
}
],
"quirks": [
"q.bedrock_quirk('fearow', 'blink')"
]
},
"walking": {
"poseTypes": ["WALK", "SWIM"],
"animations": [
"q.look('neck', 1, 1, 70, -10, 20, -20)",
"q.look('head')",
"q.bedrock('fearow', 'ground_idle')",
"q.biped_walk(1, 1, 'leg_left', 'leg_right')"
"q.look('head_ai')",
"q.bedrock('fearow', 'ground_walk')",
{
"condition": "q.is_ridden",
"animation": "q.bedrock('fearow', 'ride_ground_walk')"
}
],
"transformedParts": [
{
@@ -58,16 +67,22 @@
"part": "wing_closed_left",
"isVisible": true
}
],
"quirks": [
"q.bedrock_quirk('fearow', 'blink')"
]
},
"hover": {
"poseTypes": ["HOVER"],
"animations": [
"q.pitch_tilt('body')",
"q.sine_wing_flap(0.9, 0.9, 25, 'z', 'wing_open_left', 'wing_open_right')",
"q.look('neck', 1, 1, 70, -10, 20, -20)",
"q.look('head')",
"q.bedrock('fearow', 'air_idle')"
"q.look('head_ai')",
"q.bedrock('fearow', 'air_idle')",
{
"condition": "q.is_ridden",
"animation": "q.bedrock('fearow', 'ride_air_fly')"
}
],
"transformedParts": [
{
@@ -86,16 +101,23 @@
"part": "wing_closed_left",
"isVisible": false
}
],
"quirks": [
"q.bedrock_quirk('fearow', 'blink')"
]
},
"fly": {
"poseTypes": ["FLY"],
"condition": "!q.is_gliding",
"animations": [
"q.pitch_tilt('body')",
"q.sine_wing_flap(0.9, 0.9, 25, 'z', 'wing_open_left', 'wing_open_right')",
"q.look('neck', 1, 1, 70, -10, 20, -20)",
"q.look('head')",
"q.bedrock('fearow', 'air_idle')"
"q.look('head_ai')",
"q.bedrock('fearow', 'air_fly')",
{
"condition": "q.is_ridden",
"animation": "q.bedrock('fearow', 'ride_air_fly')"
}
],
"transformedParts": [
{
@@ -114,6 +136,34 @@
"part": "wing_closed_left",
"isVisible": false
}
],
"quirks": [
"q.bedrock_quirk('fearow', 'blink')"
]
},
"sleep": {
"poseTypes": ["SLEEP"],
"animations": ["q.bedrock('fearow', 'sleep')"],
"namedAnimations": {"cry": "q.bedrock_stateful('dummy', 'cry')"}
},
"glide": {
"poseTypes": ["FLY"],
"condition": "q.is_gliding",
"animations": [
"q.look('neck', 1, 1, 70, -10, 20, -20)",
"q.look('head_ai')",
"q.bedrock('fearow', 'air_glide')",
{
"condition": "q.is_ridden",
"animation": "q.bedrock('fearow', 'ride_air_fly')"
},
{
"condition": "q.is_ridden",
"animation": "q.bedrock('fearow', 'ride_dive')"
}
],
"quirks": [
"q.bedrock_quirk('fearow', 'blink')"
]
}
}
@@ -1,8 +1,8 @@
{
"portraitScale": 2.0,
"portraitTranslation": [-0.16, -0.85, 0],
"profileScale": 1.03,
"profileTranslation": [0, 0.21, 0],
"profileScale": 0.79,
"profileTranslation": [0, 0.54, 0],
"rootBone": "nidoranf",
"animations": {
"cry": "q.bedrock_stateful('nidoranf', 'cry')",
@@ -1,8 +1,8 @@
{
"portraitScale": 1.97,
"portraitTranslation": [-0.19, -1.08, 0],
"profileScale": 1.05,
"profileTranslation": [0, 0.11, 0],
"profileScale": 0.79,
"profileTranslation": [0, 0.54, 0],
"rootBone": "nidoranm",
"animations": {
"cry": "q.bedrock_stateful('nidoranm', 'cry')",
@@ -1,6 +1,6 @@
{
"portraitScale": 2.27,
"portraitTranslation": [-0.76, 0.85, 0],
"portraitTranslation": [-0.94, 1.23, 0],
"profileScale": 0.57,
"profileTranslation": [0, 0.9, 0],
"rootBone": "ninetales_alolan",
@@ -1,8 +1,8 @@
{
"portraitScale": 2,
"portraitTranslation": [-0.05, -1.27, 0],
"profileScale": 0.85,
"profileTranslation": [0, 0.5, 0],
"profileScale": 0.75,
"profileTranslation": [0, 0.6, 0],
"rootBone": "oddish",
"animations": {
"cry": "q.bedrock_stateful('oddish', 'cry')",
@@ -17,9 +17,7 @@
"poseTypes": ["WALK", "SWIM"],
"animations": [
"q.look('head')",
"q.biped_walk(0.66, 0.6, 'leg_left', 'leg_right')",
"q.bimanual_swing(0.66, 0.6, 'arm_left', 'arm_right')",
"q.bedrock('magmar', 'ground_idle')"
"q.bedrock('magmar', 'ground_walk')"
],
"quirks": ["q.bedrock_quirk('magmar', 'blink')"]
}
@@ -2,8 +2,8 @@
"rootBone": "spinarak",
"portraitScale": 2.8,
"portraitTranslation": [-0.35, -2.65, 0],
"profileScale": 1.1,
"profileTranslation": [-0.1, 0, 0],
"profileScale": 0.76,
"profileTranslation": [0, 0.48, 0],
"animations": {
"cry": "q.bedrock_stateful('spinarak', 'cry')",
"recoil": "q.bedrock_stateful('spinarak', 'recoil')"
@@ -32,7 +32,8 @@
},
"sleep": {
"poseTypes": ["SLEEP"],
"animations": ["q.bedrock('pichu', 'sleep')"]
"animations": ["q.bedrock('pichu', 'sleep')"],
"namedAnimations": {"cry": "q.bedrock_stateful('dummy', 'cry')"}
},
"shoulder_left": {
"poseTypes": ["SHOULDER_LEFT"],
@@ -32,7 +32,8 @@
},
"sleep": {
"poseTypes": ["SLEEP"],
"animations": ["q.bedrock('pichu_cap', 'sleep')"]
"animations": ["q.bedrock('pichu_cap', 'sleep')"],
"namedAnimations": {"cry": "q.bedrock_stateful('dummy', 'cry')"}
},
"shoulder_left": {
"poseTypes": ["SHOULDER_LEFT"],
@@ -32,7 +32,8 @@
},
"sleep": {
"poseTypes": ["SLEEP"],
"animations": ["q.bedrock('pichu_ukulele', 'sleep')"]
"animations": ["q.bedrock('pichu_ukulele', 'sleep')"],
"namedAnimations": {"cry": "q.bedrock_stateful('dummy', 'cry')"}
},
"shoulder_left": {
"poseTypes": ["SHOULDER_LEFT"],
@@ -2,8 +2,8 @@
"rootBone": "murkrow",
"portraitScale": 3,
"portraitTranslation": [-0.35, -1.23, 0],
"profileScale": 0.95,
"profileTranslation": [0, 0.35, 0],
"profileScale": 0.85,
"profileTranslation": [0, 0.45, 0],
"animations": {
"cry": "q.bedrock_stateful('murkrow', 'cry')"
},
@@ -5,21 +5,41 @@
"profileTranslation": [0, 0.6, 0],
"rootBone": "magby",
"animations": {
"faint": "q.bedrock_primary('magby', 'faint', q.curve('one'))",
"recoil": "q.bedrock_stateful('magby', 'recoil')",
"physical": "q.bedrock_primary('magby', 'physical', q.curve('symmetrical_wide'))",
"special": "q.bedrock_primary('magby', 'special', q.curve('symmetrical_wide'))",
"status": "q.bedrock_primary('magby', 'status', q.curve('symmetrical_wide'))",
"cry": "q.bedrock_stateful('magby', 'cry')"
},
"poses": {
"battle-standing": {
"poseTypes": ["STAND"],
"isBattle": true,
"isTouchingWater": false,
"animations": [
"q.look('head')",
"q.bedrock('magby', 'battle_idle')"
],
"quirks": ["q.bedrock_quirk('magby', 'blink')"],
"namedAnimations": {
"cry": "q.bedrock_primary('magby', 'battle_cry', q.curve('symmetrical_wide'))"
}
},
"standing": {
"isBattle": false,
"isTouchingWater": false,
"poseTypes": ["STAND", "FLOAT", "NONE", "PORTRAIT", "PROFILE"],
"animations": ["q.look('head')", "q.bedrock('magby', 'ground_idle')"],
"quirks": ["q.bedrock_quirk('magby', 'blink')"]
"quirks": ["q.bedrock_quirk('magby', 'blink')",
"q.bedrock_quirk('magby', 'quirk_noot', 30, 60, 1, q.curve('symmetrical_wide'))"
]
},
"walking": {
"poseTypes": ["WALK", "SWIM"],
"animations": [
"q.look('head')",
"q.biped_walk(0.66, 0.6, 'leg_left', 'leg_right')",
"q.bimanual_swing(0.66, 0.6, 'arm_left', 'arm_right')",
"q.bedrock('magby', 'ground_idle')"
"q.bedrock('magby', 'ground_walk')"
],
"quirks": ["q.bedrock_quirk('magby', 'blink')"]
}
@@ -8,6 +8,15 @@
"cry": "q.bedrock_stateful('mudkip', 'cry')"
},
"poses": {
"battle-standing": {
"isBattle": true,
"poseTypes": ["STAND"],
"animations": [
"q.look('head')",
"q.bedrock('mudkip', 'battle_idle')"
],
"quirks": ["q.bedrock_quirk('mudkip', 'blink')"]
},
"standing": {
"poseTypes": ["STAND", "FLOAT", "PORTRAIT", "PROFILE", "NONE"],
"animations": ["q.look('head')", "q.bedrock('mudkip', 'ground_idle')"],
@@ -8,6 +8,15 @@
"cry": "q.bedrock_stateful('marshtomp', 'cry')"
},
"poses": {
"battle-standing": {
"isBattle": true,
"poseTypes": ["STAND"],
"animations": [
"q.look('head')",
"q.bedrock('marshtomp', 'battle_idle')"
],
"quirks": ["q.bedrock_quirk('marshtomp', 'blink')"]
},
"standing": {
"poseTypes": ["STAND", "FLOAT", "PORTRAIT", "PROFILE", "NONE"],
"animations": ["q.look('head')", "q.bedrock('marshtomp', 'ground_idle')"],
@@ -8,7 +8,17 @@
"cry": "q.bedrock_stateful('swampert', 'cry')"
},
"poses": {
"battle-standing": {
"isBattle": true,
"poseTypes": ["STAND"],
"animations": [
"q.look('head_ai')",
"q.bedrock('swampert', 'battle_idle')"
],
"quirks": ["q.bedrock_quirk('swampert', 'blink')"]
},
"standing": {
"isBattle": false,
"poseTypes": ["STAND", "FLOAT", "PORTRAIT", "PROFILE", "NONE"],
"animations": [
"q.look('head_ai')",
@@ -1,8 +1,8 @@
{
"portraitScale": 2.11,
"portraitTranslation": [-0.21, -0.6, 0],
"profileScale": 0.8,
"profileTranslation": [0.0, 0.56, 0.0],
"profileScale": 0.65,
"profileTranslation": [0.0, 0.75, 0.0],
"rootBone": "plusle",
"animations": {
"faint": "q.bedrock_primary('plusle', 'faint', q.curve('one'))",
@@ -1,8 +1,8 @@
{
"portraitScale": 2.11,
"portraitTranslation": [-0.21, -0.6, 0],
"profileScale": 0.8,
"profileTranslation": [0.0, 0.56, 0.0],
"profileScale": 0.65,
"profileTranslation": [0.0, 0.75, 0.0],
"rootBone": "minun",
"animations": {
"faint": "q.bedrock_primary('minun', 'faint', q.curve('one'))",
@@ -52,7 +52,7 @@
"q.bedrock_quirk('archeops', 'blink')"
],
"namedAnimations": {
"cry": "q.bedrock_primary('archeops', 'air_cry', q.curve('symmetrical_wide'))"
"cry": "q.bedrock_stateful('archeops', 'air_cry')"
}
},
"jump": {
@@ -127,7 +127,7 @@
"q.bedrock_quirk('archeops', 'blink')"
],
"namedAnimations": {
"cry": "q.bedrock_primary('archeops', 'air_cry', q.curve('symmetrical_wide'))"
"cry": "q.bedrock_stateful('archeops', 'air_cry')"
}
},
"fly": {
@@ -146,7 +146,7 @@
"q.bedrock_quirk('archeops', 'blink')"
],
"namedAnimations": {
"cry": "q.bedrock_primary('archeops', 'air_cry', q.curve('symmetrical_wide'))"
"cry": "q.bedrock_stateful('archeops', 'air_cry')"
}
},
"glide": {
@@ -27,7 +27,7 @@
"q.look('head_ai')",
"q.bedrock('froakie', 'ground_idle')"
],
"quirks": []
"quirks": ["q.bedrock_quirk('froakie', 'blink')"]
},
"walking": {
"poseTypes": ["WALK"],
@@ -36,7 +36,7 @@
"q.look('head_ai')",
"q.bedrock('froakie', 'ground_walk')"
],
"quirks": []
"quirks": ["q.bedrock_quirk('froakie', 'blink')"]
},
"swimming": {
"poseTypes": ["WALK","SWIM"],
@@ -46,7 +46,7 @@
"q.look('head_ai')",
"q.bedrock('froakie', 'water_swim')"
],
"quirks": []
"quirks": ["q.bedrock_quirk('froakie', 'blink')"]
},
"float": {
"poseTypes": ["STAND","FLOAT"],
@@ -55,7 +55,7 @@
"q.look('head_ai')",
"q.bedrock('froakie', 'water_idle')"
],
"quirks": []
"quirks": ["q.bedrock_quirk('froakie', 'blink')"]
},
"sleep": {
"poseTypes": ["SLEEP"],
@@ -1,8 +1,8 @@
{
"portraitScale": 1.9,
"portraitTranslation": [ -0.1, 1.4, 0 ],
"profileScale": 0.7,
"profileTranslation": [ 0, 0.7, 0 ],
"portraitTranslation": [ -0.2, 1.4, 0 ],
"profileScale": 0.57,
"profileTranslation": [ 0, 0.88, 0 ],
"rootBone": "frogadier",
"animations": {
"cry": "q.bedrock_stateful('frogadier', 'cry')",
@@ -27,7 +27,7 @@
"q.look('head_ai', 1, 1, 5, -45, 45, -45)",
"q.bedrock('frogadier', 'ground_idle')"
],
"quirks": []
"quirks": ["q.bedrock_quirk('frogadier', 'blink')"]
},
"walking": {
"poseTypes": ["WALK"],
@@ -36,7 +36,7 @@
"q.look('head_ai', 1, 1, 0, -45, 45, -45)",
"q.bedrock('frogadier', 'ground_walk')"
],
"quirks": []
"quirks": ["q.bedrock_quirk('frogadier', 'blink')"]
},
"swimming": {
"poseTypes": ["WALK","SWIM"],
@@ -46,7 +46,7 @@
"q.look('head_ai')",
"q.bedrock('frogadier', 'water_swim')"
],
"quirks": []
"quirks": ["q.bedrock_quirk('frogadier', 'blink')"]
},
"float": {
"poseTypes": ["STAND","FLOAT"],
@@ -55,7 +55,7 @@
"q.look('head_ai')",
"q.bedrock('frogadier', 'water_idle')"
],
"quirks": []
"quirks": ["q.bedrock_quirk('frogadier', 'blink')"]
},
"sleep": {
"poseTypes": ["SLEEP"],
@@ -66,7 +66,7 @@
"q.bedrock('greninja', math.random(0, 1) < 0.4 ? 'ground_idle_alt' : 'ground_idle')"
],
"quirks": [
"q.bedrock_quirk('greninja', q.array('quirk_look_left', 'quirk_look_right'), 8, 30, 1)"
"q.bedrock_quirk('greninja', 'blink')","q.bedrock_quirk('greninja', q.array('quirk_look_left', 'quirk_look_right'), 8, 30, 1)"
]
},
"walking": {
@@ -78,7 +78,7 @@
"q.look('tongue1', -1, 1, 70, -45, 0, 0)",
"q.bedrock('greninja', 'ground_walk')"
],
"quirks": []
"quirks": ["q.bedrock_quirk('greninja', 'blink')"]
},
"running": {
"poseTypes": ["WALK"],
@@ -89,7 +89,7 @@
"q.look('tongue1', -1, 1, 70, -45, 0, 0)",
"q.bedrock('greninja', 'ground_run')"
],
"quirks": []
"quirks": ["q.bedrock_quirk('greninja', 'blink')"]
},
"surface-swimming": {
"poseTypes": ["WALK","SWIM"],
@@ -101,7 +101,7 @@
"q.look('tongue1', -1, 1, 70, -45, 0, 0)",
"q.bedrock('greninja', 'water_swim')"
],
"quirks": [],
"quirks": ["q.bedrock_quirk('greninja', 'blink')"],
"transformedParts": [
{
"part": "body",
@@ -118,7 +118,7 @@
"q.look('tongue1', -1, 1, 70, -45, 0, 0)",
"q.bedrock('greninja', 'water_idle')"
],
"quirks": [],
"quirks": ["q.bedrock_quirk('greninja', 'blink')"],
"transformedParts": [
{
"part": "body",
@@ -136,7 +136,7 @@
"q.look('tongue1', -1, 1, 70, -45, 0, 0)",
"q.bedrock('greninja', 'water_swim')"
],
"quirks": [],
"quirks": ["q.bedrock_quirk('greninja', 'blink')"],
"transformedParts": [
{
"part": "body",
@@ -153,7 +153,7 @@
"q.look('tongue1', -1, 1, 70, -45, 0, 0)",
"q.bedrock('greninja', 'water_idle')"
],
"quirks": [],
"quirks": ["q.bedrock_quirk('greninja', 'blink')"],
"transformedParts": [
{
"part": "body",
@@ -1,8 +1,8 @@
{
"portraitScale": 1.92,
"portraitTranslation": [-0.64,-0.32,0],
"profileScale": 0.5,
"profileTranslation": [-0.05,1,0],
"profileScale": 0.57,
"profileTranslation": [-0.05,0.93,0],
"rootBone": "helioptile",
"animations": {
"cry": "q.bedrock_stateful('helioptile', 'cry')"
@@ -17,14 +17,15 @@
"animations": [
"q.bedrock('vikavolt', 'ground_idle')"
],
"condition": "q.has_entity ? !q.in_air : 1.0",
"isBattle": false,
"quirks": ["q.bedrock_quirk('vikavolt', 'blink')"],
"transitions": {
"hover": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))",
"fly": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))",
"battle-standing": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))",
"battle-hover": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))",
"air-sleep": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))"
"hover": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))",
"fly": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))",
"battle-standing": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))",
"battle-hover": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))",
"air-sleep": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))"
}
},
"battle-standing": {
@@ -37,20 +38,26 @@
"namedAnimations": {
"cry": "q.bedrock_primary('vikavolt', 'battle_cry', q.curve('symmetrical_wide'))",
"recoil": "q.bedrock_stateful('vikavolt', 'air_recoil')"
},
"transitions": {
"standing": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"walking": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"sleep": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))"
}
},
"walking": {
"poseTypes": ["WALK", "SWIM"],
"condition": "!q.in_air && q.riding_style != 'AIR': 1.0 ? 0.0",
"animations": [
"q.bedrock('vikavolt', 'ground_walk')"
],
"quirks": ["q.bedrock_quirk('vikavolt', 'blink')"],
"transitions": {
"hover": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))",
"fly": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))",
"battle-standing": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))",
"battle-hover": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))",
"air-sleep": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))"
"hover": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))",
"fly": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))",
"battle-standing": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))",
"battle-hover": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))",
"air-sleep": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))"
}
},
"hover": {
@@ -64,6 +71,11 @@
"namedAnimations": {
"cry": "q.bedrock_stateful('vikavolt', 'air_cry')",
"recoil": "q.bedrock_stateful('vikavolt', 'air_recoil')"
},
"transitions": {
"standing": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"walking": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"sleep": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))"
}
},
"battle-hover": {
@@ -77,22 +89,67 @@
"namedAnimations": {
"cry": "q.bedrock_primary('vikavolt', 'battle_cry', q.curve('symmetrical_wide'))",
"recoil": "q.bedrock_stateful('vikavolt', 'air_recoil')"
},
"transitions": {
"standing": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"walking": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"sleep": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))"
}
},
"fly": {
"poseTypes": ["FLY"],
"animations": [
"q.pitch_tilt('body')",
"q.bedrock('vikavolt', 'air_fly')",
{
"condition": "q.is_ridden",
"animation": "q.bedrock('vikavolt', 'ride_air_fly')"
}
"q.bedrock('vikavolt', 'air_fly')"
],
"quirks": ["q.bedrock_quirk('vikavolt', 'blink')"],
"namedAnimations": {
"cry": "q.bedrock_stateful('vikavolt', 'air_cry')",
"recoil": "q.bedrock_stateful('vikavolt', 'air_recoil')"
},
"transitions": {
"standing": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"walking": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"sleep": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))"
}
},
"mount-hover": {
"poseTypes": ["STAND", "HOVER"],
"isBattle": false,
"condition": "q.has_entity ? q.is_ridden && q.riding_style == 'AIR' : 0.0",
"isRideStyle": ["AIR"],
"animations": [
"q.bedrock('vikavolt', 'air_idle')",
"q.bedrock('vikavolt', 'ride_air_fly')"
],
"quirks": ["q.bedrock_quirk('vikavolt', 'blink')"],
"namedAnimations": {
"cry": "q.bedrock_stateful('vikavolt', 'air_cry')",
"recoil": "q.bedrock_stateful('vikavolt', 'air_recoil')"
},
"transitions": {
"standing": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"walking": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"sleep": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))"
}
},
"mount-fly": {
"poseTypes": ["WALK", "FLY"],
"isBattle": false,
"condition": "q.has_entity ? q.is_ridden && q.riding_style == 'AIR' : 0.0",
"animations": [
"q.bedrock('vikavolt', 'air_fly')",
"q.bedrock('vikavolt', 'ride_air_fly')"
],
"quirks": ["q.bedrock_quirk('vikavolt', 'blink')"],
"namedAnimations": {
"cry": "q.bedrock_stateful('vikavolt', 'air_cry')",
"recoil": "q.bedrock_stateful('vikavolt', 'air_recoil')"
},
"transitions": {
"standing": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"walking": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"sleep": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))"
}
},
"air-sleep": {
@@ -104,7 +161,12 @@
},
"animations": [
"q.bedrock('vikavolt', 'air_sleep')"
]
],
"transitions": {
"standing": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"walking": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"sleep": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))"
}
},
"sleep": {
"poseTypes": ["SLEEP"],
@@ -117,11 +179,11 @@
"q.bedrock('vikavolt', 'sleep')"
],
"transitions": {
"hover": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))",
"fly": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))",
"battle-standing": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))",
"battle-hover": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))",
"air-sleep": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('one'))"
"hover": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))",
"fly": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))",
"battle-standing": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))",
"battle-hover": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))",
"air-sleep": "q.bedrock_primary('vikavolt', 'air_transition', q.curve('symmetrical_wide'))"
}
},
"battle-sleep": {
@@ -132,7 +194,12 @@
},
"animations": [
"q.bedrock('vikavolt', 'battle_sleep')"
]
],
"transitions": {
"standing": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"walking": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))",
"sleep": "q.bedrock_primary('vikavolt', 'ground_transition', q.curve('symmetrical_wide'))"
}
}
}
}
@@ -1,8 +1,8 @@
{
"portraitScale": 2.1,
"portraitTranslation": [-0.11, -1.29, 0],
"profileScale": 1.39,
"profileTranslation": [-0.02, -0.35, 0],
"profileScale": 1.0,
"profileTranslation": [-0.02, 0.22, 0],
"rootBone": "rookidee",
"animations": {
"cry": "q.bedrock_stateful('rookidee', 'cry')",
@@ -1,8 +1,8 @@
{
"portraitScale": 2.14,
"portraitTranslation": [ -0.38, -0.64, 0],
"profileScale": 0.47,
"profileTranslation": [ 0, 1.04, 0],
"profileScale": 0.54,
"profileTranslation": [ 0, 0.97, 0],
"rootBone": "morpeko",
"poses": {
"standing": {
@@ -0,0 +1,45 @@
{
"portraitScale": 2.0,
"portraitTranslation": [-0.2, -0.2, 0.0],
"profileScale": 0.85,
"profileTranslation": [0.0, 0.51, 0.0],
"rootBone": "squawkabilly",
"animations": {
"cry": "q.bedrock_stateful('squawkabilly', 'cry')"
},
"poses": {
"standing": {
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
"animations": ["q.look('head')", "q.bedrock('squawkabilly', 'ground_idle')"],
"quirks": ["q.bedrock_quirk('squawkabilly', 'blink')"]
},
"walking": {
"poseTypes": ["WALK", "SWIM"],
"animations": [
"q.look('head')",
"q.bedrock('squawkabilly', 'ground_walk')"
],
"quirks": ["q.bedrock_quirk('squawkabilly', 'blink')"]
},
"hover": {
"poseTypes": ["HOVER"],
"animations": [
"q.pitch_tilt('body')",
"q.look('neck', 1, 1, 70, -10, 20, -20)",
"q.look('head')",
"q.bedrock('squawkabilly', 'air_idle')"
],
"quirks": ["q.bedrock_quirk('squawkabilly', 'blink')"]
},
"fly": {
"poseTypes": ["FLY"],
"animations": [
"q.pitch_tilt('body')",
"q.look('neck', 1, 1, 70, -10, 20, -20)",
"q.look('head')",
"q.bedrock('squawkabilly', 'air_fly')"
],
"quirks": ["q.bedrock_quirk('squawkabilly', 'blink')"]
}
}
}
@@ -1,8 +1,8 @@
{
"portraitScale": 4.2,
"portraitTranslation": [0.0,-4.7,0],
"profileScale": 1.25,
"profileTranslation": [0.0,-0.15,0],
"profileScale": 1.2,
"profileTranslation": [0.0,-0.09,0],
"rootBone": "nacli",
"animations": {
"cry": "q.bedrock_stateful('nacli', 'cry')"
Loaded 100 of 974 files, more files were not shown because too many files have changed in this diff. Show more