mirror of
https://gitlab.com/cable-mc/cobblemon.git
synced 2026-10-20 22:26:24 -04:00
Compare commits
54
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0930721865 | ||
|
|
644ff1772e | ||
|
|
3c7e0bebb6 | ||
|
|
0c0eea3876 | ||
|
|
5535140bb7 | ||
|
|
9b0ca1c16b | ||
|
|
052ff59f57 | ||
|
|
40e5ef1c46 | ||
|
|
5025977d23 | ||
|
|
922006afe7 | ||
|
|
46cc7cb04d | ||
|
|
fa3e3bbb1b | ||
|
|
afbdcce337 | ||
|
|
f680682f61 | ||
|
|
4d93d1244d | ||
|
|
6a7d5d2133 | ||
|
|
98397cd1da | ||
|
|
fc5a610394 | ||
|
|
504df5d998 | ||
|
|
3b4d3ebf50 | ||
|
|
2e460e2ca2 | ||
|
|
49e4dd0298 | ||
|
|
120520f51d | ||
|
|
95e79865e5 | ||
|
|
43277d18dc | ||
|
|
2b4d9c451c | ||
|
|
7f0e2fa9d8 | ||
|
|
e165095bd5 | ||
|
|
b8708d6e10 | ||
|
|
ef536390ca | ||
|
|
28befab173 | ||
|
|
c142439d5b | ||
|
|
1ca7335654 | ||
|
|
9197d9cdcd | ||
|
|
f75813e64d | ||
|
|
1f617c76a4 | ||
|
|
ebf573aa7a | ||
|
|
75363da470 | ||
|
|
cce4b932cc | ||
|
|
0973e1ced0 | ||
|
|
e7b5c84024 | ||
|
|
4001cc2a89 | ||
|
|
a4f204a5a3 | ||
|
|
31b6be2164 | ||
|
|
0dbf73067b | ||
|
|
775703e1f5 | ||
|
|
9beee548d4 | ||
|
|
6f3894f27b | ||
|
|
bbc9a5e62e | ||
|
|
8caa82f123 | ||
|
|
546f10eca7 | ||
|
|
6f4aae8b7d | ||
|
|
01e5e74e64 | ||
|
|
b6565a5dee |
+48
-11
@@ -2,26 +2,56 @@
|
||||
## [1.8.3 (MONTH xth, 2026)](#1-8-3)
|
||||
|
||||
### Additions
|
||||
- You can now drag to select multiple Pokémon inside the PC menu.
|
||||
|
||||
### Pokémon Added
|
||||
#### Generation 4
|
||||
### New Rideable Pokémon
|
||||
- Vikavolt
|
||||
|
||||
#### Generation 5
|
||||
### Particles
|
||||
## New Move Animations
|
||||
- Water Shuriken
|
||||
|
||||
#### Generation 6
|
||||
|
||||
#### Generation 7
|
||||
|
||||
#### Generation 8
|
||||
|
||||
#### Generation 9
|
||||
### 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
|
||||
- Magby
|
||||
- Magmar
|
||||
|
||||
### 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
|
||||
- Prehistoric Eroded Pillar generates slightly more frequently
|
||||
|
||||
### Fixes
|
||||
- Fixed datapacks with item interaction evolutions that don't specify an item crashing the world on load.
|
||||
@@ -35,9 +65,16 @@
|
||||
- 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
|
||||
- Prehistoric Frozen Pond, Prehistoric Frozen Spike, and Prehistoric Lush Den now generate
|
||||
- Fixed Frogadier floating in its battle_idle animation
|
||||
- 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`)
|
||||
|
||||
@@ -260,6 +260,9 @@ object Cobblemon {
|
||||
RequestManager.onLogoff(it.player)
|
||||
serverPlayerStructs.remove(it.player.uuid)
|
||||
}
|
||||
PlatformEvents.PLAYER_RESPAWN.subscribe {
|
||||
serverPlayerStructs.remove(it.player.uuid)
|
||||
}
|
||||
PlatformEvents.PLAYER_DEATH.subscribe {
|
||||
PCLinkManager.removeLink(it.player.uuid)
|
||||
battleRegistry.getBattleByParticipatingPlayer(it.player)?.stop()
|
||||
|
||||
@@ -566,7 +566,6 @@ object CobblemonNetwork {
|
||||
list.add(PacketRegisterInfo(SwapPartyPokemonPacket.ID, SwapPartyPokemonPacket::decode, SwapPartyPokemonHandler))
|
||||
|
||||
list.add(PacketRegisterInfo(MovePCPokemonPacket.ID, MovePCPokemonPacket::decode, MovePCPokemonHandler))
|
||||
list.add(PacketRegisterInfo(MovePCPokemonBatchPacket.ID, MovePCPokemonBatchPacket::decode, MovePCPokemonBatchHandler))
|
||||
list.add(PacketRegisterInfo(MovePartyPokemonPacket.ID, MovePartyPokemonPacket::decode, MovePartyPokemonHandler))
|
||||
|
||||
list.add(PacketRegisterInfo(SwapPCPartyPokemonPacket.ID, SwapPCPartyPokemonPacket::decode, SwapPCPartyPokemonHandler))
|
||||
|
||||
@@ -29,7 +29,6 @@ import com.cobblemon.mod.common.net.messages.client.storage.pc.InitializePCPacke
|
||||
import com.cobblemon.mod.common.net.messages.client.storage.pc.MoveClientPCPokemonPacket
|
||||
import com.cobblemon.mod.common.net.messages.client.storage.pc.SetPCPokemonPacket
|
||||
import com.cobblemon.mod.common.net.messages.client.storage.pc.wallpaper.UnlockPCBoxWallpaperPacket
|
||||
import com.cobblemon.mod.common.net.messages.server.storage.pc.MovePCPokemonBatchPacket
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import com.cobblemon.mod.common.util.DataKeys
|
||||
import com.cobblemon.mod.common.util.asTranslated
|
||||
@@ -271,34 +270,6 @@ open class PCStore(
|
||||
}
|
||||
}
|
||||
|
||||
fun moveBatch(moves: List<Triple<UUID, PCPosition, PCPosition>>): Boolean {
|
||||
if (moves.isEmpty() || moves.size > MovePCPokemonBatchPacket.MAX_MOVES) return false
|
||||
if (moves.map { it.second }.toSet().size != moves.size ||
|
||||
moves.map { it.third }.toSet().size != moves.size ||
|
||||
moves.map { it.first }.toSet().size != moves.size
|
||||
) return false
|
||||
if (moves.any { (_, source, target) -> !isValidPosition(source) || !isValidPosition(target) }) return false
|
||||
|
||||
val sourcePositions = moves.mapTo(mutableSetOf()) { it.second }
|
||||
val pokemonMoves = moves.map { (pokemonID, source, target) ->
|
||||
val pokemon = get(source)?.takeIf { it.uuid == pokemonID } ?: return false
|
||||
Triple(source, target, pokemon)
|
||||
}
|
||||
if (pokemonMoves.any { (_, target, _) -> get(target) != null && target !in sourcePositions }) return false
|
||||
|
||||
pokemonMoves.forEach { (source, _, _) -> setAtPosition(source, null) }
|
||||
pokemonMoves.forEach { (_, target, pokemon) -> setAtPosition(target, pokemon) }
|
||||
|
||||
pokemonMoves.forEach { (_, _, pokemon) ->
|
||||
sendPacketToObservers(RemoveClientPokemonPacket(this, pokemon.uuid))
|
||||
}
|
||||
pokemonMoves.forEach { (_, target, pokemon) ->
|
||||
sendPacketToObservers(SetPCPokemonPacket(uuid, target) { pokemon })
|
||||
}
|
||||
pcChangeObservable.emit(Unit)
|
||||
return true
|
||||
}
|
||||
|
||||
override fun loadPositionFromNBT(nbt: CompoundTag): StoreCoordinates<PCPosition> {
|
||||
return StoreCoordinates(this, PCPosition(nbt.getShort(DataKeys.STORE_BOX).toInt(), nbt.getByte(DataKeys.STORE_SLOT).toInt()))
|
||||
}
|
||||
|
||||
@@ -29,8 +29,7 @@ class BoxStorageSlot(
|
||||
|
||||
val grabbedSlot = parent.grabbedSlot
|
||||
return if (grabbedSlot == null) {
|
||||
val pokemon = getPokemon()
|
||||
pokemon == null || !parent.isInMultiSelection(pokemon, position)
|
||||
true
|
||||
} else {
|
||||
grabbedSlot.getPokemon() != getPokemon()
|
||||
}
|
||||
|
||||
@@ -50,7 +50,6 @@ import net.minecraft.network.chat.Component
|
||||
import net.minecraft.sounds.SoundEvent
|
||||
import kotlin.isInitialized
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.util.FastColor
|
||||
|
||||
class PCGUI(
|
||||
val pc: ClientPC,
|
||||
@@ -130,55 +129,6 @@ class PCGUI(
|
||||
var selectPointerOffsetIncrement = false
|
||||
var displayOptions = false
|
||||
|
||||
private var dragStartX: Int? = null
|
||||
private var dragStartY: Int? = null
|
||||
private var dragEndX: Int? = null
|
||||
private var dragEndY: Int? = null
|
||||
private var selectionDragActive = false
|
||||
|
||||
data class SelectionArea(val left: Int, val top: Int, val right: Int, val bottom: Int)
|
||||
|
||||
private data class BoxGridBounds(val left: Int, val top: Int, val right: Int, val bottom: Int) {
|
||||
fun contains(x: Int, y: Int) = x in left..< right && y >= top && y < bottom
|
||||
}
|
||||
|
||||
private fun getBoxGridBounds(): BoxGridBounds {
|
||||
val left = storageWidget.x
|
||||
val top = storageWidget.y
|
||||
return BoxGridBounds(
|
||||
left,
|
||||
top,
|
||||
left + StorageWidget.SCREEN_WIDTH,
|
||||
top + StorageWidget.SCREEN_HEIGHT
|
||||
)
|
||||
}
|
||||
|
||||
fun getSelectionArea(): SelectionArea? {
|
||||
if (!selectionDragActive) return null
|
||||
val startX = dragStartX ?: return null
|
||||
val startY = dragStartY ?: return null
|
||||
val endX = dragEndX ?: return null
|
||||
val endY = dragEndY ?: return null
|
||||
val bounds = getBoxGridBounds()
|
||||
if (!bounds.contains(startX, startY)) return null
|
||||
|
||||
val columns = 6
|
||||
val rows = 5
|
||||
val slotPitch = StorageSlot.SIZE + StorageWidget.BOX_SLOT_PADDING
|
||||
val gridLeft = bounds.left + StorageWidget.BOX_SLOT_START_OFFSET_X
|
||||
val gridTop = bounds.top + StorageWidget.BOX_SLOT_START_OFFSET_Y + if (displayOptions) 5 else 0
|
||||
val startColumn = ((startX - gridLeft) / slotPitch).coerceIn(0, columns - 1)
|
||||
val endColumn = (((endX.coerceIn(bounds.left, bounds.right - 1)) - gridLeft) / slotPitch).coerceIn(0, columns - 1)
|
||||
val startRow = ((startY - gridTop) / slotPitch).coerceIn(0, rows - 1)
|
||||
val endRow = (((endY.coerceIn(bounds.top, bounds.bottom - 1)) - gridTop) / slotPitch).coerceIn(0, rows - 1)
|
||||
return SelectionArea(
|
||||
gridLeft + minOf(startColumn, endColumn) * slotPitch, // left
|
||||
gridTop + minOf(startRow, endRow) * slotPitch, // top
|
||||
gridLeft + (maxOf(startColumn, endColumn) * slotPitch) + StorageSlot.SIZE, // right
|
||||
gridTop + (maxOf(startRow, endRow) * slotPitch) + StorageSlot.SIZE // bottom
|
||||
)
|
||||
}
|
||||
|
||||
override fun renderBlurredBackground(delta: Float) {}
|
||||
|
||||
override fun renderMenuBackground(context: GuiGraphics) {}
|
||||
@@ -300,7 +250,7 @@ class PCGUI(
|
||||
configuration.showParty = isVisible
|
||||
wallpaperWidget.visible = !isVisible
|
||||
(it as IconButton).highlighted = !isVisible
|
||||
if (unseenWallpapers.isNotEmpty()) MarkPCBoxWallpapersSeenPacket(unseenWallpapers).sendToServer()
|
||||
if (!unseenWallpapers.isEmpty()) MarkPCBoxWallpapersSeenPacket(unseenWallpapers).sendToServer()
|
||||
}.also {
|
||||
it.visible = displayOptions
|
||||
optionButtons.add(it)
|
||||
@@ -365,20 +315,6 @@ class PCGUI(
|
||||
super.init()
|
||||
}
|
||||
|
||||
private fun renderSelectionBox(context: GuiGraphics, area: SelectionArea) {
|
||||
context.pose().pushPose()
|
||||
context.pose().translate(0.0, 0.0, 1500.0)
|
||||
val borderColor = FastColor.ARGB32.color(255, 205, 212, 255)
|
||||
val bgColor = FastColor.ARGB32.color(75, 133, 183, 230)
|
||||
val thickness = 1
|
||||
context.fill(area.left, area.top, area.right, area.bottom, bgColor)
|
||||
context.fill(area.left, area.top, area.right, area.top + thickness, borderColor)
|
||||
context.fill(area.left, area.bottom - thickness, area.right, area.bottom, borderColor)
|
||||
context.fill(area.left, area.top, area.left + thickness, area.bottom, borderColor)
|
||||
context.fill(area.right - thickness, area.top, area.right, area.bottom, borderColor)
|
||||
context.pose().popPose()
|
||||
}
|
||||
|
||||
override fun render(context: GuiGraphics, mouseX: Int, mouseY: Int, delta: Float) {
|
||||
val matrices = context.pose()
|
||||
renderBackground(context, mouseX, mouseY, delta)
|
||||
@@ -749,14 +685,12 @@ class PCGUI(
|
||||
scale = SCALE
|
||||
)
|
||||
|
||||
if (optionButtons.isNotEmpty() && displayOptions) {
|
||||
if (!optionButtons.isEmpty() && displayOptions) {
|
||||
for (button in optionButtons) button.showAlt = hasShiftDown()
|
||||
}
|
||||
|
||||
super.render(context, mouseX, mouseY, delta)
|
||||
|
||||
getSelectionArea()?.let { renderSelectionBox(context, it) }
|
||||
|
||||
// Item Tooltip
|
||||
if (pokemon != null) {
|
||||
val displayedItem = if (showCosmeticItem) pokemon.cosmeticItem else pokemon.heldItemNoCopy()
|
||||
@@ -778,20 +712,6 @@ class PCGUI(
|
||||
}
|
||||
|
||||
override fun mouseClicked(mouseX: Double, mouseY: Double, button: Int): Boolean {
|
||||
storageWidget.clearPendingStorageSlotClick()
|
||||
selectionDragActive = false
|
||||
val clickX = mouseX.toInt()
|
||||
val clickY = mouseY.toInt()
|
||||
if (storageWidget.multiSelection == null && button == 0 &&
|
||||
getBoxGridBounds().contains(clickX, clickY) &&
|
||||
storageWidget.pastureWidget == null) {
|
||||
dragStartX = clickX
|
||||
dragStartY = clickY
|
||||
} else {
|
||||
dragStartX = null
|
||||
dragStartY = null
|
||||
}
|
||||
|
||||
// Trigger child component function as they will need to check the entire screen click area
|
||||
if (::boxNameWidget.isInitialized) boxNameWidget.mouseClicked(mouseX, mouseY, button)
|
||||
return super.mouseClicked(mouseX, mouseY, button)
|
||||
@@ -820,43 +740,9 @@ class PCGUI(
|
||||
storageWidget.pastureWidget?.let { pasture ->
|
||||
if (pasture.pastureScrollList.isHovered) pasture.pastureScrollList.mouseDragged(mouseX, mouseY, button, deltaX, deltaY)
|
||||
}
|
||||
if (button == 0 && storageWidget.pastureWidget == null) {
|
||||
val startX = dragStartX
|
||||
val startY = dragStartY
|
||||
if (startX != null && startY != null) {
|
||||
val offsetX = mouseX - startX
|
||||
val offsetY = mouseY - startY
|
||||
if (offsetX * offsetX + offsetY * offsetY >= 25.0) {
|
||||
selectionDragActive = true
|
||||
storageWidget.clearPendingStorageSlotClick()
|
||||
dragEndX = mouseX.toInt()
|
||||
dragEndY = mouseY.toInt()
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.mouseDragged(mouseX, mouseY, button, deltaX, deltaY)
|
||||
}
|
||||
|
||||
override fun mouseReleased(mouseX: Double, mouseY: Double, button: Int): Boolean {
|
||||
val handled = super.mouseReleased(mouseX, mouseY, button)
|
||||
if (button == 0) {
|
||||
if (selectionDragActive) {
|
||||
dragEndX = mouseX.toInt()
|
||||
dragEndY = mouseY.toInt()
|
||||
storageWidget.updateSelection()
|
||||
storageWidget.clearPendingStorageSlotClick()
|
||||
} else {
|
||||
storageWidget.completePendingStorageSlotClick(mouseX, mouseY)
|
||||
}
|
||||
}
|
||||
dragStartX = null
|
||||
dragStartY = null
|
||||
dragEndX = null
|
||||
dragEndY = null
|
||||
selectionDragActive = false
|
||||
return handled
|
||||
}
|
||||
|
||||
override fun keyPressed(keyCode: Int, scanCode: Int, modifiers: Int): Boolean {
|
||||
val boxNameFocused = this::boxNameWidget.isInitialized && boxNameWidget.isFocused
|
||||
val filterFocused = this::filterWidget.isInitialized && filterWidget.isFocused
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
package com.cobblemon.mod.common.client.gui.pc
|
||||
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
|
||||
data class PCMultiSelection(
|
||||
private val grid: MutableList<MutableList<Pokemon?>> = mutableListOf(),
|
||||
val sourceBox: Int = 0,
|
||||
val sourceColumn: Int = 0,
|
||||
val sourceRow: Int = 0
|
||||
) {
|
||||
fun getHorizontalSize(): Int = grid.firstOrNull()?.size ?: 0
|
||||
fun getVerticalSize(): Int = grid.size
|
||||
|
||||
constructor(horizontalSize: Int, verticalSize: Int, sourceBox: Int, sourceColumn: Int, sourceRow: Int) : this(
|
||||
MutableList(verticalSize) { MutableList<Pokemon?>(horizontalSize) { null } },
|
||||
sourceBox,
|
||||
sourceColumn,
|
||||
sourceRow
|
||||
)
|
||||
|
||||
fun getPokemon(x: Int, y: Int): Pokemon? {
|
||||
return grid[y][x]
|
||||
}
|
||||
|
||||
fun setPokemon(x: Int, y: Int, pokemon: Pokemon?) {
|
||||
grid[y][x] = pokemon
|
||||
}
|
||||
|
||||
fun pokemonEntries(): List<Triple<Int, Int, Pokemon>> {
|
||||
return grid.flatMapIndexed { y, row ->
|
||||
row.mapIndexedNotNull { x, pokemon -> pokemon?.let { Triple(x, y, it) } }
|
||||
}
|
||||
}
|
||||
|
||||
fun getPokemonCount(): Int = pokemonEntries().size
|
||||
|
||||
}
|
||||
@@ -45,13 +45,11 @@ class ReleaseButton(
|
||||
vOffset = if (isHovered(mouseX.toDouble(), mouseY.toDouble())) HEIGHT else 0,
|
||||
textureHeight = HEIGHT * 2
|
||||
)
|
||||
val pokemonCount = parent.multiSelection?.getPokemonCount() ?: 0
|
||||
|
||||
drawScaledText(
|
||||
context = context,
|
||||
font = CobblemonResources.DEFAULT_LARGE,
|
||||
text = if (pokemonCount > 1)
|
||||
{ lang("ui.pc.release_all").bold() } else { lang("ui.pc.release").bold() },
|
||||
text = lang("ui.pc.release").bold(),
|
||||
x = x + (WIDTH / 2),
|
||||
y = y + 3.5,
|
||||
centered = true,
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
package com.cobblemon.mod.common.client.gui.pc
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.api.gui.ColourLibrary
|
||||
import com.cobblemon.mod.common.api.gui.blitk
|
||||
import com.cobblemon.mod.common.client.gui.CobblemonRenderable
|
||||
import com.cobblemon.mod.common.client.gui.drawProfilePokemon
|
||||
@@ -55,17 +54,9 @@ open class StorageSlot(
|
||||
}
|
||||
|
||||
override fun renderWidget(context: GuiGraphics, mouseX: Int, mouseY: Int, delta: Float) {
|
||||
val selectionArea = parent.pcGui.getSelectionArea()
|
||||
if (selectionArea != null && parent.getSelectedPokemon(selectionArea).contains(this)) {
|
||||
val highlightColor = 0x40FFFFFF
|
||||
context.fill(x + 1, y, x + (SIZE - 1), y + SIZE, highlightColor)
|
||||
context.fill(x, y + 1, x + 1, y + (SIZE - 1), highlightColor)
|
||||
context.fill(x + SIZE - 1, y + 1, x + SIZE, y + (SIZE - 1), highlightColor)
|
||||
}
|
||||
if (shouldRender()) {
|
||||
renderSlot(context, x, y, delta)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun renderSlot(context: GuiGraphics, posX: Int, posY: Int, partialTicks: Float) {
|
||||
|
||||
@@ -11,6 +11,7 @@ package com.cobblemon.mod.common.client.gui.pc
|
||||
import com.cobblemon.mod.common.CobblemonNetwork
|
||||
import com.cobblemon.mod.common.CobblemonSounds
|
||||
import com.cobblemon.mod.common.api.gui.blitk
|
||||
import com.cobblemon.mod.common.api.storage.StorePosition
|
||||
import com.cobblemon.mod.common.api.storage.party.PartyPosition
|
||||
import com.cobblemon.mod.common.api.storage.pc.PCPosition
|
||||
import com.cobblemon.mod.common.api.text.bold
|
||||
@@ -38,9 +39,8 @@ import net.minecraft.client.gui.components.Button
|
||||
import net.minecraft.client.gui.screens.Screen
|
||||
import net.minecraft.client.resources.sounds.SimpleSoundInstance
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.sounds.SoundEvent
|
||||
import java.util.UUID
|
||||
import com.cobblemon.mod.common.net.messages.server.storage.pc.MovePCPokemonBatchPacket.PCPokemonMove
|
||||
|
||||
class StorageWidget(
|
||||
pX: Int, pY: Int,
|
||||
@@ -77,13 +77,9 @@ class StorageWidget(
|
||||
|
||||
var displayConfirmRelease = false
|
||||
var screenLoaded = false
|
||||
var selectedPosition: PartyPosition? = null
|
||||
var selectedPosition: StorePosition? = null
|
||||
var grabbedSlot: GrabbedStorageSlot? = null
|
||||
|
||||
var multiSelection: PCMultiSelection? = null
|
||||
private val multiGrabbedSlots = mutableMapOf<UUID, GrabbedStorageSlot>()
|
||||
private var pendingStorageSlotClick: Button? = null
|
||||
|
||||
var box = 0
|
||||
set(value) {
|
||||
field =
|
||||
@@ -117,22 +113,16 @@ class StorageWidget(
|
||||
subKey = "ui.generic.yes",
|
||||
onPress = {
|
||||
if (canDeleteSelected() && displayConfirmRelease) {
|
||||
val selection = multiSelection
|
||||
if (selection != null) {
|
||||
selection.pokemonEntries().forEach { (column, row, pokemon) ->
|
||||
val position = PCPosition(
|
||||
selection.sourceBox,
|
||||
(selection.sourceRow + row) * 6 + selection.sourceColumn + column
|
||||
)
|
||||
CobblemonNetwork.sendToServer(ReleasePCPokemonPacket(pokemon.uuid, position))
|
||||
}
|
||||
} else {
|
||||
val position = selectedPosition ?: return@ReleaseConfirmButton
|
||||
val pokemon = getSelectedPokemon() ?: return@ReleaseConfirmButton
|
||||
val position = selectedPosition ?: return@ReleaseConfirmButton
|
||||
val pokemon = getSelectedPokemon() ?: return@ReleaseConfirmButton
|
||||
|
||||
CobblemonNetwork.sendToServer(ReleasePartyPokemonPacket(pokemon.uuid, position))
|
||||
val packet = when (position) {
|
||||
is PartyPosition -> ReleasePartyPokemonPacket(pokemon.uuid, position)
|
||||
is PCPosition -> ReleasePCPokemonPacket(pokemon.uuid, position)
|
||||
else -> return@ReleaseConfirmButton
|
||||
}
|
||||
|
||||
CobblemonNetwork.sendToServer(packet)
|
||||
playSound(CobblemonSounds.PC_RELEASE)
|
||||
resetSelected()
|
||||
displayConfirmRelease = false
|
||||
@@ -159,8 +149,9 @@ class StorageWidget(
|
||||
}
|
||||
|
||||
fun canDeleteSelected(): Boolean {
|
||||
multiSelection?.let { return it.pokemonEntries().isNotEmpty() }
|
||||
return party.filterNotNull().size > 1 && selectedPosition != null && grabbedSlot != null
|
||||
return !(selectedPosition is PartyPosition && party.filterNotNull().size <= 1)
|
||||
&& selectedPosition != null
|
||||
&& grabbedSlot != null
|
||||
}
|
||||
|
||||
fun setupStorageSlots() {
|
||||
@@ -179,7 +170,7 @@ class StorageWidget(
|
||||
parent = this,
|
||||
pc = pc,
|
||||
position = PCPosition(box, index),
|
||||
onPress = { pendingStorageSlotClick = it }
|
||||
onPress = { this.onStorageSlotClicked(it) }
|
||||
).also { widget ->
|
||||
this.addWidget(widget)
|
||||
this.boxSlots.add(widget)
|
||||
@@ -209,7 +200,7 @@ class StorageWidget(
|
||||
parent = this,
|
||||
party = party,
|
||||
position = PartyPosition(partyIndex),
|
||||
onPress = { pendingStorageSlotClick = it }
|
||||
onPress = { this.onStorageSlotClicked(it) }
|
||||
).also { widget ->
|
||||
this.addWidget(widget)
|
||||
this.partySlots.add(widget)
|
||||
@@ -219,115 +210,13 @@ class StorageWidget(
|
||||
|
||||
private fun getSelectedPokemon(): Pokemon? {
|
||||
val selectedPosition = this.selectedPosition ?: return null
|
||||
return party.get(selectedPosition)
|
||||
}
|
||||
|
||||
fun getSelectedPokemon(area: PCGUI.SelectionArea): List<BoxStorageSlot> {
|
||||
return boxSlots.filter { slot ->
|
||||
slot.x < area.right && slot.x + StorageSlot.SIZE > area.left &&
|
||||
slot.y < area.bottom && slot.y + StorageSlot.SIZE > area.top &&
|
||||
slot.getPokemon()?.let(pcGui.search::passes) == true
|
||||
return when (selectedPosition) {
|
||||
is PCPosition -> pc.get(selectedPosition)
|
||||
is PartyPosition -> party.get(selectedPosition)
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
fun clearPendingStorageSlotClick() {
|
||||
pendingStorageSlotClick = null
|
||||
}
|
||||
|
||||
fun completePendingStorageSlotClick(mouseX: Double, mouseY: Double) {
|
||||
val button = pendingStorageSlotClick ?: return
|
||||
pendingStorageSlotClick = null
|
||||
if (button.isMouseOver(mouseX, mouseY)) {
|
||||
onStorageSlotClicked(button)
|
||||
}
|
||||
}
|
||||
|
||||
fun updateSelection() {
|
||||
val area = pcGui.getSelectionArea()
|
||||
if (area == null) {
|
||||
multiSelection = null
|
||||
return
|
||||
}
|
||||
|
||||
selectedPosition = null
|
||||
grabbedSlot = null
|
||||
pcGui.setPreviewPokemon(null)
|
||||
|
||||
val selectedSlots = getSelectedPokemon(area)
|
||||
if (selectedSlots.isEmpty()) {
|
||||
multiSelection = null
|
||||
return
|
||||
}
|
||||
|
||||
val minColumn = selectedSlots.minOf { it.position.slot % 6 }
|
||||
val maxColumn = selectedSlots.maxOf { it.position.slot % 6 }
|
||||
val minRow = selectedSlots.minOf { it.position.slot / 6 }
|
||||
val maxRow = selectedSlots.maxOf { it.position.slot / 6 }
|
||||
val selection = PCMultiSelection(maxColumn - minColumn + 1, maxRow - minRow + 1, box, minColumn, minRow)
|
||||
|
||||
selectedSlots.forEach { slot ->
|
||||
val pokemon = slot.getPokemon() ?: return@forEach
|
||||
val slotIndex = slot.position.slot
|
||||
val column = slotIndex % 6
|
||||
val row = slotIndex / 6
|
||||
if (column in minColumn..maxColumn && row in minRow..maxRow) {
|
||||
selection.setPokemon(column - minColumn, row - minRow, pokemon)
|
||||
}
|
||||
}
|
||||
playSound(CobblemonSounds.PC_GRAB)
|
||||
|
||||
multiSelection = selection
|
||||
}
|
||||
|
||||
private fun moveMultiSelectionTo(destination: PCPosition): Boolean {
|
||||
val selection = multiSelection ?: return false
|
||||
|
||||
val width = selection.getHorizontalSize()
|
||||
val height = selection.getVerticalSize()
|
||||
val destinationColumn = destination.slot % 6
|
||||
val destinationRow = destination.slot / 6
|
||||
if (destinationColumn + width > 6 || destinationRow + height > 5) return false
|
||||
|
||||
val moves = mutableListOf<PCPokemonMove>()
|
||||
val selectedSources = mutableSetOf<PCPosition>()
|
||||
for (row in 0 until height) {
|
||||
for (column in 0 until width) {
|
||||
val pokemon = selection.getPokemon(column, row) ?: continue
|
||||
val source = PCPosition(selection.sourceBox, (selection.sourceRow + row) * 6 + selection.sourceColumn + column)
|
||||
val target = PCPosition(destination.box, (destinationRow + row) * 6 + destinationColumn + column)
|
||||
selectedSources.add(source)
|
||||
moves.add(PCPokemonMove(pokemon.uuid, source, target))
|
||||
}
|
||||
}
|
||||
|
||||
if (moves.isEmpty()) return false
|
||||
|
||||
for (row in 0 until height) {
|
||||
for (column in 0 until width) {
|
||||
if (selection.getPokemon(column, row) == null) continue
|
||||
val target = PCPosition(destination.box, (destinationRow + row) * 6 + destinationColumn + column)
|
||||
val displacedPokemon = pc.get(target) ?: continue
|
||||
if (target in selectedSources) continue
|
||||
|
||||
val displacedSource = PCPosition(
|
||||
selection.sourceBox,
|
||||
(selection.sourceRow + row) * 6 + selection.sourceColumn + column
|
||||
)
|
||||
if (pc.get(displacedSource) != null && displacedSource !in selectedSources) return false
|
||||
moves.add(PCPokemonMove(displacedPokemon.uuid, target, displacedSource))
|
||||
}
|
||||
}
|
||||
|
||||
if (moves.map { it.newPosition }.toSet().size != moves.size) return false
|
||||
MovePCPokemonBatchPacket(moves).sendToServer()
|
||||
return true
|
||||
}
|
||||
|
||||
fun isInMultiSelection(pokemon: Pokemon, position: PCPosition): Boolean {
|
||||
val selection = multiSelection ?: return false
|
||||
return selection.sourceBox == position.box && selection.pokemonEntries().any { it.third == pokemon }
|
||||
}
|
||||
|
||||
override fun renderWidget(context: GuiGraphics, mouseX: Int, mouseY: Int, delta: Float) {
|
||||
val matrices = context.pose()
|
||||
// Party Label
|
||||
@@ -351,14 +240,11 @@ class StorageWidget(
|
||||
shadow = true
|
||||
)
|
||||
|
||||
val pokemonCount = multiSelection?.getPokemonCount() ?: 0
|
||||
|
||||
if (canDeleteSelected() && displayConfirmRelease) {
|
||||
drawScaledText(
|
||||
context = context,
|
||||
font = CobblemonResources.DEFAULT_LARGE,
|
||||
text = if (pokemonCount > 1)
|
||||
{ lang("ui.pc.release_all").bold() } else { lang("ui.pc.release").bold() },
|
||||
text = lang("ui.pc.release").bold(),
|
||||
x = x + 223,
|
||||
y = y + 119,
|
||||
centered = true
|
||||
@@ -422,7 +308,6 @@ class StorageWidget(
|
||||
slot.render(context, mouseX, mouseY, delta)
|
||||
val pokemon = slot.getPokemon()
|
||||
if (grabbedSlot == null && slot.isHovered(mouseX, mouseY)
|
||||
&& multiSelection == null
|
||||
&& pokemon != null && pokemon != pcGui.previewPokemon
|
||||
) {
|
||||
pcGui.setPreviewPokemon(pokemon, pcGui.isPreviewInParty ?: false)
|
||||
@@ -439,7 +324,6 @@ class StorageWidget(
|
||||
slot.render(context, mouseX, mouseY, delta)
|
||||
val pokemon = slot.getPokemon()
|
||||
if (grabbedSlot == null && slot.isHovered(mouseX, mouseY)
|
||||
&& multiSelection == null
|
||||
&& pokemon != null && pokemon != pcGui.previewPokemon
|
||||
) {
|
||||
pcGui.setPreviewPokemon(pokemon, pcGui.isPreviewInParty ?: true)
|
||||
@@ -451,31 +335,10 @@ class StorageWidget(
|
||||
pastureWidget?.render(context, mouseX, mouseY, delta)
|
||||
matrices.pushPose()
|
||||
matrices.translate(0.0, 0.0, 1000.0)
|
||||
renderSelectedPokemon(context, mouseX, mouseY, delta)
|
||||
grabbedSlot?.render(context, mouseX, mouseY, delta)
|
||||
matrices.popPose()
|
||||
}
|
||||
|
||||
private fun renderSelectedPokemon(context: GuiGraphics, mouseX: Int, mouseY: Int, delta: Float) {
|
||||
val selection = multiSelection
|
||||
if (selection == null) {
|
||||
grabbedSlot?.render(context, mouseX, mouseY, delta)
|
||||
return
|
||||
}
|
||||
|
||||
val slotOffset = StorageSlot.SIZE + BOX_SLOT_PADDING
|
||||
selection.pokemonEntries().forEach { (column, row, pokemon) ->
|
||||
val grabbed = multiGrabbedSlots.getOrPut(pokemon.uuid) {
|
||||
GrabbedStorageSlot(0, 0, this, pokemon)
|
||||
}
|
||||
grabbed.render(
|
||||
context,
|
||||
mouseX + column * slotOffset,
|
||||
mouseY + row * slotOffset,
|
||||
delta
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun mouseClicked(pMouseX: Double, pMouseY: Double, pButton: Int): Boolean {
|
||||
if (displayConfirmRelease) {
|
||||
if (releaseYesButton.isHovered(pMouseX, pMouseY)) releaseYesButton.mouseClicked(pMouseX, pMouseY, pButton)
|
||||
@@ -508,55 +371,23 @@ class StorageWidget(
|
||||
else -> return
|
||||
}
|
||||
|
||||
val clickedPokemon = when (clickedPosition) {
|
||||
is PCPosition -> pc.get(clickedPosition)
|
||||
is PartyPosition -> party.get(clickedPosition)
|
||||
else -> null
|
||||
}
|
||||
|
||||
multiSelection?.let { selection ->
|
||||
when (clickedPosition) {
|
||||
is PCPosition -> {
|
||||
if (clickedPosition.box == selection.sourceBox &&
|
||||
clickedPosition.slot == selection.sourceRow * 6 + selection.sourceColumn
|
||||
) {
|
||||
resetSelected()
|
||||
} else if (moveMultiSelectionTo(clickedPosition)) {
|
||||
playSound(CobblemonSounds.PC_DROP)
|
||||
resetSelected()
|
||||
}
|
||||
}
|
||||
is PartyPosition -> {
|
||||
val selectedPokemon = selection.pokemonEntries().singleOrNull() ?: return
|
||||
val (column, row, pokemon) = selectedPokemon
|
||||
val source = PCPosition(
|
||||
selection.sourceBox,
|
||||
(selection.sourceRow + row) * 6 + selection.sourceColumn + column
|
||||
)
|
||||
if (pc.get(source) !== pokemon) return
|
||||
val packet = clickedPokemon?.let {
|
||||
SwapPCPartyPokemonPacket(it.uuid, clickedPosition, pokemon.uuid, source)
|
||||
} ?: MovePCPokemonToPartyPacket(pokemon.uuid, source, clickedPosition)
|
||||
packet.sendToServer()
|
||||
playSound(CobblemonSounds.PC_DROP)
|
||||
resetSelected()
|
||||
}
|
||||
else -> Unit
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Reset release confirmation
|
||||
displayConfirmRelease = false
|
||||
|
||||
// Clicking on itself, so unselect position
|
||||
if (selectedPosition == clickedPosition) {
|
||||
if (this.selectedPosition != null && this.selectedPosition == clickedPosition) {
|
||||
if (grabbedSlot != null) playSound(CobblemonSounds.PC_DROP)
|
||||
resetSelected()
|
||||
return
|
||||
}
|
||||
|
||||
// Check for selecting a Pokémon
|
||||
val clickedPokemon = when(button) {
|
||||
is BoxStorageSlot -> pc.get(clickedPosition as PCPosition)
|
||||
is PartyStorageSlot -> party.get(clickedPosition as PartyPosition)
|
||||
else -> null
|
||||
}
|
||||
|
||||
val selectOverride = pcGui.configuration.selectOverride
|
||||
if (selectOverride != null) {
|
||||
selectOverride(pcGui, clickedPosition, clickedPokemon)
|
||||
@@ -589,44 +420,56 @@ class StorageWidget(
|
||||
}
|
||||
}
|
||||
|
||||
if (clickedPosition is PCPosition) {
|
||||
val column = clickedPosition.slot % 6
|
||||
val row = clickedPosition.slot / 6
|
||||
multiSelection = PCMultiSelection(1, 1, clickedPosition.box, column, row).also {
|
||||
it.setPokemon(0, 0, clickedPokemon)
|
||||
}
|
||||
playSound(CobblemonSounds.PC_GRAB)
|
||||
return
|
||||
} else if (clickedPosition is PartyPosition) {
|
||||
this.selectedPosition = clickedPosition
|
||||
this.pcGui.setPreviewPokemon(clickedPokemon, pcGui.isPreviewInParty ?: false)
|
||||
grabbedSlot = GrabbedStorageSlot(
|
||||
x = button.x,
|
||||
y = button.y,
|
||||
parent = this,
|
||||
pokemon = clickedPokemon
|
||||
)
|
||||
playSound(CobblemonSounds.PC_GRAB)
|
||||
}
|
||||
this.selectedPosition = clickedPosition
|
||||
this.pcGui.setPreviewPokemon(clickedPokemon, pcGui.isPreviewInParty ?: false)
|
||||
grabbedSlot = GrabbedStorageSlot(
|
||||
x = button.x,
|
||||
y = button.y,
|
||||
parent = this,
|
||||
pokemon = clickedPokemon
|
||||
)
|
||||
playSound(CobblemonSounds.PC_GRAB)
|
||||
|
||||
}
|
||||
} else {
|
||||
val sourcePosition = selectedPosition ?: return
|
||||
val selectedPokemon = party.get(sourcePosition) ?: return
|
||||
// Handle movement within the Box
|
||||
val selectedPokemon = when(this.selectedPosition) {
|
||||
is PCPosition -> pc.get(this.selectedPosition as PCPosition)
|
||||
is PartyPosition -> party.get(this.selectedPosition as PartyPosition)
|
||||
else -> null
|
||||
} ?: return
|
||||
|
||||
// Box to Box
|
||||
if (this.selectedPosition is PCPosition && clickedPosition is PCPosition) {
|
||||
val packet = clickedPokemon?.let { SwapPCPokemonPacket(it.uuid, clickedPosition, selectedPokemon.uuid, this.selectedPosition as PCPosition) }
|
||||
?: MovePCPokemonPacket(selectedPokemon.uuid, selectedPosition as PCPosition, clickedPosition)
|
||||
packet.sendToServer()
|
||||
playSound(CobblemonSounds.PC_DROP)
|
||||
resetSelected()
|
||||
}
|
||||
// Box to Party
|
||||
else if (this.selectedPosition is PCPosition && clickedPosition is PartyPosition) {
|
||||
val packet = clickedPokemon?.let { SwapPCPartyPokemonPacket(clickedPokemon.uuid, clickedPosition, selectedPokemon.uuid, this.selectedPosition as PCPosition) }
|
||||
?: MovePCPokemonToPartyPacket(selectedPokemon.uuid, this.selectedPosition as PCPosition, clickedPosition)
|
||||
packet.sendToServer()
|
||||
playSound(CobblemonSounds.PC_DROP)
|
||||
resetSelected()
|
||||
}
|
||||
// Party to Box
|
||||
if (clickedPosition is PCPosition) {
|
||||
else if (this.selectedPosition is PartyPosition && clickedPosition is PCPosition) {
|
||||
if (ServerSettings.preventCompletePartyDeposit && this.party.filterNotNull().size == 1 && clickedPokemon == null) {
|
||||
return
|
||||
}
|
||||
val packet = clickedPokemon?.let { SwapPCPartyPokemonPacket(selectedPokemon.uuid, sourcePosition, clickedPokemon.uuid, clickedPosition) }
|
||||
?: MovePartyPokemonToPCPacket(selectedPokemon.uuid, sourcePosition, clickedPosition)
|
||||
val packet = clickedPokemon?.let { SwapPCPartyPokemonPacket(selectedPokemon.uuid, this.selectedPosition as PartyPosition, clickedPokemon.uuid, clickedPosition) }
|
||||
?: MovePartyPokemonToPCPacket(selectedPokemon.uuid, this.selectedPosition as PartyPosition, clickedPosition)
|
||||
packet.sendToServer()
|
||||
playSound(CobblemonSounds.PC_DROP)
|
||||
resetSelected()
|
||||
}
|
||||
// Party to Party
|
||||
else if (clickedPosition is PartyPosition) {
|
||||
val packet = clickedPokemon?.let { SwapPartyPokemonPacket(it.uuid, clickedPosition, selectedPokemon.uuid, sourcePosition) }
|
||||
?: MovePartyPokemonPacket(selectedPokemon.uuid, sourcePosition, clickedPosition)
|
||||
else if (this.selectedPosition is PartyPosition && clickedPosition is PartyPosition) {
|
||||
val packet = clickedPokemon?.let { SwapPartyPokemonPacket(it.uuid, clickedPosition, selectedPokemon.uuid, this.selectedPosition as PartyPosition) }
|
||||
?: MovePartyPokemonPacket(selectedPokemon.uuid, selectedPosition as PartyPosition, clickedPosition)
|
||||
packet.sendToServer()
|
||||
playSound(CobblemonSounds.PC_DROP)
|
||||
resetSelected()
|
||||
@@ -637,8 +480,6 @@ class StorageWidget(
|
||||
fun resetSelected() {
|
||||
selectedPosition = null
|
||||
grabbedSlot = null
|
||||
multiSelection = null
|
||||
multiGrabbedSlots.clear()
|
||||
pcGui.setPreviewPokemon(null)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+3
@@ -12,6 +12,7 @@ import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.PokemonP
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.frame.HeadedFrame
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.pose.Pose
|
||||
import com.cobblemon.mod.common.entity.PoseType
|
||||
import com.cobblemon.mod.common.util.asExpressionLike
|
||||
import net.minecraft.client.model.geom.ModelPart
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
@@ -28,6 +29,8 @@ class MasquerainModel(root: ModelPart) : PokemonPosableModel(root), HeadedFrame
|
||||
lateinit var walk: Pose
|
||||
lateinit var standing: Pose
|
||||
override fun registerPoses() {
|
||||
animations["cry"] = "q.bedrock_stateful('masquerain', 'cry')".asExpressionLike()
|
||||
|
||||
val blink = quirk { bedrockStateful("masquerain", "blink") }
|
||||
standing = registerPose(
|
||||
poseName = "standing",
|
||||
|
||||
+3
@@ -14,6 +14,7 @@ import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.PokemonP
|
||||
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.entity.PoseType
|
||||
import com.cobblemon.mod.common.util.asExpressionLike
|
||||
import com.cobblemon.mod.common.util.isInWater
|
||||
import net.minecraft.client.model.geom.ModelPart
|
||||
import net.minecraft.world.phys.Vec3
|
||||
@@ -36,6 +37,8 @@ class SurskitModel(root: ModelPart) : PokemonPosableModel(root), HeadedFrame {
|
||||
val wateroffset = -8
|
||||
|
||||
override fun registerPoses() {
|
||||
animations["cry"] = "q.bedrock_stateful('surskit', 'cry')".asExpressionLike()
|
||||
|
||||
val blink = quirk { bedrockStateful("surskit", "blink") }
|
||||
standing = registerPose(
|
||||
poseName = "standing",
|
||||
|
||||
+3
@@ -14,6 +14,7 @@ import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.PokemonP
|
||||
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.entity.PoseType
|
||||
import com.cobblemon.mod.common.util.asExpressionLike
|
||||
import net.minecraft.client.model.geom.ModelPart
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
@@ -36,6 +37,8 @@ class CombeeModel (root: ModelPart) : PokemonPosableModel(root) {
|
||||
val shoulderZOffset = 8
|
||||
|
||||
override fun registerPoses() {
|
||||
animations["cry"] = "q.bedrock_stateful('combee', 'cry')".asExpressionLike()
|
||||
|
||||
val blink1 = quirk { bedrockStateful("combee", "blink_right") }
|
||||
val blink2 = quirk { bedrockStateful("combee", "blink_gender") }
|
||||
val blink3 = quirk { bedrockStateful("combee", "blink_left") }
|
||||
|
||||
+3
@@ -12,6 +12,7 @@ import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.PokemonP
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.PosableState
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.pose.Pose
|
||||
import com.cobblemon.mod.common.entity.PoseType
|
||||
import com.cobblemon.mod.common.util.asExpressionLike
|
||||
import net.minecraft.client.model.geom.ModelPart
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
@@ -30,6 +31,8 @@ class VespiquenModel (root: ModelPart) : PokemonPosableModel(root) {
|
||||
lateinit var standing: Pose
|
||||
|
||||
override fun registerPoses() {
|
||||
animations["cry"] = "q.bedrock_stateful('vespiquen', 'cry')".asExpressionLike()
|
||||
|
||||
val blink1 = quirk { bedrockStateful("vespiquen", "blink") }
|
||||
val wingsleep = quirk { bedrockStateful("vespiquen", "sleep_flap") }
|
||||
|
||||
|
||||
-62
@@ -1,62 +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.gen5
|
||||
|
||||
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.Pose
|
||||
import com.cobblemon.mod.common.entity.PoseType
|
||||
import net.minecraft.client.model.geom.ModelPart
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
class SerperiorModel (root: ModelPart) : PokemonPosableModel(root), HeadedFrame {
|
||||
override val rootPart = root.registerChildWithAllChildren("serperior")
|
||||
override val head = getPart("head_ai")
|
||||
|
||||
override var portraitScale = 2.5F
|
||||
override var portraitTranslation = Vec3(-0.3, 1.25, 0.0)
|
||||
|
||||
override var profileScale = 0.6F
|
||||
override var profileTranslation = Vec3(0.0, 0.8, 0.0)
|
||||
|
||||
lateinit var standing: Pose
|
||||
lateinit var walk: Pose
|
||||
lateinit var sleep: Pose
|
||||
|
||||
override val cryAnimation = CryProvider { bedrockStateful("serperior", "cry") }
|
||||
|
||||
override fun registerPoses() {
|
||||
val blink = quirk { bedrockStateful("serperior", "blink") }
|
||||
sleep = registerPose(
|
||||
poseType = PoseType.SLEEP,
|
||||
animations = arrayOf(bedrock("serperior", "sleep"))
|
||||
)
|
||||
|
||||
standing = registerPose(
|
||||
poseName = "standing",
|
||||
poseTypes = PoseType.STATIONARY_POSES + PoseType.UI_POSES,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("serperior", "ground_idle")
|
||||
)
|
||||
)
|
||||
|
||||
walk = registerPose(
|
||||
poseName = "walk",
|
||||
poseTypes = PoseType.MOVING_POSES,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("serperior", "ground_walk")
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
-70
@@ -1,70 +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.gen5
|
||||
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.frame.BimanualFrame
|
||||
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.Pose
|
||||
import com.cobblemon.mod.common.entity.PoseType
|
||||
import net.minecraft.client.model.geom.ModelPart
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
class ServineModel (root: ModelPart) : PokemonPosableModel(root), HeadedFrame, BipedFrame, BimanualFrame {
|
||||
override val rootPart = root.registerChildWithAllChildren("servine")
|
||||
override val head = getPart("head_ai")
|
||||
override val rightArm = getPart("arm_right")
|
||||
override val leftArm = getPart("arm_left")
|
||||
override val rightLeg = getPart("leg_right")
|
||||
override val leftLeg = getPart("leg_left")
|
||||
|
||||
override var portraitScale = 2.6F
|
||||
override var portraitTranslation = Vec3(-0.15, 0.75, 0.0)
|
||||
override var profileScale = 0.8F
|
||||
override var profileTranslation = Vec3(0.0, 0.55, 0.0)
|
||||
|
||||
lateinit var sleep: Pose
|
||||
lateinit var standing: Pose
|
||||
lateinit var walk: Pose
|
||||
|
||||
override val cryAnimation = CryProvider { bedrockStateful("servine", "cry") }
|
||||
|
||||
override fun registerPoses() {
|
||||
val blink = quirk { bedrockStateful("servine", "blink") }
|
||||
sleep = registerPose(
|
||||
poseType = PoseType.SLEEP,
|
||||
transformTicks = 10,
|
||||
animations = arrayOf(bedrock("servine", "sleep"))
|
||||
)
|
||||
|
||||
standing = registerPose(
|
||||
poseName = "standing",
|
||||
poseTypes = PoseType.STATIONARY_POSES + PoseType.UI_POSES,
|
||||
transformTicks = 10,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("servine", "ground_idle")
|
||||
)
|
||||
)
|
||||
|
||||
walk = registerPose(
|
||||
poseName = "walking",
|
||||
poseTypes = PoseType.MOVING_POSES,
|
||||
transformTicks = 10,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("servine", "ground_walk")
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
-70
@@ -1,70 +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.gen5
|
||||
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.frame.BimanualFrame
|
||||
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.Pose
|
||||
import com.cobblemon.mod.common.entity.PoseType
|
||||
import net.minecraft.client.model.geom.ModelPart
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
class SnivyModel (root: ModelPart) : PokemonPosableModel(root), HeadedFrame, BipedFrame, BimanualFrame {
|
||||
override val rootPart = root.registerChildWithAllChildren("snivy")
|
||||
override val head = getPart("head_ai")
|
||||
override val rightArm = getPart("arm_right")
|
||||
override val leftArm = getPart("arm_left")
|
||||
override val rightLeg = getPart("leg_right")
|
||||
override val leftLeg = getPart("leg_left")
|
||||
|
||||
override var portraitScale = 2.0F
|
||||
override var portraitTranslation = Vec3(-0.15, 0.32, 0.0)
|
||||
override var profileScale = 0.8F
|
||||
override var profileTranslation = Vec3(0.0, 0.55, 0.0)
|
||||
|
||||
lateinit var sleep: Pose
|
||||
lateinit var standing: Pose
|
||||
lateinit var walk: Pose
|
||||
|
||||
override val cryAnimation = CryProvider { bedrockStateful("snivy", "cry") }
|
||||
|
||||
override fun registerPoses() {
|
||||
val blink = quirk { bedrockStateful("snivy", "blink") }
|
||||
sleep = registerPose(
|
||||
poseType = PoseType.SLEEP,
|
||||
transformTicks = 10,
|
||||
animations = arrayOf(bedrock("snivy", "sleep"))
|
||||
)
|
||||
|
||||
standing = registerPose(
|
||||
poseName = "standing",
|
||||
poseTypes = PoseType.STATIONARY_POSES + PoseType.UI_POSES,
|
||||
transformTicks = 10,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("snivy", "ground_idle")
|
||||
)
|
||||
)
|
||||
|
||||
walk = registerPose(
|
||||
poseName = "walking",
|
||||
poseTypes = PoseType.MOVING_POSES,
|
||||
transformTicks = 10,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("snivy", "ground_walk")
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -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
|
||||
|
||||
-85
@@ -1,85 +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.gen6
|
||||
|
||||
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.Pose
|
||||
import com.cobblemon.mod.common.entity.PoseType
|
||||
import net.minecraft.client.model.geom.ModelPart
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
class GourgeistModel (root: ModelPart) : PokemonPosableModel(root), HeadedFrame {
|
||||
override val rootPart = root.registerChildWithAllChildren("gourgeist")
|
||||
override val head = getPart("head")
|
||||
|
||||
override var portraitScale = 4.0F
|
||||
override var portraitTranslation = Vec3(-0.1, 0.6, 0.0)
|
||||
|
||||
override var profileScale = 0.8F
|
||||
override var profileTranslation = Vec3(0.0, 0.55, 0.0)
|
||||
|
||||
lateinit var standing: Pose
|
||||
lateinit var walk: Pose
|
||||
lateinit var hovering: Pose
|
||||
lateinit var fly: Pose
|
||||
lateinit var sleep: Pose
|
||||
|
||||
override val cryAnimation = CryProvider { bedrockStateful("gourgeist", "cry") }
|
||||
|
||||
override fun registerPoses() {
|
||||
val blink = quirk { bedrockStateful("gourgeist", "blink") }
|
||||
standing = registerPose(
|
||||
poseName = "standing",
|
||||
poseTypes = PoseType.UI_POSES + PoseType.STAND,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("gourgeist", "ground_idle")
|
||||
)
|
||||
)
|
||||
|
||||
walk = registerPose(
|
||||
poseName = "walk",
|
||||
poseType = PoseType.WALK,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
bedrock("gourgeist", "ground_walk")
|
||||
)
|
||||
)
|
||||
|
||||
hovering = registerPose(
|
||||
poseName = "hovering",
|
||||
poseType = PoseType.HOVER,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
bedrock("gourgeist", "air_idle")
|
||||
)
|
||||
)
|
||||
|
||||
fly = registerPose(
|
||||
poseName = "fly",
|
||||
poseType = PoseType.FLY,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
bedrock("gourgeist", "air_fly")
|
||||
)
|
||||
)
|
||||
|
||||
sleep = registerPose(
|
||||
poseName = "sleep",
|
||||
poseType = PoseType.SLEEP,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
bedrock("gourgeist", "sleep")
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
-77
@@ -1,77 +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.gen6
|
||||
|
||||
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.CobblemonPose
|
||||
import com.cobblemon.mod.common.entity.PoseType
|
||||
import net.minecraft.client.model.geom.ModelPart
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
class PumpkabooModel (root: ModelPart) : PokemonPosableModel(root), HeadedFrame {
|
||||
override val rootPart = root.registerChildWithAllChildren("pumpkaboo")
|
||||
override val head = getPart("head")
|
||||
|
||||
override var portraitScale = 3.5F
|
||||
override var portraitTranslation = Vec3(0.0, -1.5, 0.0)
|
||||
|
||||
override var profileScale = 1.0F
|
||||
override var profileTranslation = Vec3(0.0, 0.25, 0.0)
|
||||
|
||||
lateinit var standing: CobblemonPose
|
||||
lateinit var walk: CobblemonPose
|
||||
lateinit var battleidle: CobblemonPose
|
||||
lateinit var sleep: CobblemonPose
|
||||
|
||||
override val cryAnimation = CryProvider { bedrockStateful("pumpkaboo", "cry") }
|
||||
|
||||
override fun registerPoses() {
|
||||
val blink = quirk { bedrockStateful("pumpkaboo", "blink") }
|
||||
val quirk = quirk { bedrockStateful("pumpkaboo", "quirk_idle") }
|
||||
|
||||
sleep = registerPose(
|
||||
poseName = "sleep",
|
||||
poseType = PoseType.SLEEP,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
bedrock("pumpkaboo", "sleep")
|
||||
)
|
||||
)
|
||||
|
||||
standing = registerPose(
|
||||
poseName = "standing",
|
||||
poseTypes = PoseType.STATIONARY_POSES + PoseType.UI_POSES,
|
||||
quirks = arrayOf(blink, quirk),
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("pumpkaboo", "ground_idle")
|
||||
)
|
||||
)
|
||||
|
||||
walk = registerPose(
|
||||
poseName = "walk",
|
||||
poseTypes = PoseType.MOVING_POSES,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
bedrock("pumpkaboo", "ground_walk")
|
||||
)
|
||||
)
|
||||
|
||||
battleidle = registerPose(
|
||||
poseName = "battleidle",
|
||||
poseTypes = PoseType.STATIONARY_POSES,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
bedrock("pumpkaboo", "battle_idle")
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
-208
@@ -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
|
||||
}
|
||||
-6
@@ -322,8 +322,6 @@ object VaryingModelRepository {
|
||||
inbuilt("loudred", :: LoudredModel)
|
||||
inbuilt("exploud", :: ExploudModel)
|
||||
inbuilt("cryogonal", :: CryogonalModel)
|
||||
inbuilt("pumpkaboo", :: PumpkabooModel)
|
||||
inbuilt("gourgeist", :: GourgeistModel)
|
||||
inbuilt("eiscue", :: EiscueModel)
|
||||
inbuilt("wooloo", :: WoolooModel)
|
||||
inbuilt("dubwool", :: DubwoolModel)
|
||||
@@ -340,9 +338,6 @@ object VaryingModelRepository {
|
||||
inbuilt("thwackey", ::ThwackeyModel)
|
||||
inbuilt("rillaboom", ::RillaboomModel)
|
||||
inbuilt("samurott", ::SamurottModel)
|
||||
inbuilt("snivy", ::SnivyModel)
|
||||
inbuilt("servine", ::ServineModel)
|
||||
inbuilt("serperior", ::SerperiorModel)
|
||||
inbuilt("slugma", ::SlugmaModel)
|
||||
inbuilt("magcargo", ::MagcargoModel)
|
||||
inbuilt("slugma_shiny", ::SlugmaShinyModel)
|
||||
@@ -402,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)
|
||||
|
||||
-55
@@ -1,55 +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://www.mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.net.messages.server.storage.pc
|
||||
|
||||
import com.cobblemon.mod.common.api.net.NetworkPacket
|
||||
import com.cobblemon.mod.common.api.storage.pc.PCPosition
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import com.cobblemon.mod.common.util.readPCPosition
|
||||
import com.cobblemon.mod.common.util.writePCPosition
|
||||
import java.util.UUID
|
||||
import net.minecraft.network.RegistryFriendlyByteBuf
|
||||
|
||||
class MovePCPokemonBatchPacket(val moves: List<PCPokemonMove>) : NetworkPacket<MovePCPokemonBatchPacket> {
|
||||
override val id = ID
|
||||
|
||||
data class PCPokemonMove(
|
||||
val pokemonID: UUID,
|
||||
val oldPosition: PCPosition,
|
||||
val newPosition: PCPosition
|
||||
)
|
||||
|
||||
override fun encode(buffer: RegistryFriendlyByteBuf) {
|
||||
buffer.writeVarInt(moves.size)
|
||||
moves.forEach { move ->
|
||||
buffer.writeUUID(move.pokemonID)
|
||||
buffer.writePCPosition(move.oldPosition)
|
||||
buffer.writePCPosition(move.newPosition)
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
val ID = cobblemonResource("move_pc_pokemon_batch")
|
||||
const val MAX_MOVES = 60
|
||||
|
||||
fun decode(buffer: RegistryFriendlyByteBuf): MovePCPokemonBatchPacket {
|
||||
val size = buffer.readVarInt()
|
||||
require(size in 1..MAX_MOVES) { "Invalid batch PC move size: $size" }
|
||||
return MovePCPokemonBatchPacket(
|
||||
List(size) {
|
||||
PCPokemonMove(
|
||||
pokemonID = buffer.readUUID(),
|
||||
oldPosition = buffer.readPCPosition(),
|
||||
newPosition = buffer.readPCPosition()
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
-23
@@ -1,23 +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://www.mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.net.serverhandling.storage.pc
|
||||
|
||||
import com.cobblemon.mod.common.api.net.ServerNetworkPacketHandler
|
||||
import com.cobblemon.mod.common.api.storage.pc.link.PCLinkManager
|
||||
import com.cobblemon.mod.common.net.messages.client.storage.pc.ClosePCPacket
|
||||
import com.cobblemon.mod.common.net.messages.server.storage.pc.MovePCPokemonBatchPacket
|
||||
import net.minecraft.server.MinecraftServer
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
|
||||
object MovePCPokemonBatchHandler : ServerNetworkPacketHandler<MovePCPokemonBatchPacket> {
|
||||
override fun handle(packet: MovePCPokemonBatchPacket, server: MinecraftServer, player: ServerPlayer) {
|
||||
val pc = PCLinkManager.getPC(player) ?: return run { ClosePCPacket(null).sendToPlayer(player) }
|
||||
pc.moveBatch(packet.moves.map { Triple(it.pokemonID, it.oldPosition, it.newPosition) })
|
||||
}
|
||||
}
|
||||
@@ -55,6 +55,8 @@ object PlatformEvents {
|
||||
@JvmField
|
||||
val CLIENT_PLAYER_LOGOUT = EventObservable<ClientPlayerEvent.Logout>()
|
||||
@JvmField
|
||||
val PLAYER_RESPAWN = EventObservable<ServerPlayerEvent.Respawn>()
|
||||
@JvmField
|
||||
val PLAYER_DEATH = CancelableObservable<ServerPlayerEvent.Death>()
|
||||
@JvmField
|
||||
val RIGHT_CLICK_BLOCK = CancelableObservable<ServerPlayerEvent.RightClickBlock>()
|
||||
|
||||
@@ -50,6 +50,11 @@ interface ServerPlayerEvent {
|
||||
*/
|
||||
data class Logout(override val player: ServerPlayer) : ServerPlayerEvent
|
||||
|
||||
/**
|
||||
* Fired when the [player] respawns (either by coming back from the end or dying).
|
||||
*/
|
||||
data class Respawn(override val player: ServerPlayer) : ServerPlayerEvent
|
||||
|
||||
/**
|
||||
* Fired when the [player] dies.
|
||||
* If canceled the death will be prevented but healing is required in order to not be stuck in a loop.
|
||||
|
||||
+90
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+91
@@ -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)*2))*(v.particle_age / v.particle_lifetime)", "(v.target_deltay+((v.particle_random_2-0.5)*2))*(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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+86
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+63
@@ -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]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+86
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+69
@@ -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]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+62
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+611
-9
@@ -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');};"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+3019
-67
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -217,7 +217,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.raichu_cap.water_swim": {
|
||||
"animation.raichu_cap.water_surface_swim": {
|
||||
"loop": true,
|
||||
"animation_length": 1,
|
||||
"bones": {
|
||||
|
||||
+464
-58
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+573
-53
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+1299
-19
File diff suppressed because it is too large
Load Diff
+4557
-55
File diff suppressed because it is too large
Load Diff
+240
-16
@@ -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"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+221
-29
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+349
-34
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
@@ -364,6 +364,14 @@
|
||||
"rotation": [-22.5, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.wurmple.cry": {
|
||||
"animation_length": 1.25,
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.wurmple.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
@@ -212,6 +212,14 @@
|
||||
"position": [0, 0, -0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.silcoon.cry": {
|
||||
"animation_length": 1.25,
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.silcoon.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
@@ -361,6 +361,14 @@
|
||||
"rotation": [0, 20, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.beautifly.cry": {
|
||||
"animation_length": 1.25,
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.beautifly.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
@@ -194,6 +194,14 @@
|
||||
"position": [0, 0, -0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.cascoon.cry": {
|
||||
"animation_length": 1.25,
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.cascoon.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
@@ -255,6 +255,30 @@
|
||||
"position": [0, 0, -0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dustox.cry": {
|
||||
"animation_length": 1,
|
||||
"bones": {
|
||||
"mouth_closed_smile": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0833": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"0.625": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"mouth_open": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0833": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"0.625": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.0833": {
|
||||
"effect": "pokemon.dustox.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
@@ -149,6 +149,14 @@
|
||||
"rotation": [0, 0, 22.5]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.surskit.cry": {
|
||||
"animation_length": 1.25,
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.surskit.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"geckolib_format_version": 2
|
||||
|
||||
+5
@@ -158,6 +158,11 @@
|
||||
"0.75": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.masquerain.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
+5
@@ -447,6 +447,11 @@
|
||||
"1.5": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.starly.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
@@ -331,6 +331,11 @@
|
||||
"1.5": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.staravia.cry"
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.staravia.blink": {
|
||||
|
||||
+5
@@ -464,6 +464,11 @@
|
||||
"1.5": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.combee.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+8
@@ -824,6 +824,14 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.vespiquen.cry": {
|
||||
"animation_length": 1.25,
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.vespiquen.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -589,7 +589,7 @@
|
||||
"animation.frogadier.battle_idle": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"frogadier": {
|
||||
"body": {
|
||||
"position": [0, -8, 0]
|
||||
},
|
||||
"torso": {
|
||||
|
||||
+24
@@ -400,6 +400,30 @@
|
||||
"position": [0, 0, -0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.helioptile.cry": {
|
||||
"animation_length": 1.2083,
|
||||
"bones": {
|
||||
"mouth_closed": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0833": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"mouth_open": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0833": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.0833": {
|
||||
"effect": "pokemon.helioptile.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
@@ -563,6 +563,14 @@
|
||||
"position": [0.1, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.heliolisk.cry": {
|
||||
"animation_length": 1.25,
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.heliolisk.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+5
@@ -125,6 +125,11 @@
|
||||
"0.5417": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.0417": {
|
||||
"effect": "pokemon.grubbin.cry"
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.grubbin.physical": {
|
||||
|
||||
+5
@@ -38,6 +38,11 @@
|
||||
"0.625": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.0833": {
|
||||
"effect": "pokemon.charjabug.cry"
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.charjabug.ditto_face": {
|
||||
|
||||
+5923
-339
File diff suppressed because it is too large
Load Diff
+8
@@ -326,6 +326,14 @@
|
||||
"position": [0, 0, -0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.runerigus.cry": {
|
||||
"animation_length": 1.25,
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.runerigus.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+650
-17
@@ -21,7 +21,7 @@
|
||||
"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": {
|
||||
"rotation": [0, 5, 0]
|
||||
@@ -44,11 +44,346 @@
|
||||
},
|
||||
"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_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_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_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_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, 0.85],
|
||||
"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, 0.85],
|
||||
"0.5": [0, 0, 0],
|
||||
"0.75": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.squawkabilly.cry": {
|
||||
"animation_length": 1.25,
|
||||
"animation_length": 2,
|
||||
"bones": {
|
||||
"neck": {
|
||||
"rotation": {
|
||||
@@ -56,15 +391,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 +423,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 +455,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 +584,193 @@
|
||||
"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, 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": [-30, 0, 0]
|
||||
},
|
||||
"toe_inner_left": {
|
||||
"rotation": [30, 0, 0]
|
||||
},
|
||||
"toe_outer_left": {
|
||||
"rotation": [30, 0, 0]
|
||||
},
|
||||
"leg_right": {
|
||||
"rotation": [-67.5, 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": [-30, 0, 0]
|
||||
},
|
||||
"toe_inner_right": {
|
||||
"rotation": [30, 0, 0]
|
||||
},
|
||||
"toe_outer_right": {
|
||||
"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, 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": [-30, 0, 0]
|
||||
},
|
||||
"toe_inner_left": {
|
||||
"rotation": [30, 0, 0]
|
||||
},
|
||||
"toe_outer_left": {
|
||||
"rotation": [30, 0, 0]
|
||||
},
|
||||
"leg_right": {
|
||||
"rotation": [-67.5, 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": [-30, 0, 0]
|
||||
},
|
||||
"toe_inner_right": {
|
||||
"rotation": [30, 0, 0]
|
||||
},
|
||||
"toe_outer_right": {
|
||||
"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');};"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+395
-586
File diff suppressed because it is too large
Load Diff
+4
-3
@@ -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]},
|
||||
|
||||
+1
-1
@@ -68,7 +68,7 @@
|
||||
"parent": "torso",
|
||||
"pivot": [0, 13, 2],
|
||||
"locators": {
|
||||
"seat": [0, 13, 2]
|
||||
"seat_1": [0, 13, 2]
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
+2
-2
@@ -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')",
|
||||
|
||||
+2
-2
@@ -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')",
|
||||
|
||||
+2
-2
@@ -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
-1
@@ -7,7 +7,7 @@
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('pidgeot', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('pidgeot', 'recoil')",
|
||||
"special": "q.bedrock_primary('pidgeot', 'special', q.curve('symmetrical'))"
|
||||
"status": "q.bedrock_primary('pidgeot', 'status', q.curve('symmetrical_wide'))"
|
||||
},
|
||||
"firstPersonCameraOffset": {
|
||||
"seat_1": [0, 0.45, 0]
|
||||
|
||||
+2
-2
@@ -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')",
|
||||
|
||||
+2
-2
@@ -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')",
|
||||
|
||||
+9
-10
@@ -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,9 +62,8 @@
|
||||
"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.look('head_ai')",
|
||||
"q.bedrock('spearow', 'air_idle')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('spearow', 'blink')"],
|
||||
@@ -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', 'air_idle')"
|
||||
"q.look('head_ai')",
|
||||
"q.bedrock('spearow', 'air_fly')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('spearow', 'blink')"],
|
||||
"transformedParts": [
|
||||
|
||||
+11
-9
@@ -11,7 +11,7 @@
|
||||
"isBattle": false,
|
||||
"animations": [
|
||||
"q.look('neck', 1, 1, 70, -10, 20, -20)",
|
||||
"q.look('head')",
|
||||
"q.look('head_ai')",
|
||||
"q.bedrock('fearow', 'ground_idle')"
|
||||
],
|
||||
"transformedParts": [
|
||||
@@ -37,9 +37,8 @@
|
||||
"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')"
|
||||
],
|
||||
"transformedParts": [
|
||||
{
|
||||
@@ -64,9 +63,8 @@
|
||||
"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.look('head_ai')",
|
||||
"q.bedrock('fearow', 'air_idle')"
|
||||
],
|
||||
"transformedParts": [
|
||||
@@ -92,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('fearow', 'air_idle')"
|
||||
"q.look('head_ai')",
|
||||
"q.bedrock('fearow', 'air_fly')"
|
||||
],
|
||||
"transformedParts": [
|
||||
{
|
||||
@@ -115,6 +112,11 @@
|
||||
"isVisible": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"animations": ["q.bedrock('fearow', 'sleep')"],
|
||||
"namedAnimations": {"cry": "q.bedrock_stateful('dummy', 'cry')"}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -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')",
|
||||
|
||||
+2
-2
@@ -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
-1
@@ -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",
|
||||
|
||||
+2
-5
@@ -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')",
|
||||
@@ -16,9 +16,6 @@
|
||||
"q.look('head_ai', 1, 1, 8, -18, 10, -10)",
|
||||
"q.bedrock('oddish', 'battle_idle')"
|
||||
],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('oddish', 'battle_cry')"
|
||||
},
|
||||
"quirks": ["q.bedrock_quirk('oddish', 'blink')"]
|
||||
},
|
||||
"standing": {
|
||||
|
||||
-3
@@ -16,9 +16,6 @@
|
||||
"q.look('head_ai', 1, 1, 6, -18, 10, -10)",
|
||||
"q.bedrock('gloom', 'battle_idle')"
|
||||
],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('gloom', 'battle_cry')"
|
||||
},
|
||||
"quirks": ["q.bedrock_quirk('gloom', 'blink')"]
|
||||
},
|
||||
"standing": {
|
||||
|
||||
-3
@@ -16,9 +16,6 @@
|
||||
"q.look('head_ai', 1, 1, 6, -18, 10, -10)",
|
||||
"q.bedrock('vileplume', 'battle_idle')"
|
||||
],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('vileplume', 'battle_cry')"
|
||||
},
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('vileplume', 'blink')",
|
||||
"q.bedrock_primary_quirk('vileplume', 'quirk', 20, 40, 1, q.curve('symmetrical_wide'))"
|
||||
|
||||
-1
@@ -7,7 +7,6 @@
|
||||
"animations": {
|
||||
"faint": "q.bedrock_primary('diglett', 'faint', q.curve('one'))",
|
||||
"cry": "q.bedrock_stateful('diglett', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('diglett', 'recoil')",
|
||||
"physical": "q.bedrock_primary('diglett', 'physical', q.curve('symmetrical'))"
|
||||
},
|
||||
"poses": {
|
||||
|
||||
+2
-2
@@ -5,9 +5,9 @@
|
||||
"profileTranslation": [0.0, 0.3, 0],
|
||||
"rootBone": "diglett_alolan",
|
||||
"animations": {
|
||||
"faint": "q.bedrock_primary('diglett_alolan', 'faint', q.curve('one'))",
|
||||
"cry": "q.bedrock_stateful('diglett_alolan', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('diglett_alolan', 'recoil')",
|
||||
"physical": "q.bedrock_primary('diglett_alolan', 'physical', q.curve('symmetrical'))"
|
||||
"physical": "q.bedrock_primary('diglett_alolan', 'physical', q.curve('symmetrical_wide'))"
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
|
||||
-1
@@ -7,7 +7,6 @@
|
||||
"animations": {
|
||||
"faint": "q.bedrock_primary('dugtrio', 'faint', q.curve('one'))",
|
||||
"cry": "q.bedrock_stateful('dugtrio', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('dugtrio', 'recoil')",
|
||||
"physical": "q.bedrock_primary('dugtrio', 'physical', q.curve('symmetrical'))"
|
||||
},
|
||||
"poses": {
|
||||
|
||||
+2
-2
@@ -5,9 +5,9 @@
|
||||
"profileTranslation": [0.0, 0.29, 0],
|
||||
"rootBone": "dugtrio_alolan",
|
||||
"animations": {
|
||||
"faint": "q.bedrock_primary('dugtrio_alolan', 'faint', q.curve('one'))",
|
||||
"cry": "q.bedrock_stateful('dugtrio_alolan', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('dugtrio_alolan', 'recoil')",
|
||||
"physical": "q.bedrock_primary('dugtrio_alolan', 'physical', q.curve('symmetrical'))"
|
||||
"physical": "q.bedrock_primary('dugtrio_alolan', 'physical', q.curve('symmetrical_wide'))"
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
|
||||
+1
-1
@@ -83,7 +83,7 @@
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('tentacool', 'ground_sleep')"]
|
||||
"animations": ["q.bedrock('tentacool', 'sleep')"]
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -108,7 +108,7 @@
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('tentacruel', 'sleep')"]
|
||||
"animations": ["q.bedrock('tentacruel', 'water_sleep')"]
|
||||
},
|
||||
"ground-sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
@@ -116,7 +116,7 @@
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('tentacruel', 'sleep')"]
|
||||
"animations": ["q.bedrock('tentacruel', 'ground_sleep')"]
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -6,8 +6,7 @@
|
||||
"rootBone": "golem",
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('golem', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('golem', 'recoil')",
|
||||
"status": "q.bedrock_stateful('golem', 'status', q.curve('symmetrical_wide'))"
|
||||
"recoil": "q.bedrock_stateful('golem', 'recoil')"
|
||||
},
|
||||
"poses": {
|
||||
"battle-standing": {
|
||||
|
||||
+1
-2
@@ -6,8 +6,7 @@
|
||||
"rootBone": "golem",
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('golem_alolan', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('golem_alolan', 'recoil')",
|
||||
"status": "q.bedrock_stateful('golem_alolan', 'status', q.curve('symmetrical_wide'))"
|
||||
"recoil": "q.bedrock_stateful('golem_alolan', 'recoil')"
|
||||
},
|
||||
"poses": {
|
||||
"battle-standing": {
|
||||
|
||||
+1
-2
@@ -6,8 +6,7 @@
|
||||
"rootBone": "grimer",
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('grimer', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('grimer', 'recoil')",
|
||||
"status": "q.bedrock_stateful('grimer', 'status', q.curve('symmetrical_wide'))"
|
||||
"recoil": "q.bedrock_stateful('grimer', 'recoil')"
|
||||
},
|
||||
"poses": {
|
||||
"battle-standing": {
|
||||
|
||||
+1
-2
@@ -6,8 +6,7 @@
|
||||
"rootBone": "grimer_alola",
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('grimer', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('grimer', 'recoil')",
|
||||
"status": "q.bedrock_stateful('grimer', 'status', q.curve('symmetrical_wide'))"
|
||||
"recoil": "q.bedrock_stateful('grimer', 'recoil')"
|
||||
},
|
||||
"poses": {
|
||||
"battle-standing": {
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"portraitScale": 1.82,
|
||||
"portraitTranslation": [-0.01, 0.64, 0],
|
||||
"portraitTranslation": [0.15, 0.52, 0],
|
||||
"profileScale": 0.84,
|
||||
"profileTranslation": [0, 0.51, 0],
|
||||
"rootBone": "marowak_alolan",
|
||||
@@ -36,7 +36,7 @@
|
||||
},
|
||||
"portrait": {
|
||||
"poseTypes": ["PORTRAIT"],
|
||||
"animations": ["q.bedrock('marowak_alolan', 'portrait')"]
|
||||
"animations": ["q.bedrock('marowak_alolan', 'ground_idle')"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-2
@@ -5,7 +5,6 @@
|
||||
"profileTranslation": [0, 0.46, 0],
|
||||
"rootBone": "weezing",
|
||||
"animations": {
|
||||
"faint": "q.bedrock_primary('weezing', 'faint')",
|
||||
"cry": "q.bedrock_stateful('weezing', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('weezing', 'recoil')",
|
||||
"physical": "q.bedrock_primary('weezing', 'physical', q.curve('symmetrical_wide'))",
|
||||
@@ -57,7 +56,7 @@
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('weezing', 'battle-sleep')"]
|
||||
"animations": ["q.bedrock('weezing', 'battle_sleep')"]
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user