mirror of
https://gitlab.com/cable-mc/cobblemon.git
synced 2026-10-21 06:36:25 -04:00
Compare commits
61
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
874d1d9329 | ||
|
|
d29e688064 | ||
|
|
b6802069d8 | ||
|
|
a4b8aafa27 | ||
|
|
b00f1d9352 | ||
|
|
a588cfadf8 | ||
|
|
2eb4062f67 | ||
|
|
43321d8872 | ||
|
|
a5ea584b75 | ||
|
|
6a9edc2e67 | ||
|
|
12377deff7 | ||
|
|
737ddd973b | ||
|
|
d749b04261 | ||
|
|
a62e5a6571 | ||
|
|
0ec337ee6c | ||
|
|
76df0a429d | ||
|
|
08ea9378de | ||
|
|
c2bd21ab96 | ||
|
|
5db8ccfad4 | ||
|
|
aa206d386a | ||
|
|
a235af6c01 | ||
|
|
a666a74a32 | ||
|
|
c285120ff4 | ||
|
|
dbd2890120 | ||
|
|
a5db46cdc5 | ||
|
|
765cf9b96a | ||
|
|
efe7952869 | ||
|
|
9e434de285 | ||
|
|
712fe2c250 | ||
|
|
5db5a2ed35 | ||
|
|
49c96e6fc8 | ||
|
|
d56c9a3f5a | ||
|
|
a117303147 | ||
|
|
dbf248a508 | ||
|
|
56d75b14fa | ||
|
|
87311e2d7d | ||
|
|
bd63fb686d | ||
|
|
0f9a422d44 | ||
|
|
32d18b47f9 | ||
|
|
c618bf95fa | ||
|
|
a7bd70e334 | ||
|
|
d12bdc3745 | ||
|
|
08c8623951 | ||
|
|
d2ff7e3748 | ||
|
|
ea6452287b | ||
|
|
b1f7731563 | ||
|
|
c46a4d5936 | ||
|
|
c3c57f3f33 | ||
|
|
0dba1e9f82 | ||
|
|
41457d8da8 | ||
|
|
a8db098652 | ||
|
|
1f241fc8dc | ||
|
|
3921295fee | ||
|
|
790e5e6c8b | ||
|
|
2957cabf86 | ||
|
|
6909c5ad6f | ||
|
|
c65d6bd83e | ||
|
|
dd6a526a49 | ||
|
|
b30b03fffd | ||
|
|
1953538db5 | ||
|
|
be5ee8a6a3 |
@@ -15,6 +15,9 @@
|
||||
- baseScale in NPCs has been removed from classes and presets, and in the entity it is replaced with hitboxScale and renderScale.
|
||||
- Added `EntityCallbacks` to `NPCEntity` and `PokemonEntity`. You can trigger custom callback types by using `[Entity].callbacks.process(...)`
|
||||
|
||||
### Fixes
|
||||
- Fixed Pokémon with a moving walk target frequently spinning in place as they re-calculate their path.
|
||||
|
||||
### MoLang & Datapacks
|
||||
- Added a `behaviours` datapack folder which motivates the Behaviour Editor screen on NPCs and Pokémon.
|
||||
- Added "callback" support on PokemonEntity and NPCEntity that allows MoLang scripts to be executed in response to certain scenarios.
|
||||
|
||||
@@ -283,6 +283,15 @@
|
||||
- Revavroom
|
||||
- Bouffalant
|
||||
- Lickilicky
|
||||
- Blaziken
|
||||
- Rhyhorn
|
||||
- Rhydon
|
||||
- Rhyperior
|
||||
- Tauros
|
||||
- Tauros - Paldea Aqua
|
||||
- Tauros - Paldea Blaze
|
||||
- Tauros - Paldea Combat
|
||||
- Dewgong
|
||||
|
||||
### Model updates for the following Pokémon
|
||||
- Cleffa
|
||||
@@ -448,6 +457,7 @@
|
||||
- MoLang `run_action_effect` now works on Pokémon.
|
||||
- Changed MoLang entity function `is_standing_on` to allow for block tags in the list.
|
||||
- Added entity (as `q.entity`) that executed the command to the `executemolangscript` command.
|
||||
- A wild Pokémon using Teleport now ends the battle and causes the Pokémon to teleport a short distance away. Teleport still behaves the same in PvP battles.
|
||||
- Refactored the following events to `.Pre` and `.Post` for consistency:
|
||||
- `PokemonSentEvent`
|
||||
- `ExperienceGainedEvent`
|
||||
@@ -456,6 +466,7 @@
|
||||
- Updated `EvolutionCompleteEvent` parameters to include the Source Pokemon that evolved.
|
||||
- Updated `HatchEggEvent.Post` to include the Pokemon that hatched.
|
||||
- Roseli Berry Trees now naturally generate in their preferred biomes.
|
||||
- Refactored dynamic lights compat to be more future proof. The dynamic light support is only tested with LambDynamicLights, on NeoForged use that mod in combination with Sinytra Connector
|
||||
|
||||
### Fixes
|
||||
- Fixed game crashing when removing national pokedex using datapacks
|
||||
|
||||
@@ -31,6 +31,7 @@ repositories {
|
||||
maven(url = "${rootProject.projectDir}/deps")
|
||||
maven(url = "https://api.modrinth.com/maven")
|
||||
maven(url = "https://maven.neoforged.net/releases")
|
||||
maven(url = "https://maven.gegy.dev")
|
||||
mavenLocal()
|
||||
}
|
||||
|
||||
@@ -44,6 +45,12 @@ dependencies {
|
||||
modCompileOnly(libs.bundles.common.integrations.compileOnly) {
|
||||
isTransitive = false
|
||||
}
|
||||
// LambDynamicLights is handled differently because we need the Mojang-mappings version of it.
|
||||
modCompileOnly(libs.lambDynamicLights) {
|
||||
capabilities {
|
||||
requireCapability("dev.lambdaurora.lambdynamiclights:api-mojmap")
|
||||
}
|
||||
}
|
||||
// Flywheel has no common dep so just pick one and don't use any platform specific code in common
|
||||
// modCompileOnly(libs.flywheelFabric)
|
||||
|
||||
|
||||
@@ -1,102 +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.compat;
|
||||
|
||||
import com.cobblemon.mod.common.CobblemonEntities;
|
||||
import com.cobblemon.mod.common.client.render.layer.PokemonOnShoulderRenderer;
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity;
|
||||
import com.cobblemon.mod.common.item.PokedexItem;
|
||||
import com.cobblemon.mod.common.pokemon.FormData;
|
||||
import com.cobblemon.mod.common.pokemon.lighthing.LightingData;
|
||||
import dev.lambdaurora.lambdynlights.LambDynLights;
|
||||
import dev.lambdaurora.lambdynlights.api.DynamicLightHandler;
|
||||
import dev.lambdaurora.lambdynlights.api.DynamicLightHandlers;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
||||
// Java class due to relying on entrypoint on Fabric side
|
||||
public class LambDynamicLightsCompat {
|
||||
|
||||
// This is all called on client side
|
||||
// These things are checked every tick so try to keep it as free as possible
|
||||
// That being said it's unlikely school Toshiba person is running dynamic lighting and shaders to enjoy this
|
||||
// Make sure not to call anything Fabric specific :)
|
||||
public static void hookCompat() {
|
||||
// Pokémon entities
|
||||
DynamicLightHandlers.registerDynamicLightHandler(
|
||||
CobblemonEntities.POKEMON,
|
||||
DynamicLightHandler.makeHandler(
|
||||
LambDynamicLightsCompat::resolvedPokemonLightLevel,
|
||||
pokemon -> false
|
||||
)
|
||||
);
|
||||
|
||||
// Shouldered Pokémon
|
||||
DynamicLightHandlers.registerDynamicLightHandler(
|
||||
EntityType.PLAYER,
|
||||
DynamicLightHandler.makeHandler(
|
||||
LambDynamicLightsCompat::resolvedPlayerLightLevel,
|
||||
player -> false
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
private static int resolvedPokemonLightLevel(PokemonEntity pokemon) {
|
||||
var underwater = !pokemon.level().getFluidState(BlockPos.containing(pokemon.getX(), pokemon.getEyeY(), pokemon.getZ())).isEmpty();
|
||||
|
||||
ItemStack item = pokemon.getShownItem();
|
||||
int itemLightLevel = item.isEmpty()?0:LambDynLights.getLuminanceFromItemStack(item, underwater);
|
||||
int formLightLevel = extractFormLightLevel(pokemon.getForm(), underwater).orElse(0);
|
||||
|
||||
return Math.max(itemLightLevel, formLightLevel);
|
||||
}
|
||||
|
||||
private static int resolvedPlayerLightLevel(Player player) {
|
||||
var underwater = !player.level().getFluidState(BlockPos.containing(player.getX(), player.getEyeY(), player.getZ())).isEmpty();
|
||||
final int leftShoulderLightLevel = extractShoulderLightLevel(PokemonOnShoulderRenderer.shoulderDataFrom(player.getShoulderEntityLeft()), underwater);
|
||||
final int rightShoulderLightLevel = extractShoulderLightLevel(PokemonOnShoulderRenderer.shoulderDataFrom(player.getShoulderEntityRight()), underwater);
|
||||
final int itemLightLevel = customHeldItemLightLevel(player.getMainHandItem(), player.getOffhandItem());
|
||||
|
||||
return Math.max(itemLightLevel, Math.max(leftShoulderLightLevel, rightShoulderLightLevel));
|
||||
}
|
||||
|
||||
private static Optional<Integer> extractFormLightLevel(@NotNull FormData form, boolean underwater) {
|
||||
if (form.getLightingData() == null || !liquidGlowModeSupport(form.getLightingData().getLiquidGlowMode(), underwater)) {
|
||||
return Optional.empty();
|
||||
}
|
||||
return Optional.of(form.getLightingData().getLightLevel());
|
||||
}
|
||||
|
||||
private static int extractShoulderLightLevel(@Nullable PokemonOnShoulderRenderer.ShoulderData shoulderData, boolean underwater) {
|
||||
if (shoulderData == null) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
ItemStack item = shoulderData.getShownItem();
|
||||
int itemLightLevel = item.isEmpty() ? 0 :LambDynLights.getLuminanceFromItemStack(item, underwater);
|
||||
int formLightLevel = extractFormLightLevel(shoulderData.getForm(), underwater).orElse(0);
|
||||
|
||||
return Math.max(itemLightLevel, formLightLevel);
|
||||
}
|
||||
|
||||
private static int customHeldItemLightLevel(ItemStack mainhand, ItemStack offhand) {
|
||||
return (mainhand.getItem() instanceof PokedexItem || offhand.getItem() instanceof PokedexItem) ? 13 : 0;
|
||||
}
|
||||
|
||||
private static boolean liquidGlowModeSupport(@NotNull LightingData.LiquidGlowMode liquidGlowMode, boolean underwater) {
|
||||
return underwater ? liquidGlowMode.getGlowsUnderwater() : liquidGlowMode.getGlowsInLand();
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* 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.compat.lambdynamiclights;
|
||||
|
||||
import com.cobblemon.mod.common.pokemon.FormData;
|
||||
import com.cobblemon.mod.common.pokemon.lighthing.LightingData;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public abstract class CustomLuminance {
|
||||
protected static Optional<Integer> extractFormLightLevel(@NotNull FormData form, boolean underwater) {
|
||||
if (form.getLightingData() == null || !liquidGlowModeSupport(form.getLightingData().getLiquidGlowMode(), underwater)) {
|
||||
return Optional.empty();
|
||||
}
|
||||
return Optional.of(form.getLightingData().getLightLevel());
|
||||
}
|
||||
|
||||
protected static boolean liquidGlowModeSupport(@NotNull LightingData.LiquidGlowMode liquidGlowMode, boolean underwater) {
|
||||
return underwater ? liquidGlowMode.getGlowsUnderwater() : liquidGlowMode.getGlowsInLand();
|
||||
}
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* 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.compat.lambdynamiclights;
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon;
|
||||
import dev.lambdaurora.lambdynlights.api.DynamicLightsContext;
|
||||
import dev.lambdaurora.lambdynlights.api.DynamicLightsInitializer;
|
||||
import dev.lambdaurora.lambdynlights.api.entity.luminance.EntityLuminance;
|
||||
import dev.lambdaurora.lambdynlights.api.item.ItemLightSourceManager;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
|
||||
public class LambDynamicLightsInitializer implements DynamicLightsInitializer {
|
||||
public static final EntityLuminance.Type POKEMON_LUMINANCE = EntityLuminance.Type.registerSimple(
|
||||
ResourceLocation.fromNamespaceAndPath(Cobblemon.MODID, "pokemon"),
|
||||
PokemonLuminance.INSTANCE
|
||||
);
|
||||
public static final EntityLuminance.Type PLAYER_LUMINANCE = EntityLuminance.Type.registerSimple(
|
||||
ResourceLocation.fromNamespaceAndPath(Cobblemon.MODID, "shoulder"),
|
||||
PlayerLuminance.INSTANCE
|
||||
);
|
||||
|
||||
@Override
|
||||
public void onInitializeDynamicLights(DynamicLightsContext context) {
|
||||
Cobblemon.LOGGER.info("Lamb Dynamic Lights compatibility enabled");
|
||||
|
||||
context.entityLightSourceManager().onRegisterEvent().register(ctx -> {
|
||||
ctx.register(EntityType.PLAYER, PlayerLuminance.INSTANCE);
|
||||
});
|
||||
}
|
||||
|
||||
@SuppressWarnings({"removal", "UnstableApiUsage"})
|
||||
@Override
|
||||
public void onInitializeDynamicLights(ItemLightSourceManager itemLightSourceManager) {}
|
||||
}
|
||||
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* 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.compat.lambdynamiclights;
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon;
|
||||
import com.cobblemon.mod.common.client.render.layer.PokemonOnShoulderRenderer;
|
||||
import dev.lambdaurora.lambdynlights.api.entity.luminance.EntityLuminance;
|
||||
import dev.lambdaurora.lambdynlights.api.item.ItemLightSourceManager;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Range;
|
||||
|
||||
public final class PlayerLuminance extends CustomLuminance implements EntityLuminance {
|
||||
public static final PlayerLuminance INSTANCE = new PlayerLuminance();
|
||||
private static final TagKey<Item> POKEDEX = TagKey.create(Registries.ITEM, ResourceLocation.fromNamespaceAndPath(Cobblemon.MODID, "pokedex"));
|
||||
|
||||
@Override
|
||||
public @NotNull Type type() {
|
||||
return LambDynamicLightsInitializer.PLAYER_LUMINANCE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Range(from = 0L, to = 15L) int getLuminance(@NotNull ItemLightSourceManager itemLightSourceManager, @NotNull Entity entity) {
|
||||
if (entity instanceof Player player) {
|
||||
final int shoulderLightLevel = shoulderLuminance(itemLightSourceManager, player);
|
||||
|
||||
final int itemLightLevel = player.isHolding(stack -> stack.is(POKEDEX)) ? 13 : 0;
|
||||
|
||||
return Math.max(shoulderLightLevel, itemLightLevel);
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
private @Range(from = 0L, to = 15L) static int shoulderLuminance(@NotNull ItemLightSourceManager itemLightSourceManager, @NotNull Player player) {
|
||||
final var leftShoulder = PokemonOnShoulderRenderer.shoulderDataFrom(player.getShoulderEntityLeft());
|
||||
final var rightShoulder = PokemonOnShoulderRenderer.shoulderDataFrom(player.getShoulderEntityRight());
|
||||
|
||||
if (leftShoulder == null && rightShoulder == null) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
final int leftShoulderLightLevel = extractShoulderLightLevel(leftShoulder, itemLightSourceManager, player.isUnderWater());
|
||||
final int rightShoulderLightLevel = extractShoulderLightLevel(rightShoulder, itemLightSourceManager, player.isUnderWater());
|
||||
return Math.max(leftShoulderLightLevel, rightShoulderLightLevel);
|
||||
}
|
||||
|
||||
private static int extractShoulderLightLevel(@Nullable PokemonOnShoulderRenderer.ShoulderData shoulderData, @NotNull ItemLightSourceManager itemLightSourceManager, boolean underwater) {
|
||||
if (shoulderData == null) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
ItemStack item = shoulderData.getShownItem();
|
||||
int itemLightLevel = item.isEmpty() ? 0 : itemLightSourceManager.getLuminance(item, underwater);
|
||||
int formLightLevel = extractFormLightLevel(shoulderData.getForm(), underwater).orElse(0);
|
||||
|
||||
return Math.max(itemLightLevel, formLightLevel);
|
||||
}
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* 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.compat.lambdynamiclights;
|
||||
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity;
|
||||
import dev.lambdaurora.lambdynlights.api.entity.luminance.EntityLuminance;
|
||||
import dev.lambdaurora.lambdynlights.api.item.ItemLightSourceManager;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Range;
|
||||
|
||||
public final class PokemonLuminance extends CustomLuminance implements EntityLuminance {
|
||||
public static final PokemonLuminance INSTANCE = new PokemonLuminance();
|
||||
|
||||
private PokemonLuminance() {}
|
||||
|
||||
@Override
|
||||
public @NotNull Type type() {
|
||||
return LambDynamicLightsInitializer.POKEMON_LUMINANCE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Range(from = 0L, to = 15L) int getLuminance(
|
||||
@NotNull ItemLightSourceManager itemLightSourceManager,
|
||||
@NotNull Entity entity
|
||||
) {
|
||||
if (entity instanceof PokemonEntity pokemon) {
|
||||
boolean underwater = pokemon.isUnderWater();
|
||||
ItemStack item = pokemon.getShownItem();
|
||||
int itemLightLevel = item.isEmpty() ? 0 : itemLightSourceManager.getLuminance(item, underwater);
|
||||
int formLightLevel = extractFormLightLevel(pokemon.getForm(), underwater).orElse(0);
|
||||
|
||||
return Math.max(itemLightLevel, formLightLevel);
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
-7
@@ -31,14 +31,15 @@ public class AbstractClientPlayerMixin {
|
||||
PokedexUsageContext usageContext = CobblemonClient.INSTANCE.getPokedexUsageContext();
|
||||
if (usageContext.getScanningGuiOpen()) {
|
||||
cir.setReturnValue(usageContext.getFovMultiplier());
|
||||
}
|
||||
} else {
|
||||
// Only modify fov through riding if the pokedex is not open
|
||||
LocalPlayer player = (LocalPlayer) (Object) this;
|
||||
if (player != null && player.isPassenger() && player.getVehicle() instanceof PokemonEntity) {
|
||||
PokemonEntity ride = (PokemonEntity) player.getVehicle();
|
||||
|
||||
LocalPlayer player = (LocalPlayer) (Object) this;
|
||||
if (player != null && player.isPassenger() && player.getVehicle() instanceof PokemonEntity) {
|
||||
PokemonEntity ride = (PokemonEntity) player.getVehicle();
|
||||
|
||||
//Return custom fov mult
|
||||
cir.setReturnValue(ride.rideFovMult());
|
||||
// Return custom fov mult for riding
|
||||
cir.setReturnValue(ride.rideFovMult());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* 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.mixin.client;
|
||||
|
||||
import com.cobblemon.mod.common.client.render.player.MountedPlayerRenderer;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import net.minecraft.client.model.AgeableListModel;
|
||||
import net.minecraft.client.model.HumanoidModel;
|
||||
import net.minecraft.client.model.Model;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
/**
|
||||
* This mixin adds to the head of the renderToBuffer function and allows us to detect if it is a HumanoidModel and
|
||||
* is being rendered as part of a player in the world who is riding a PokemonEntity. If so we need to obey any
|
||||
* root animations that have been applied earlier.
|
||||
*
|
||||
* @author Hiroku
|
||||
* @since May 16, 2025
|
||||
*/
|
||||
@Mixin(AgeableListModel.class)
|
||||
public class AgeableListModelMixin {
|
||||
@Inject(method = "renderToBuffer", at = @At("HEAD"))
|
||||
private void cobblemon$renderToBuffer(
|
||||
PoseStack poseStack,
|
||||
VertexConsumer vertexConsumer,
|
||||
int packedLight,
|
||||
int packedOverlay,
|
||||
int colour,
|
||||
CallbackInfo ci
|
||||
) {
|
||||
Model model = (Model) (Object) this;
|
||||
if (model instanceof HumanoidModel<?> && MountedPlayerRenderer.shouldApplyRootAnimation) {
|
||||
MountedPlayerRenderer.INSTANCE.animateRoot(poseStack);
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
-15
@@ -19,20 +19,17 @@ import net.minecraft.world.entity.LivingEntity;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
@Mixin(HumanoidModel.class)
|
||||
public class HumanoidModelMixin {
|
||||
@Unique HashMap<String, ModelPart> relevantPartsByName = new HashMap<>();
|
||||
|
||||
@Shadow @Final
|
||||
public ModelPart head;
|
||||
@Shadow @Final
|
||||
public ModelPart hat;
|
||||
@Shadow @Final
|
||||
public ModelPart rightArm;
|
||||
@Shadow @Final
|
||||
public ModelPart leftArm;
|
||||
@@ -40,6 +37,8 @@ public class HumanoidModelMixin {
|
||||
public ModelPart rightLeg;
|
||||
@Shadow @Final
|
||||
public ModelPart leftLeg;
|
||||
@Shadow @Final
|
||||
public ModelPart body;
|
||||
|
||||
@Inject(method = "setupAnim*", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/model/geom/ModelPart;copyFrom(Lnet/minecraft/client/model/geom/ModelPart;)V", shift = At.Shift.BEFORE))
|
||||
public void cobblemon$animateRiders(
|
||||
@@ -51,19 +50,23 @@ public class HumanoidModelMixin {
|
||||
float headPitch,
|
||||
CallbackInfo ci
|
||||
) {
|
||||
if (relevantPartsByName.isEmpty()) {
|
||||
relevantPartsByName.put("arm_left", leftArm);
|
||||
relevantPartsByName.put("arm_right", rightArm);
|
||||
relevantPartsByName.put("leg_left", leftLeg);
|
||||
relevantPartsByName.put("leg_right", rightLeg);
|
||||
relevantPartsByName.put("head", head);
|
||||
MountedPlayerRenderer.shouldApplyRootAnimation = false;
|
||||
|
||||
if (MountedPlayerRenderer.relevantPartsByName.size() <= 1) {
|
||||
MountedPlayerRenderer.relevantPartsByName.put("arm_left", leftArm);
|
||||
MountedPlayerRenderer.relevantPartsByName.put("arm_right", rightArm);
|
||||
MountedPlayerRenderer.relevantPartsByName.put("leg_left", leftLeg);
|
||||
MountedPlayerRenderer.relevantPartsByName.put("leg_right", rightLeg);
|
||||
MountedPlayerRenderer.relevantPartsByName.put("head", head);
|
||||
MountedPlayerRenderer.relevantPartsByName.put("hat", hat);
|
||||
MountedPlayerRenderer.relevantPartsByName.put("torso", body);
|
||||
}
|
||||
|
||||
Entity vehicle = entity.getVehicle();
|
||||
if (vehicle instanceof PokemonEntity pokemonEntity && entity instanceof OrientationControllable) {
|
||||
var shouldRotatePlayerHead = pokemonEntity.ifRidingAvailableSupply(false, (behaviour, settings, state) -> {
|
||||
return behaviour.shouldRotateRiderHead(settings, state, pokemonEntity);
|
||||
});
|
||||
var shouldRotatePlayerHead = pokemonEntity.ifRidingAvailableSupply(false, (behaviour, settings, state) ->
|
||||
behaviour.shouldRotateRiderHead(settings, state, pokemonEntity)
|
||||
);
|
||||
|
||||
if (!shouldRotatePlayerHead) {
|
||||
netHeadYaw = 0f;
|
||||
@@ -76,7 +79,8 @@ public class HumanoidModelMixin {
|
||||
|
||||
if (!(entity instanceof AbstractClientPlayer player)) return;
|
||||
|
||||
MountedPlayerRenderer.INSTANCE.animate(pokemonEntity, player, relevantPartsByName, netHeadYaw, headPitch, ageInTicks, limbSwing, limbSwingAmount);
|
||||
MountedPlayerRenderer.shouldApplyRootAnimation = true;
|
||||
MountedPlayerRenderer.INSTANCE.animate((HumanoidModel<AbstractClientPlayer>)(Object)this, pokemonEntity, player, netHeadYaw, headPitch, ageInTicks, limbSwing, limbSwingAmount);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -174,6 +174,16 @@ public abstract class LocalPlayerMixin extends AbstractClientPlayer implements O
|
||||
return this.cobblemon$isDoubleJumping;
|
||||
}
|
||||
|
||||
@Inject(method = "isHandsBusy", at = @At("HEAD"), cancellable = true)
|
||||
private void cobblemon$isHandsBusy(CallbackInfoReturnable<Boolean> cir) {
|
||||
Entity vehicle = this.getVehicle();
|
||||
if (vehicle instanceof PokemonEntity pokemonEntity) {
|
||||
int seatIndex = pokemonEntity.getPassengers().indexOf(this);
|
||||
Seat seat = pokemonEntity.getSeats().get(seatIndex);
|
||||
cir.setReturnValue(seat.getHandsBusy());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public HitResult pick(double hitDistance, float partialTicks, boolean hitFluids) {
|
||||
Entity vehicle = this.getVehicle();
|
||||
|
||||
@@ -146,32 +146,30 @@ public abstract class MouseHandlerMixin {
|
||||
return true;
|
||||
}
|
||||
|
||||
//Send mouse input to be interpreted into rotation
|
||||
//deltas by the ride controller
|
||||
// Send mouse input to be interpreted into rotation
|
||||
// deltas by the ride controller
|
||||
Vec3 angVecMouse = cobblemon$getRideMouseRotation(cursorDeltaX, cursorDeltaY, movementTime);
|
||||
|
||||
//Perform Rotation using mouse influenced rotation deltas.
|
||||
// Perform Rotation using mouse influenced rotation deltas.
|
||||
controllable.getOrientationController().rotate(
|
||||
(float) angVecMouse.x,
|
||||
(float) angVecMouse.y,
|
||||
(float) angVecMouse.z
|
||||
);
|
||||
|
||||
//Gather and apply the current rotation deltas
|
||||
// Gather and apply the current rotation deltas
|
||||
var angRot = cobblemon$getAngularVelocity(movementTime);
|
||||
|
||||
//Apply smoothing if requested by the controller.
|
||||
//This Might be best if done by the controller itself?
|
||||
if(cobblemon$shouldUseAngVelSmoothing())
|
||||
{
|
||||
// Apply smoothing if requested by the controller.
|
||||
// This Might be best if done by the controller itself?
|
||||
if(cobblemon$shouldUseAngVelSmoothing()) {
|
||||
var yaw = yawSmoother.getNewDeltaValue(angRot.x * 0.5f, d);
|
||||
var pitch = pitchSmoother.getNewDeltaValue(angRot.y * 0.5f, d);
|
||||
var roll = rollSmoother.getNewDeltaValue(angRot.z * 0.5f, d);
|
||||
controllable.getOrientationController().rotate((float) yaw, (float) pitch, (float) roll);
|
||||
}
|
||||
//Otherwise simply apply the smoothing
|
||||
else
|
||||
{
|
||||
// Otherwise simply apply the smoothing
|
||||
else {
|
||||
controllable.getOrientationController().rotate((float) (angRot.x * 10 * d), (float) (angRot.y * 10 * d), (float) (angRot.z * 10 * d));
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -26,10 +26,10 @@ object CobblemonItemComponents : PlatformRegistry<Registry<DataComponentType<*>>
|
||||
.networkSynchronized(PokemonItemComponent.PACKET_CODEC)
|
||||
.build())
|
||||
|
||||
val HELD_ITEM_REP: DataComponentType<HeldItemCapableComponent> = DataComponentType.builder<HeldItemCapableComponent>()
|
||||
.persistent(HeldItemCapableComponent.CODEC)
|
||||
.networkSynchronized(HeldItemCapableComponent.PACKET_CODEC)
|
||||
.build()
|
||||
val HELD_ITEM_EFFECT: DataComponentType<HeldItemEffectComponent> = create("held_item_effect", DataComponentType.builder<HeldItemEffectComponent>()
|
||||
.persistent(HeldItemEffectComponent.CODEC)
|
||||
.networkSynchronized(HeldItemEffectComponent.PACKET_CODEC)
|
||||
.build())
|
||||
|
||||
val BAIT: DataComponentType<RodBaitComponent> = create("bait", DataComponentType.builder<RodBaitComponent>()
|
||||
.persistent(RodBaitComponent.CODEC)
|
||||
@@ -86,6 +86,7 @@ object CobblemonItemComponents : PlatformRegistry<Registry<DataComponentType<*>>
|
||||
Registry.register(BuiltInRegistries.DATA_COMPONENT_TYPE, ResourceLocation.parse("cobblemon:ingredient"), INGREDIENT)
|
||||
Registry.register(BuiltInRegistries.DATA_COMPONENT_TYPE, ResourceLocation.parse("cobblemon:food"), FOOD)
|
||||
Registry.register(BuiltInRegistries.DATA_COMPONENT_TYPE, ResourceLocation.parse("cobblemon:mob_effects"), MOB_EFFECTS)
|
||||
Registry.register(BuiltInRegistries.DATA_COMPONENT_TYPE, ResourceLocation.parse("cobblemon:held_item_effect"), HELD_ITEM_EFFECT)
|
||||
}
|
||||
|
||||
override val registry = BuiltInRegistries.DATA_COMPONENT_TYPE
|
||||
|
||||
@@ -219,6 +219,7 @@ open class PokemonBattle(
|
||||
}
|
||||
|
||||
fun broadcastChatMessage(component: Component) {
|
||||
if (ended) {return}
|
||||
chatLog.add(component)
|
||||
sendSpectatorUpdate(BattleMessagePacket(component))
|
||||
return actors.forEach { it.sendMessage(component) }
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* 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.api.item
|
||||
|
||||
import com.cobblemon.mod.common.api.data.DataRegistry
|
||||
import com.cobblemon.mod.common.api.reactive.SimpleObservable
|
||||
import com.cobblemon.mod.common.battles.runner.ShowdownService
|
||||
import com.cobblemon.mod.common.pokemon.helditem.CobblemonHeldItemManager
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.server.packs.PackType
|
||||
import net.minecraft.server.packs.resources.ResourceManager
|
||||
import java.io.File
|
||||
|
||||
object HeldItems : DataRegistry {
|
||||
|
||||
override val id = cobblemonResource("held_items")
|
||||
override val type = PackType.SERVER_DATA
|
||||
override val observable = SimpleObservable<HeldItems>()
|
||||
override fun sync(player: ServerPlayer) {}
|
||||
|
||||
// val heldItems = PrioritizedList<BagItemLike>()
|
||||
internal val heldItemsScripts = mutableMapOf<String, String>() // showdown item ID to JavaScript
|
||||
val showdownItems = hashSetOf<String>()
|
||||
|
||||
override fun reload(manager: ResourceManager) {
|
||||
heldItemsScripts.clear()
|
||||
ShowdownService.service.resetRegistryData("heldItem")
|
||||
manager.listResources("held_items") { it.path.endsWith(".js") }.forEach { (identifier, resource) ->
|
||||
resource.open().use { stream ->
|
||||
stream.bufferedReader().use { reader ->
|
||||
val resolvedIdentifier = ResourceLocation.fromNamespaceAndPath(identifier.namespace, File(identifier.path).nameWithoutExtension)
|
||||
val js = reader.readText()
|
||||
heldItemsScripts[resolvedIdentifier.path] = js
|
||||
}
|
||||
}
|
||||
}
|
||||
ShowdownService.service.sendRegistryData(heldItemsScripts, "heldItem")
|
||||
|
||||
val itemsJson = ShowdownService.service.getRegistryData("heldItem")
|
||||
for (i in 0 until itemsJson.size()) {
|
||||
val jsItem = itemsJson[i].asJsonObject
|
||||
showdownItems += jsItem.get("id").asString
|
||||
}
|
||||
|
||||
CobblemonHeldItemManager.load()
|
||||
|
||||
this.observable.emit(this)
|
||||
}
|
||||
}
|
||||
@@ -53,7 +53,6 @@ import com.cobblemon.mod.common.pokemon.ai.ObtainableItemConditionAdapter
|
||||
import com.cobblemon.mod.common.pokemon.evolution.adapters.CobblemonEvolutionAdapter
|
||||
import com.cobblemon.mod.common.pokemon.evolution.adapters.CobblemonPreEvolutionAdapter
|
||||
import com.cobblemon.mod.common.pokemon.evolution.adapters.LegacyItemConditionWrapperAdapter
|
||||
import com.cobblemon.mod.common.pokemon.helditem.CobblemonHeldItemManager
|
||||
import com.cobblemon.mod.common.util.adapters.*
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import com.google.common.collect.HashBasedTable
|
||||
@@ -158,8 +157,6 @@ object PokemonSpecies : JsonDataRegistry<Species> {
|
||||
it.resetRegistryData("species")
|
||||
it.sendRegistryData(allShowdownSpecies(), "species")
|
||||
it.indicateSpeciesInitialized()
|
||||
// Reload this with the mod
|
||||
CobblemonHeldItemManager.load()
|
||||
Cobblemon.LOGGER.info("Loaded {} Pokémon species", this.speciesByIdentifier.size)
|
||||
this.observable.emit(this)
|
||||
}
|
||||
|
||||
@@ -25,7 +25,8 @@ data class Seat(
|
||||
val locator: String?,
|
||||
val offset: Vec3?,
|
||||
val poseOffsets: MutableList<SeatPoseOffset>?,
|
||||
val poseAnimations: MutableList<SeatPoseAnimations>?
|
||||
val poseAnimations: MutableList<SeatPoseAnimations>?,
|
||||
val handsBusy: Boolean = false,
|
||||
) : Encodable {
|
||||
fun getOffset(poseType: PoseType) : Vec3 {
|
||||
return poseOffsets?.firstOrNull { poseType in it.poseTypes }?.offset ?: Vec3.ZERO
|
||||
@@ -40,6 +41,7 @@ data class Seat(
|
||||
buffer.writeNullable(poseAnimations) { _, v ->
|
||||
buffer.writeCollection(v) { _, animations -> animations.encode(buffer) }
|
||||
}
|
||||
buffer.writeBoolean(handsBusy)
|
||||
}
|
||||
|
||||
companion object {
|
||||
@@ -48,7 +50,8 @@ data class Seat(
|
||||
buffer.readNullable { buffer.readString() },
|
||||
buffer.readNullable { buffer.readVec3() },
|
||||
buffer.readNullable { buffer.readList { SeatPoseOffset.decode(buffer) } },
|
||||
buffer.readNullable { buffer.readList { SeatPoseAnimations.decode(buffer) } }
|
||||
buffer.readNullable { buffer.readList { SeatPoseAnimations.decode(buffer) } },
|
||||
buffer.readBoolean()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-5
@@ -10,10 +10,8 @@ package com.cobblemon.mod.common.api.riding.behaviour
|
||||
|
||||
import com.cobblemon.mod.common.api.net.Decodable
|
||||
import com.cobblemon.mod.common.api.net.Encodable
|
||||
import com.cobblemon.mod.common.api.riding.RidingStyle
|
||||
import com.cobblemon.mod.common.api.riding.stats.RidingStat
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
/**
|
||||
* Represents static settings of a riding behaviour.
|
||||
@@ -27,10 +25,9 @@ interface RidingBehaviourSettings: Encodable, Decodable {
|
||||
val key: ResourceLocation
|
||||
val stats: MutableMap<RidingStat, IntRange>
|
||||
|
||||
fun calculate(stat: RidingStat, boosts: Int): Float {
|
||||
fun calculate(stat: RidingStat, boostedAmount: Float): Float {
|
||||
val range = stats[stat] ?: return 0F
|
||||
val boostQuotient = boosts / 255F
|
||||
return range.first + (range.last - range.first) * boostQuotient
|
||||
return (range.first + boostedAmount).coerceAtMost(range.last.toFloat())
|
||||
}
|
||||
|
||||
fun hasStat(stat: RidingStat) = stats.containsKey(stat)
|
||||
|
||||
+1
@@ -49,6 +49,7 @@ class RidingController(
|
||||
if (newTransition != null && behaviourSettings != null) {
|
||||
val newState = RidingBehaviours.get(behaviourSettings.key).createDefaultState(behaviourSettings)
|
||||
context?.let { newState.stamina.set(it.state.stamina.get(), forced = true) }
|
||||
context?.let { newState.rideVelocity.set(it.state.rideVelocity.get(), forced = true) }
|
||||
context = ActiveRidingContext(behaviourSettings.key, behaviourSettings, newState, newTransition)
|
||||
lastTransitionAge = entity.ticksLived
|
||||
} else {
|
||||
|
||||
+32
-21
@@ -21,10 +21,8 @@ import com.cobblemon.mod.common.api.riding.sound.RideSoundSettingsList
|
||||
import com.cobblemon.mod.common.api.riding.stats.RidingStat
|
||||
import com.cobblemon.mod.common.entity.PoseType
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import com.cobblemon.mod.common.util.*
|
||||
import com.cobblemon.mod.common.util.math.geometry.toRadians
|
||||
import net.minecraft.client.Minecraft
|
||||
import net.minecraft.network.FriendlyByteBuf
|
||||
import net.minecraft.network.RegistryFriendlyByteBuf
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
@@ -84,11 +82,15 @@ class BirdBehaviour : RidingBehaviour<BirdSettings, BirdState> {
|
||||
vehicle: PokemonEntity,
|
||||
driver: Player,
|
||||
) {
|
||||
// Also checks stamina
|
||||
val controller = (driver as OrientationControllable).orientationController
|
||||
if (cos(controller.roll.toRadians()) < 0.0) {
|
||||
val upsideDownRate = 1.0 / (2.0 * 20.0) // 2 seconds to max out upsideDown force
|
||||
state.currUpsideDownForce.set( min(1.0, state.currUpsideDownForce.get() + upsideDownRate * abs(cos(controller.roll.toRadians()))))
|
||||
} else { // Its right side up so reset it
|
||||
} else if (state.stamina.get() == 0.0f) {
|
||||
val upsideDownRate = 1.0 / (2.0 * 20.0) // 1 seconds to max out
|
||||
state.currUpsideDownForce.set( min(1.0, state.currUpsideDownForce.get() + upsideDownRate))
|
||||
} else { // Its right side up or has stamina so reset it
|
||||
state.currUpsideDownForce.set(0.0)
|
||||
}
|
||||
}
|
||||
@@ -109,7 +111,7 @@ class BirdBehaviour : RidingBehaviour<BirdSettings, BirdState> {
|
||||
|
||||
val newStam = if (driver.zza > 0.0) max(0.0f,stam - stamDrainRate)
|
||||
else if (!state.gliding.get()) max(0.0f,stam - stamDrainRate * 0.5f) // if hovering half the stam drain
|
||||
else min(1.0f,stam + stamDrainRate * 0.2f)
|
||||
else stam
|
||||
|
||||
state.stamina.set(newStam)
|
||||
}
|
||||
@@ -149,8 +151,7 @@ class BirdBehaviour : RidingBehaviour<BirdSettings, BirdState> {
|
||||
}
|
||||
|
||||
// The downward force used to encourage players to stop flying upside down.
|
||||
val extraDownwardForce = if(state.stamina.get() == 0.0f) -0.3
|
||||
else state.currUpsideDownForce.get().pow(2) * -0.3 // 6 blocks a second downward
|
||||
val extraDownwardForce = state.currUpsideDownForce.get().pow(2) * -0.3 // 6 blocks a second downward
|
||||
|
||||
val velocity = Vec3(state.rideVelocity.get().x , upForce + extraDownwardForce, forwardForce)
|
||||
return velocity
|
||||
@@ -299,10 +300,10 @@ class BirdBehaviour : RidingBehaviour<BirdSettings, BirdState> {
|
||||
// Calculate correcting roll force.
|
||||
// Mult by cos(pitch) to ensure that it doesn't roll correct at when diving or climbing
|
||||
val rollCorrectionTimer = vehicle.runtime.resolveDouble(settings.timeToRollCorrect)
|
||||
val maxRollCorrectionRate = if (state.rideVelocity.get().length() < 0.1) 15.0f else 8.0f * (cos(controller.pitch.toRadians())).pow(2) * ((state.noInputTime.get() - rollCorrectionTimer) * 2).coerceIn(0.0, 1.0).toFloat()
|
||||
val maxRollCorrectionRate = if (state.rideVelocity.get().length() < 0.1) 15.0f else 8.0f * (cos(controller.pitch.toRadians())).pow(2) * ((state.noInputTimeRoll.get() - rollCorrectionTimer) * 2).coerceIn(0.0, 1.0).toFloat()
|
||||
val maxRollForce = maxRollCorrectionRate / 40.0
|
||||
val rollArrivalDeg = 90.0
|
||||
if(state.rideVelocity.get().length() < 0.1 || state.noInputTime.get() > rollCorrectionTimer) {
|
||||
if(state.rideVelocity.get().length() < 0.1 || state.noInputTimeRoll.get() > rollCorrectionTimer) {
|
||||
val arrivalInfluence = (min(rollArrivalDeg,abs(controller.roll).toDouble()) / rollArrivalDeg)
|
||||
val desiredRollForce = (0 - controller.roll).sign * maxRollCorrectionRate * arrivalInfluence
|
||||
var steeredRollForce = desiredRollForce - state.currRollCorrectionForce.get()
|
||||
@@ -324,12 +325,13 @@ class BirdBehaviour : RidingBehaviour<BirdSettings, BirdState> {
|
||||
}
|
||||
|
||||
//Calculate correcting pitch force.
|
||||
val maxPitchCorrectionRate = 15
|
||||
val maxPitchForce = maxPitchCorrectionRate / 40.0
|
||||
val pitchArrivalDeg = 90.0
|
||||
if(state.rideVelocity.get().length() < 0.1) {
|
||||
val arrivalInfluence = (min(pitchArrivalDeg,abs(controller.pitch).toDouble()) / pitchArrivalDeg)
|
||||
val desiredPitchForce = (0 - controller.pitch).sign * maxPitchCorrectionRate * arrivalInfluence
|
||||
val maxPitchCorrectionRate = if (state.currUpsideDownForce.get() != 0.0) 8f * state.currUpsideDownForce.get() else 15f
|
||||
val maxPitchForce = maxPitchCorrectionRate.toFloat() / 40.0f
|
||||
val pitchArrivalDeg = 90.0f
|
||||
val desiredPitch = if (state.currUpsideDownForce.get() != 0.0) 90.0 else 0.0
|
||||
if((state.rideVelocity.get().length() < 0.1 && controller.pitch < 0.0) || state.currUpsideDownForce.get() != 0.0) {
|
||||
val arrivalInfluence = (min(pitchArrivalDeg,abs(controller.pitch - desiredPitch).toFloat()) / pitchArrivalDeg)
|
||||
val desiredPitchForce = (desiredPitch - controller.pitch).sign * maxPitchCorrectionRate.toFloat() * arrivalInfluence
|
||||
var steeredPitchForce = desiredPitchForce - state.currPitchCorrectionForce.get()
|
||||
|
||||
// Ensure the 'steering' correction force doesn't exceed our maxForce
|
||||
@@ -364,9 +366,15 @@ class BirdBehaviour : RidingBehaviour<BirdSettings, BirdState> {
|
||||
// Begin the roll correction time counter if not enough mouse input
|
||||
// is detected
|
||||
if (abs(mouseX) < 1 && abs(mouseY) < 1) {
|
||||
state.noInputTime.set(state.noInputTime.get() + deltaTime)
|
||||
state.noInputTimeRoll.set(state.noInputTimeRoll.get() + deltaTime)
|
||||
} else {
|
||||
state.noInputTime.set(0.0)
|
||||
state.noInputTimeRoll.set(0.0)
|
||||
}
|
||||
|
||||
if (abs(mouseY) < 1) {
|
||||
state.noInputTimePitch.set(state.noInputTimePitch.get() + deltaTime)
|
||||
} else {
|
||||
state.noInputTimePitch.set(0.0)
|
||||
}
|
||||
|
||||
return when {
|
||||
@@ -487,7 +495,7 @@ class BirdBehaviour : RidingBehaviour<BirdSettings, BirdState> {
|
||||
// - pitch faster at higher speeds
|
||||
val p = 1.0 - vehicle.runtime.resolveDouble(settings.horizontalPitchExpr)
|
||||
var localPitch = yInput * (1 - abs(sin(controller.roll.toRadians())).pow(2) * p * hypot(controller.forwardVector.x.toDouble(), controller.forwardVector.z.toDouble()).toFloat())
|
||||
localPitch *= if (currHorzSpeed > hoverSpeed) RidingBehaviour.scaleToRange(currHorzSpeed, hoverSpeed, topSpeed)
|
||||
localPitch *= if (currSpeed > hoverSpeed || yInput > 0.0) RidingBehaviour.scaleToRange(currSpeed, 0.0, topSpeed).coerceIn(0.2, 1.0)
|
||||
else 0.0
|
||||
|
||||
// Roll less when slow and not at all when at hoverSpeed or lower.
|
||||
@@ -649,7 +657,7 @@ class BirdSettings : RidingBehaviourSettings {
|
||||
var speedExpr: Expression = "q.get_ride_stats('SPEED', 'AIR', 20.0, 4.0)".asExpression()
|
||||
// Seconds from stationary to top speed
|
||||
var accelerationExpr: Expression = "q.get_ride_stats('ACCELERATION', 'AIR', 2.0, 8.0)".asExpression()
|
||||
var staminaExpr: Expression = "q.get_ride_stats('STAMINA', 'AIR', 15.0, 2.0)".asExpression()
|
||||
var staminaExpr: Expression = "q.get_ride_stats('STAMINA', 'AIR', 60.0, 15.0)".asExpression()
|
||||
|
||||
var glidespeedExpr: Expression = "q.get_ride_stats('JUMP', 'AIR', 2.0, 1.0)".asExpression()
|
||||
private set
|
||||
@@ -693,7 +701,8 @@ class BirdState : RidingBehaviourState() {
|
||||
var lastGlide = ridingState(-100L, Side.CLIENT)
|
||||
var currRollCorrectionForce = ridingState(0.0, Side.CLIENT)
|
||||
var currPitchCorrectionForce = ridingState(0.0, Side.CLIENT)
|
||||
var noInputTime = ridingState(0.0, Side.CLIENT)
|
||||
var noInputTimeRoll = ridingState(0.0, Side.CLIENT)
|
||||
var noInputTimePitch = ridingState(0.0, Side.CLIENT)
|
||||
var currUpsideDownForce = ridingState(0.0, Side.CLIENT)
|
||||
|
||||
override fun encode(buffer: FriendlyByteBuf) {
|
||||
@@ -712,7 +721,8 @@ class BirdState : RidingBehaviourState() {
|
||||
lastGlide.set(-100L, forced = true)
|
||||
currRollCorrectionForce.set(0.0, forced = true)
|
||||
currPitchCorrectionForce.set(0.0, forced = true)
|
||||
noInputTime.set(0.0, forced = true)
|
||||
noInputTimeRoll.set(0.0, forced = true)
|
||||
noInputTimePitch.set(0.0, forced = true)
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
@@ -726,7 +736,8 @@ class BirdState : RidingBehaviourState() {
|
||||
it.lastGlide.set(this.lastGlide.get(), forced = true)
|
||||
it.currRollCorrectionForce.set(this.currRollCorrectionForce.get(), forced = true)
|
||||
it.currPitchCorrectionForce.set(this.currPitchCorrectionForce.get(), forced = true)
|
||||
it.noInputTime.set(this.noInputTime.get(), forced = true)
|
||||
it.noInputTimeRoll.set(this.noInputTimeRoll.get(), forced = true)
|
||||
it.noInputTimePitch.set(this.noInputTimePitch.get(), forced = true)
|
||||
}
|
||||
|
||||
override fun shouldSync(previous: RidingBehaviourState): Boolean {
|
||||
|
||||
+1
-1
@@ -75,7 +75,7 @@ class GliderBehaviour : RidingBehaviour<GliderSettings, RidingBehaviourState> {
|
||||
val xVector = if (vehicle.runtime.resolveBoolean(settings.canStrafe)) driver.xxa.toDouble() else 0.0
|
||||
val yVector = -vehicle.runtime.resolveDouble(settings.glideSpeed)
|
||||
val zVector = driver.zza.toDouble()
|
||||
val speedStat = settings.calculate(RidingStat.SPEED, 0)
|
||||
val speedStat = settings.calculate(RidingStat.SPEED, 0F)
|
||||
return Vec3(xVector, yVector, zVector)
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -11,8 +11,6 @@ package com.cobblemon.mod.common.api.riding.behaviour.types.air
|
||||
import com.bedrockk.molang.Expression
|
||||
import com.cobblemon.mod.common.api.riding.RidingStyle
|
||||
import com.cobblemon.mod.common.api.riding.behaviour.*
|
||||
import com.cobblemon.mod.common.api.riding.behaviour.types.land.HorseSettings
|
||||
import com.cobblemon.mod.common.api.riding.behaviour.types.land.HorseState
|
||||
import com.cobblemon.mod.common.api.riding.posing.PoseOption
|
||||
import com.cobblemon.mod.common.api.riding.posing.PoseProvider
|
||||
import com.cobblemon.mod.common.api.riding.sound.RideSoundSettingsList
|
||||
@@ -27,7 +25,6 @@ import net.minecraft.network.RegistryFriendlyByteBuf
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.util.Mth
|
||||
import net.minecraft.util.SmoothDouble
|
||||
import net.minecraft.world.entity.Entity
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.player.Player
|
||||
import net.minecraft.world.level.ClipContext
|
||||
@@ -131,8 +128,8 @@ class HoverBehaviour : RidingBehaviour<HoverSettings, HoverState> {
|
||||
) {
|
||||
val stam = state.stamina.get()
|
||||
val stamDrainRate = (1.0f / vehicle.runtime.resolveDouble(settings.staminaExpr)).toFloat() / 20.0f
|
||||
|
||||
val newStam = if (state.tooHigh.get()) max(0.0f, stam - stamDrainRate) else min(1.0f,stam + stamDrainRate)
|
||||
val stamReplenishRate = (1.0f / vehicle.runtime.resolveDouble(settings.stamReplenishTimeSeconds) ).toFloat() / 20.0f // 2 seconds to replenish a full bar of stamina
|
||||
val newStam = if (state.tooHigh.get()) max(0.0f, stam - stamDrainRate) else min(1.0f,stam + stamReplenishRate)
|
||||
|
||||
state.stamina.set(newStam)
|
||||
}
|
||||
@@ -433,6 +430,9 @@ class HoverSettings : RidingBehaviourSettings {
|
||||
var canJump = "true".asExpression()
|
||||
private set
|
||||
|
||||
var stamReplenishTimeSeconds = "2.0".asExpression()
|
||||
private set
|
||||
|
||||
// Speed in block per second
|
||||
var speedExpr: Expression = "q.get_ride_stats('SPEED', 'AIR', 7.0, 1.0)".asExpression()
|
||||
private set
|
||||
|
||||
+17
-10
@@ -87,7 +87,7 @@ class JetBehaviour : RidingBehaviour<JetSettings, JetState> {
|
||||
val boostKeyPressed = Minecraft.getInstance().options.keySprint.isDown()
|
||||
|
||||
if(state.stamina.get() != 0.0f && boostKeyPressed) {
|
||||
if (state.stamina.get() >= 0.25f) {
|
||||
if (state.stamina.get() >= 0.0f) {
|
||||
//If on the previous tick the boost key was held then don't change if the ride is boosting
|
||||
if(state.boostIsToggleable.get()) {
|
||||
//flip the boosting state if boost key is pressed
|
||||
@@ -172,8 +172,9 @@ class JetBehaviour : RidingBehaviour<JetSettings, JetState> {
|
||||
driver: Player
|
||||
) {
|
||||
val topSpeed = vehicle.runtime.resolveDouble(settings.speedExpr) / 20.0
|
||||
val accel = vehicle.runtime.resolveDouble(settings.accelerationExpr) / 400.0
|
||||
val minSpeed = vehicle.runtime.resolveDouble(settings.minSpeed) / 20.0
|
||||
val accel = topSpeed / (vehicle.runtime.resolveDouble(settings.accelerationExpr) * 20.0)
|
||||
val deccel = vehicle.runtime.resolveDouble(settings.deccelRate)//0.005
|
||||
val minSpeed = topSpeed * vehicle.runtime.resolveDouble(settings.minSpeedFactor)
|
||||
val speed = state.rideVelocity.get().length()
|
||||
val boostMult = vehicle.runtime.resolveDouble(settings.jumpExpr)
|
||||
|
||||
@@ -187,7 +188,7 @@ class JetBehaviour : RidingBehaviour<JetSettings, JetState> {
|
||||
Vec3(
|
||||
state.rideVelocity.get().x,
|
||||
state.rideVelocity.get().y,
|
||||
max(state.rideVelocity.get().z - ((accel) / 2), minSpeed * 0.5)
|
||||
max(state.rideVelocity.get().z - (deccel), minSpeed * 0.5)
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -215,7 +216,7 @@ class JetBehaviour : RidingBehaviour<JetSettings, JetState> {
|
||||
Vec3(
|
||||
state.rideVelocity.get().x,
|
||||
state.rideVelocity.get().y,
|
||||
max(state.rideVelocity.get().z - ((accel) / 2), minSpeed)
|
||||
max(state.rideVelocity.get().z - (deccel), minSpeed)
|
||||
)
|
||||
)
|
||||
} else if (speed > topSpeed) {
|
||||
@@ -526,7 +527,11 @@ class JetSettings : RidingBehaviourSettings {
|
||||
var gravity: Expression = "0".asExpression()
|
||||
private set
|
||||
|
||||
var minSpeed: Expression = "12.0".asExpression()
|
||||
var deccelRate: Expression = "0.005".asExpression()
|
||||
private set
|
||||
|
||||
// Mult to top speed in order to derive minSpeed
|
||||
var minSpeedFactor: Expression = "0.25".asExpression()
|
||||
private set
|
||||
|
||||
var handlingYawExpr: Expression = "q.get_ride_stats('SKILL', 'AIR', 50.0, 25.0)".asExpression()
|
||||
@@ -546,9 +551,9 @@ class JetSettings : RidingBehaviourSettings {
|
||||
// Top Speed in blocks per second
|
||||
var speedExpr: Expression = "q.get_ride_stats('SPEED', 'AIR', 24.0, 4.0)".asExpression()
|
||||
private set
|
||||
// Acceleration in blocks per s^2
|
||||
// Seconds to get to top speed
|
||||
var accelerationExpr: Expression =
|
||||
"q.get_ride_stats('ACCELERATION', 'AIR', 4.0, 1.0)".asExpression()
|
||||
"q.get_ride_stats('ACCELERATION', 'AIR', 3.0, 8.0)".asExpression()
|
||||
private set
|
||||
// Time in seconds to drain full bar of stamina flying
|
||||
var staminaExpr: Expression = "q.get_ride_stats('STAMINA', 'AIR', 60.0, 4.0)".asExpression()
|
||||
@@ -561,7 +566,8 @@ class JetSettings : RidingBehaviourSettings {
|
||||
buffer.writeRidingStats(stats)
|
||||
rideSounds.encode(buffer)
|
||||
buffer.writeExpression(gravity)
|
||||
buffer.writeExpression(minSpeed)
|
||||
buffer.writeExpression(deccelRate)
|
||||
buffer.writeExpression(minSpeedFactor)
|
||||
buffer.writeExpression(handlingYawExpr)
|
||||
buffer.writeExpression(infiniteStamina)
|
||||
buffer.writeExpression(jumpExpr)
|
||||
@@ -575,7 +581,8 @@ class JetSettings : RidingBehaviourSettings {
|
||||
stats.putAll(buffer.readRidingStats())
|
||||
rideSounds = RideSoundSettingsList.decode(buffer)
|
||||
gravity = buffer.readExpression()
|
||||
minSpeed = buffer.readExpression()
|
||||
deccelRate = buffer.readExpression()
|
||||
minSpeedFactor = buffer.readExpression()
|
||||
handlingYawExpr = buffer.readExpression()
|
||||
infiniteStamina = buffer.readExpression()
|
||||
jumpExpr = buffer.readExpression()
|
||||
|
||||
+15
@@ -18,6 +18,7 @@ import com.cobblemon.mod.common.api.riding.stats.RidingStat
|
||||
import com.cobblemon.mod.common.entity.PoseType
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.cobblemon.mod.common.util.*
|
||||
import com.cobblemon.mod.common.util.math.geometry.toRadians
|
||||
import net.minecraft.core.Direction
|
||||
import net.minecraft.network.FriendlyByteBuf
|
||||
import net.minecraft.network.RegistryFriendlyByteBuf
|
||||
@@ -30,6 +31,7 @@ import net.minecraft.world.entity.player.Player
|
||||
import net.minecraft.world.phys.Vec2
|
||||
import net.minecraft.world.phys.Vec3
|
||||
import net.minecraft.world.phys.shapes.Shapes
|
||||
import org.joml.Matrix3f
|
||||
import kotlin.math.*
|
||||
|
||||
class HorseBehaviour : RidingBehaviour<HorseSettings, HorseState> {
|
||||
@@ -243,8 +245,21 @@ class HorseBehaviour : RidingBehaviour<HorseSettings, HorseState> {
|
||||
* Gather the previous velocity and check for horizontal
|
||||
* collisions
|
||||
*****************************************************/
|
||||
val dmSpeed = vehicle.deltaMovement.length()
|
||||
val rvSpeed = state.rideVelocity.get().length()
|
||||
var newVelocity = state.rideVelocity.get() //.normalize().scale(vehicle.deltaMovement.horizontalDistance())
|
||||
|
||||
/******************************************************
|
||||
* Gather the previous velocity and check for horizontal
|
||||
* collisions
|
||||
*****************************************************/
|
||||
// if (dmSpeed > rvSpeed) {
|
||||
// // align the velocity vector to be in local vehicle space
|
||||
// newVelocity = vehicle.deltaMovement
|
||||
// val yawAligned = Matrix3f().rotateY(-vehicle.yRot.toRadians())
|
||||
// newVelocity = (newVelocity.toVector3f().mul(yawAligned)).toVec3d()
|
||||
// }
|
||||
|
||||
if (vehicle.horizontalCollision) {
|
||||
newVelocity = newVelocity.normalize().scale(vehicle.deltaMovement.length())
|
||||
}
|
||||
|
||||
@@ -42,9 +42,10 @@ class RideLoopSound(val ride: PokemonEntity, val soundSettings: RideSoundSetting
|
||||
var fade: Float = 0.0f
|
||||
var shouldMuffle: Boolean = soundSettings.muffleEnabled
|
||||
var rideAttenuation: RideAttenuationModel = soundSettings.attenuationModel
|
||||
var muffleAmount: Float = 1.0f // Currently slightly misleading. 1.0 is on muffle and 0.0 is full hFgain muting
|
||||
// TODO: revisit below flag once multi passenger support is enabled
|
||||
var isPassenger: Boolean = Minecraft.getInstance().player?.id == ride.controllingPassenger?.id
|
||||
var muffleAmount: Float = 1.0f // Currently slightly misleading. 1.0 is no muffle and 0.0 is full hFgain muting
|
||||
var isPassenger: Boolean = ride.passengers.any { passenger ->
|
||||
Minecraft.getInstance().player?.id == passenger.id
|
||||
}
|
||||
|
||||
init {
|
||||
this.looping = true
|
||||
|
||||
@@ -181,7 +181,7 @@ object ShowdownInterpreter {
|
||||
while (iterator.hasNext()) {
|
||||
val message = iterator.next()
|
||||
val id = message.id.replace("|", "")
|
||||
val instruction = updateInstructionParser[id]?.invoke(battle, instructionSet, message, iterator) ?: UnknownInstruction(message)
|
||||
val instruction: InterpreterInstruction = updateInstructionParser[id]?.invoke(battle, instructionSet, message, iterator) ?: UnknownInstruction(message)
|
||||
instructionSet.instructions.add(instruction)
|
||||
}
|
||||
}
|
||||
|
||||
+92
-11
@@ -15,6 +15,9 @@ import com.cobblemon.mod.common.CobblemonMemories
|
||||
import com.cobblemon.mod.common.api.battles.interpreter.BattleMessage
|
||||
import com.cobblemon.mod.common.api.battles.interpreter.Effect
|
||||
import com.cobblemon.mod.common.api.battles.model.PokemonBattle
|
||||
import com.cobblemon.mod.common.api.battles.model.actor.EntityBackedBattleActor
|
||||
import com.cobblemon.mod.common.api.events.CobblemonEvents
|
||||
import com.cobblemon.mod.common.api.events.battles.BattleFledEvent
|
||||
import com.cobblemon.mod.common.api.molang.MoLangFunctions.addBattleMessageFunctions
|
||||
import com.cobblemon.mod.common.api.molang.MoLangFunctions.addStandardFunctions
|
||||
import com.cobblemon.mod.common.api.molang.MoLangFunctions.asMostSpecificMoLangValue
|
||||
@@ -22,19 +25,24 @@ import com.cobblemon.mod.common.api.moves.Moves
|
||||
import com.cobblemon.mod.common.api.moves.animations.ActionEffectContext
|
||||
import com.cobblemon.mod.common.api.moves.animations.TargetsProvider
|
||||
import com.cobblemon.mod.common.api.moves.animations.UsersProvider
|
||||
import com.cobblemon.mod.common.api.text.yellow
|
||||
import com.cobblemon.mod.common.battles.ShowdownInterpreter
|
||||
import com.cobblemon.mod.common.battles.actor.PlayerBattleActor
|
||||
import com.cobblemon.mod.common.battles.dispatch.CauserInstruction
|
||||
import com.cobblemon.mod.common.battles.dispatch.GO
|
||||
import com.cobblemon.mod.common.battles.dispatch.InstructionSet
|
||||
import com.cobblemon.mod.common.battles.dispatch.InterpreterInstruction
|
||||
import com.cobblemon.mod.common.battles.dispatch.UntilDispatch
|
||||
import com.cobblemon.mod.common.battles.pokemon.BattlePokemon
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.cobblemon.mod.common.pokemon.evolution.progress.UseMoveEvolutionProgress
|
||||
import com.cobblemon.mod.common.util.asArrayValue
|
||||
import com.cobblemon.mod.common.util.battleLang
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import com.cobblemon.mod.common.util.*
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.sounds.SoundEvents
|
||||
import java.util.concurrent.CompletableFuture
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import java.lang.Math.*
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
/**
|
||||
* Format: |move|POKEMON|MOVE|TARGET
|
||||
@@ -72,17 +80,27 @@ class MoveInstruction(
|
||||
val pokemonName = userPokemon.getName()
|
||||
ShowdownInterpreter.lastCauser[battle.battleId] = message
|
||||
// For Spread targets the message data only gives the pnx strings. So we can't know what pokemon are actually targeted until the previous messages have been interpreted
|
||||
val spreadTargetPokemon = spreadTargets.map { battle.activePokemon.firstOrNull() { poke -> poke.getPNX() == it }?.battlePokemon }
|
||||
val spreadTargetPokemon =
|
||||
spreadTargets.map { battle.activePokemon.firstOrNull() { poke -> poke.getPNX() == it }?.battlePokemon }
|
||||
|
||||
val targetPokemonEntity = targetPokemon?.entity
|
||||
if (targetPokemonEntity != null) {
|
||||
userPokemon.entity?.brain?.setMemory(CobblemonMemories.TARGETED_BATTLE_POKEMON, targetPokemonEntity.uuid)
|
||||
userPokemon.entity?.brain?.setMemory(
|
||||
CobblemonMemories.TARGETED_BATTLE_POKEMON,
|
||||
targetPokemonEntity.uuid
|
||||
)
|
||||
}
|
||||
|
||||
userPokemon.effectedPokemon.let { pokemon ->
|
||||
if (UseMoveEvolutionProgress.supports(pokemon, move)) {
|
||||
val progress = pokemon.evolutionProxy.current().progressFirstOrCreate({ it is UseMoveEvolutionProgress && it.currentProgress().move == move }) { UseMoveEvolutionProgress() }
|
||||
progress.updateProgress(UseMoveEvolutionProgress.Progress(move, progress.currentProgress().amount + 1))
|
||||
val progress = pokemon.evolutionProxy.current()
|
||||
.progressFirstOrCreate({ it is UseMoveEvolutionProgress && it.currentProgress().move == move }) { UseMoveEvolutionProgress() }
|
||||
progress.updateProgress(
|
||||
UseMoveEvolutionProgress.Progress(
|
||||
move,
|
||||
progress.currentProgress().amount + 1
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,7 +122,7 @@ class MoveInstruction(
|
||||
|
||||
val providers = mutableListOf<Any>(battle)
|
||||
userPokemon.effectedPokemon.entity?.let { entity ->
|
||||
runtime.environment.query.addFunction("user") { entity.asMostSpecificMoLangValue()}
|
||||
runtime.environment.query.addFunction("user") { entity.asMostSpecificMoLangValue() }
|
||||
UsersProvider(entity)
|
||||
}?.let(providers::add)
|
||||
|
||||
@@ -128,6 +146,24 @@ class MoveInstruction(
|
||||
level = battle.players.firstOrNull()?.level()
|
||||
)
|
||||
|
||||
if (isWildTeleport(battle)) {
|
||||
var teleportSuccess = false
|
||||
val teleportingEntity = userPokemon.originalPokemon.entity
|
||||
if (teleportingEntity != null) {
|
||||
teleportSuccess = tryTeleport(battle.players.firstOrNull()?.level() as ServerLevel, teleportingEntity, 10, 30, 32)
|
||||
}
|
||||
|
||||
if (teleportSuccess){
|
||||
battle.ended = true
|
||||
battle.dispatchWaiting(1.0F) {
|
||||
battle.actors.filterIsInstance<EntityBackedBattleActor<*>>().mapNotNull { it.entity }
|
||||
.forEach { it.sendSystemMessage(battleLang("wild_flee", pokemonName).yellow()) }
|
||||
battle.end()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
val subsequentInstructions = instructionSet.findInstructionsCausedBy(this)
|
||||
val missedTargets = subsequentInstructions.filterIsInstance<MissInstruction>().mapNotNull { it.target }
|
||||
val hitCountInstruction = subsequentInstructions.filterIsInstance<HitCountInstruction>().firstOrNull()
|
||||
@@ -141,7 +177,8 @@ class MoveInstruction(
|
||||
}
|
||||
}
|
||||
|
||||
val hurtTargets = subsequentInstructions.filterIsInstance<DamageInstruction>().mapNotNull { it.expectedTarget }
|
||||
val hurtTargets =
|
||||
subsequentInstructions.filterIsInstance<DamageInstruction>().mapNotNull { it.expectedTarget }
|
||||
runtime.environment.query.addFunction("hurt") { params ->
|
||||
if (params.params.size == 0) {
|
||||
return@addFunction DoubleValue(hurtTargets.isNotEmpty())
|
||||
@@ -164,8 +201,52 @@ class MoveInstruction(
|
||||
return@dispatch UntilDispatch { "effects" !in holds }.andThen {
|
||||
val userPokemonId = userPokemon.entity?.uuid ?: return@andThen
|
||||
val targets = hurtTargets.mapNotNull { it.entity }
|
||||
userPokemonId.let { id -> targets.forEach { it.brain.setMemory(CobblemonMemories.TARGETED_BATTLE_POKEMON, id) } }
|
||||
userPokemonId.let { id ->
|
||||
targets.forEach {
|
||||
it.brain.setMemory(
|
||||
CobblemonMemories.TARGETED_BATTLE_POKEMON,
|
||||
id
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun tryTeleport(
|
||||
level: ServerLevel,
|
||||
pokemon: PokemonEntity,
|
||||
minRadius: Int,
|
||||
maxRadius: Int,
|
||||
attempts: Int
|
||||
): Boolean {
|
||||
val origin = pokemon.blockPosition()
|
||||
val rng = level.random
|
||||
var success = false
|
||||
|
||||
for (i in 0 until attempts) {
|
||||
val dist = rng.nextInt(minRadius, maxRadius + 1)
|
||||
val angle = rng.nextDouble() * (PI * 2.0)
|
||||
val dx = (cos(angle) * dist)
|
||||
val dz = (sin(angle) * dist)
|
||||
val x = (origin.x + dx)
|
||||
val yOffsetMax = rng.nextInt(5, 15)
|
||||
val z = (origin.z + dz)
|
||||
val yOffsets = (0..yOffsetMax).flatMap { listOf(it, -it) }.distinct()
|
||||
|
||||
//iterate over possible y distance, tries least vertical movement first
|
||||
for (yOffset in yOffsets){
|
||||
success = pokemon.randomTeleport(x, pokemon.position().y + yOffset, z, false)
|
||||
if (success) {
|
||||
level.playSoundServer(origin.toVec3d(), SoundEvents.PLAYER_TELEPORT)
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
fun isWildTeleport(battle: PokemonBattle) : Boolean {
|
||||
return move.name == "teleport" && message.battlePokemon(0, battle)?.originalPokemon?.isWild() ?: false
|
||||
}
|
||||
}
|
||||
+92
-3
@@ -9,30 +9,63 @@
|
||||
package com.cobblemon.mod.common.client.render.player
|
||||
|
||||
import com.bedrockk.molang.runtime.value.DoubleValue
|
||||
import com.cobblemon.mod.common.api.riding.RidingAnimation
|
||||
import com.cobblemon.mod.common.client.entity.PokemonClientDelegate
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.bedrock.animation.BedrockAnimationRepository
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.mojang.blaze3d.vertex.PoseStack
|
||||
import com.mojang.math.Axis
|
||||
import net.minecraft.client.model.AnimationUtils
|
||||
import net.minecraft.client.model.HumanoidModel
|
||||
import net.minecraft.client.model.geom.ModelPart
|
||||
import net.minecraft.client.player.AbstractClientPlayer
|
||||
import net.minecraft.world.InteractionHand
|
||||
import net.minecraft.world.entity.HumanoidArm
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
/**
|
||||
* @author landonjw
|
||||
*/
|
||||
object MountedPlayerRenderer {
|
||||
@JvmField
|
||||
var shouldApplyRootAnimation = false
|
||||
|
||||
@JvmField
|
||||
val relevantPartsByName = mutableMapOf(
|
||||
"body" to ModelPart(emptyList(), emptyMap()),
|
||||
)
|
||||
|
||||
val defaultAnimations = listOf(
|
||||
RidingAnimation(
|
||||
fileName = "player",
|
||||
animationName = "animation.player.default_ride_pose"
|
||||
)
|
||||
)
|
||||
|
||||
fun animate(
|
||||
model: HumanoidModel<AbstractClientPlayer>,
|
||||
pokemonEntity: PokemonEntity,
|
||||
player: AbstractClientPlayer,
|
||||
relevantPartsByName: Map<String, ModelPart>,
|
||||
headYaw: Float,
|
||||
headPitch: Float,
|
||||
ageInTicks: Float,
|
||||
limbSwing: Float,
|
||||
limbSwingAmount: Float
|
||||
) {
|
||||
// We need to reset the root because it's a synthetic part, Minecraft won't do this for us.
|
||||
val root = relevantPartsByName["body"] ?: return
|
||||
root.x = 0F
|
||||
root.y = 0F
|
||||
root.z = 0F
|
||||
root.xRot = 0F
|
||||
root.yRot = 0F
|
||||
root.zRot = 0F
|
||||
|
||||
val seatIndex = pokemonEntity.passengers.indexOf(player).takeIf { it != -1 && it < pokemonEntity.seats.size } ?: return
|
||||
val seat = pokemonEntity.seats[seatIndex]
|
||||
val animations = seat.poseAnimations?.firstOrNull { it.poseTypes.isEmpty() || it.poseTypes.contains(pokemonEntity.getCurrentPoseType()) }?.animations
|
||||
?: return
|
||||
val animations = seat.poseAnimations
|
||||
?.firstOrNull { it.poseTypes.isEmpty() || it.poseTypes.contains(pokemonEntity.getCurrentPoseType()) }?.animations
|
||||
?: defaultAnimations
|
||||
val state = pokemonEntity.delegate as PokemonClientDelegate
|
||||
|
||||
relevantPartsByName.values.forEach {
|
||||
@@ -44,6 +77,8 @@ object MountedPlayerRenderer {
|
||||
state.runtime.environment.setSimpleVariable("age_in_ticks", DoubleValue(ageInTicks.toDouble()))
|
||||
state.runtime.environment.setSimpleVariable("limb_swing", DoubleValue(limbSwing.toDouble()))
|
||||
state.runtime.environment.setSimpleVariable("limb_swing_amount", DoubleValue(limbSwingAmount.toDouble()))
|
||||
state.runtime.environment.setSimpleVariable("head_yaw", DoubleValue(headYaw.toDouble()))
|
||||
state.runtime.environment.setSimpleVariable("head_pitch", DoubleValue(headPitch.toDouble()))
|
||||
|
||||
// TODO add the q.player reference, requires a cached thing or something on the client idk
|
||||
|
||||
@@ -61,5 +96,59 @@ object MountedPlayerRenderer {
|
||||
intensity = 1F
|
||||
)
|
||||
}
|
||||
|
||||
applyRegularAnimation(model, player, ageInTicks)
|
||||
}
|
||||
|
||||
/**
|
||||
* This does what Minecraft would typically do for various additional body part
|
||||
* rendering thingies. It's largely copy paste.
|
||||
*/
|
||||
fun applyRegularAnimation(
|
||||
model: HumanoidModel<AbstractClientPlayer>,
|
||||
player: AbstractClientPlayer,
|
||||
ageInTicks: Float
|
||||
) {
|
||||
val rightHanded = player.mainArm == HumanoidArm.RIGHT
|
||||
if (player.isUsingItem) {
|
||||
val usingMainHand = player.usedItemHand == InteractionHand.MAIN_HAND
|
||||
if (usingMainHand == rightHanded) {
|
||||
model.poseRightArm(player)
|
||||
} else {
|
||||
model.poseLeftArm(player)
|
||||
}
|
||||
} else {
|
||||
val offHandIsTwoHanded: Boolean = if (rightHanded) model.leftArmPose.isTwoHanded else model.rightArmPose.isTwoHanded
|
||||
if (rightHanded != offHandIsTwoHanded) {
|
||||
model.poseLeftArm(player)
|
||||
model.poseRightArm(player)
|
||||
} else {
|
||||
model.poseRightArm(player)
|
||||
model.poseLeftArm(player)
|
||||
}
|
||||
}
|
||||
|
||||
model.setupAttackAnimation(player, ageInTicks)
|
||||
|
||||
if (model.rightArmPose != HumanoidModel.ArmPose.SPYGLASS) {
|
||||
AnimationUtils.bobModelPart(model.rightArm, ageInTicks, 1.0F);
|
||||
}
|
||||
|
||||
if (model.leftArmPose != HumanoidModel.ArmPose.SPYGLASS) {
|
||||
AnimationUtils.bobModelPart(model.leftArm, ageInTicks, -1.0F);
|
||||
}
|
||||
|
||||
model.hat.copyFrom(model.head)
|
||||
}
|
||||
|
||||
const val RIDING_SITTING_OFFSET = -10.0
|
||||
fun animateRoot(stack: PoseStack) {
|
||||
val root = relevantPartsByName["body"] ?: return
|
||||
val rootOffset = Vec3(root.x.toDouble(), root.y.toDouble() + RIDING_SITTING_OFFSET, root.z.toDouble()).scale(1/16.0)
|
||||
val rotation = Vec3(root.xRot.toDouble(), root.yRot.toDouble(), root.zRot.toDouble())
|
||||
stack.mulPose(Axis.ZP.rotation(rotation.z.toFloat()))
|
||||
stack.mulPose(Axis.YP.rotation(rotation.y.toFloat()))
|
||||
stack.mulPose(Axis.XP.rotation(rotation.x.toFloat()))
|
||||
stack.translate(rootOffset.x.toFloat(), rootOffset.y.toFloat(), rootOffset.z.toFloat())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
package com.cobblemon.mod.common.command
|
||||
|
||||
import com.cobblemon.mod.common.api.abilities.Abilities
|
||||
import com.cobblemon.mod.common.api.item.HeldItems
|
||||
import com.cobblemon.mod.common.api.moves.Moves
|
||||
import com.cobblemon.mod.common.api.pokemon.PokemonSpecies
|
||||
import com.cobblemon.mod.common.battles.BagItems
|
||||
@@ -36,7 +37,7 @@ object ReloadShowdownCommand {
|
||||
ShowdownService.service.resetAllRegistries()
|
||||
ShowdownService.service.sendRegistryData(Abilities.abilityScripts, "ability")
|
||||
ShowdownService.service.sendRegistryData(BagItems.bagItemsScripts, "bagItem")
|
||||
// TODO: ShowdownService.service.sendRegistryData(notYetImplemented, "heldItem")
|
||||
ShowdownService.service.sendRegistryData(HeldItems.heldItemsScripts, "heldItem")
|
||||
ShowdownService.service.sendRegistryData(Moves.moveScripts, "move")
|
||||
ShowdownService.service.sendRegistryData(PokemonSpecies.allShowdownSpecies(), "species")
|
||||
context.source.sendSystemMessage(Component.literal("Reloaded showdown"))
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.cobblemon.mod.common.api.fishing.PokeRods
|
||||
import com.cobblemon.mod.common.api.fossil.Fossils
|
||||
import com.cobblemon.mod.common.api.fossil.NaturalMaterials
|
||||
import com.cobblemon.mod.common.api.interaction.PokemonInteractions
|
||||
import com.cobblemon.mod.common.api.item.HeldItems
|
||||
import com.cobblemon.mod.common.api.mark.Marks
|
||||
import com.cobblemon.mod.common.api.moves.Moves
|
||||
import com.cobblemon.mod.common.api.moves.animations.ActionEffects
|
||||
@@ -87,6 +88,7 @@ object CobblemonDataProvider : DataProvider {
|
||||
this.register(CobblemonSpawnRules)
|
||||
this.register(CobblemonMechanics)
|
||||
this.register(BagItems)
|
||||
this.register(HeldItems)
|
||||
this.register(Dialogues)
|
||||
this.register(NaturalMaterials)
|
||||
this.register(Fossils)
|
||||
|
||||
@@ -15,9 +15,11 @@ import com.google.common.collect.ImmutableMap
|
||||
import java.util.UUID
|
||||
import kotlin.math.pow
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.world.entity.MoverType
|
||||
import net.minecraft.world.entity.ai.behavior.Behavior
|
||||
import net.minecraft.world.entity.ai.memory.MemoryModuleType
|
||||
import net.minecraft.world.entity.ai.memory.MemoryStatus
|
||||
import net.minecraft.world.entity.ai.memory.WalkTarget
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
class FollowHerdLeaderTask : Behavior<PokemonEntity>(
|
||||
@@ -67,8 +69,14 @@ class FollowHerdLeaderTask : Behavior<PokemonEntity>(
|
||||
entity.brain.eraseMemory(CobblemonMemories.HERD_LEADER) // We can't go where this guy's going
|
||||
return
|
||||
}
|
||||
entity.setFlying(true)
|
||||
entity.addDeltaMovement(Vec3(0.0, 2.0, 0.0))
|
||||
entity.brain.setMemory(
|
||||
MemoryModuleType.WALK_TARGET,
|
||||
CobblemonWalkTarget(
|
||||
pos = leader.blockPosition(),
|
||||
speedModifier = 0.3F,
|
||||
completionRange = closeEnough.toInt()
|
||||
)
|
||||
)
|
||||
} else if (leaderMoveControl.banking) {
|
||||
if (leader.isInLiquid && !entity.isInLiquid) {
|
||||
// We should get into water asap so we can mimic the banking
|
||||
|
||||
@@ -10,6 +10,7 @@ package com.cobblemon.mod.common.entity.ai
|
||||
|
||||
import com.cobblemon.mod.common.entity.OmniPathingEntity
|
||||
import com.cobblemon.mod.common.pokemon.ai.OmniPathNodeMaker
|
||||
import com.cobblemon.mod.common.util.deleteNode
|
||||
import com.cobblemon.mod.common.util.getWaterAndLavaIn
|
||||
import com.cobblemon.mod.common.util.toVec3d
|
||||
import com.google.common.collect.ImmutableSet
|
||||
@@ -269,6 +270,28 @@ class OmniPathNavigation(val world: Level, val entity: Mob) : GroundPathNavigati
|
||||
override fun trimPath() {
|
||||
super.trimPath()
|
||||
val path = getPath() ?: return
|
||||
|
||||
// What's there to trim
|
||||
if (path.nodeCount < 2) {
|
||||
return
|
||||
}
|
||||
|
||||
/*
|
||||
* Sometimes entities spin in place at the start of their path
|
||||
* because of rounding stuff (I think) so try to detect those
|
||||
* cases and nix the first node so they just move forward.
|
||||
*/
|
||||
val introNode = path.getNode(0)
|
||||
val subsequentNode = path.getNode(1)
|
||||
val mobMiddle = entity.position()
|
||||
val toIntroNode = introNode.asVec3().add(0.5, 0.0, 0.5).subtract(mobMiddle)
|
||||
val toSubsequentNode = subsequentNode.asVec3().add(0.5, 0.0, 0.5).subtract(mobMiddle)
|
||||
// if the first two nodes are pointing in opposite directions (>90 degrees) from the entity or the second node is closer, trim the first node
|
||||
if (toIntroNode.dot(toSubsequentNode) < 0 || toIntroNode.lengthSqr() > toSubsequentNode.lengthSqr()) {
|
||||
path.deleteNode(0)
|
||||
}
|
||||
|
||||
|
||||
var i = 2
|
||||
|
||||
// Tries to skip some nodes that are all lined up
|
||||
|
||||
@@ -96,6 +96,7 @@ import com.cobblemon.mod.common.net.messages.client.sound.UnvalidatedPlaySoundS2
|
||||
import com.cobblemon.mod.common.net.messages.client.spawn.SpawnPokemonPacket
|
||||
import com.cobblemon.mod.common.net.messages.client.ui.InteractPokemonUIPacket
|
||||
import com.cobblemon.mod.common.net.messages.server.behaviour.DamageOnCollisionPacket
|
||||
import com.cobblemon.mod.common.net.messages.server.riding.DismountPokemonPacket
|
||||
import com.cobblemon.mod.common.net.serverhandling.storage.SendOutPokemonHandler.SEND_OUT_DURATION
|
||||
import com.cobblemon.mod.common.pokeball.PokeBall
|
||||
import com.cobblemon.mod.common.pokedex.scanner.PokedexEntityData
|
||||
@@ -123,6 +124,7 @@ import java.util.UUID
|
||||
import java.util.concurrent.CompletableFuture
|
||||
import kotlin.math.PI
|
||||
import kotlin.math.ceil
|
||||
import kotlin.math.max
|
||||
import kotlin.math.min
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.core.component.DataComponents
|
||||
@@ -174,6 +176,7 @@ import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.level.Level
|
||||
import net.minecraft.world.level.LightLayer
|
||||
import net.minecraft.world.level.block.SuspiciousEffectHolder
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import net.minecraft.world.level.gameevent.GameEvent
|
||||
import net.minecraft.world.level.material.EmptyFluid
|
||||
import net.minecraft.world.level.material.FluidState
|
||||
@@ -1795,7 +1798,7 @@ open class PokemonEntity(
|
||||
for (passenger in this.passengers) {
|
||||
passenger.deltaMovement = this.deltaMovement
|
||||
}
|
||||
this.ejectPassengers()
|
||||
DismountPokemonPacket().sendToServer()
|
||||
|
||||
// Reset ride velocity
|
||||
state.rideVelocity.set(state.rideVelocity.get().multiply(0.0, 1.0, 0.0))
|
||||
@@ -1862,6 +1865,13 @@ open class PokemonEntity(
|
||||
fun isFalling() =
|
||||
this.fallDistance > 0 && this.level().getBlockState(this.blockPosition().below()).isAir && !this.isFlying()
|
||||
|
||||
override fun checkFallDamage(y: Double, onGround: Boolean, state: BlockState, pos: BlockPos) {
|
||||
super.checkFallDamage(y, onGround, state, pos)
|
||||
if (isFlying() && this.passengers.isEmpty() && y < 0.0 && !onGround) {
|
||||
fallDistance = 0F // Prevent fall damage after flying without a rider
|
||||
}
|
||||
}
|
||||
|
||||
override fun getCurrentPoseType(): PoseType = this.entityData.get(POSE_TYPE)
|
||||
|
||||
/**
|
||||
@@ -2034,10 +2044,6 @@ open class PokemonEntity(
|
||||
}
|
||||
|
||||
override fun canBeLeashed() = true
|
||||
// override fun canBeLeashedBy(player: Player): Boolean {
|
||||
// return this.ownerUuid == null || this.ownerUuid == player.uuid
|
||||
// }
|
||||
|
||||
override fun setLeashedTo(entity: Entity, bl: Boolean) {
|
||||
super.setLeashedTo(entity, bl)
|
||||
if (this.ownerUUID != null && this.ownerUUID != entity.uuid) {
|
||||
@@ -2045,8 +2051,8 @@ open class PokemonEntity(
|
||||
}
|
||||
}
|
||||
|
||||
/** Retrieves the battle theme associated with this Pokemon's Species/Form, or the default PVW theme if not found. */
|
||||
fun getBattleTheme() = this.form.battleTheme ?: CobblemonSounds.PVW_BATTLE.location
|
||||
/** Retrieves the battle theme associated with this Pokemon's Species/Form which falls back to the default PVW theme if not found. */
|
||||
fun getBattleTheme() = this.form.battleTheme
|
||||
|
||||
/**
|
||||
* A utility method to instance a [Pokemon] aware if the [world] is client sided or not.
|
||||
@@ -2061,21 +2067,22 @@ open class PokemonEntity(
|
||||
|
||||
// Takes in a requested stat type with a base minimum and base maximum and returns the interpolated
|
||||
// stat based on the boost of that pokemons stat
|
||||
fun getRideStat(stat: RidingStat, style: RidingStyle, baseMin: Double, baseMax: Double): Double {
|
||||
//TODO: Change from static zero boost once aprijuice is implemented.
|
||||
if (rideStatOverrides[style] != null && rideStatOverrides[style]!![stat] != null) {
|
||||
return (((baseMax - baseMin) / 100) * rideStatOverrides[style]!![stat]!!) + baseMin
|
||||
fun getRideStat(rideStat: RidingStat, style: RidingStyle, baseMin: Double, baseMax: Double): Double {
|
||||
if (rideStatOverrides[style] != null && rideStatOverrides[style]!![rideStat] != null) {
|
||||
return (((baseMax - baseMin) / 100) * rideStatOverrides[style]!![rideStat]!!) + baseMin
|
||||
}
|
||||
val stat = this.rideProp.behaviours?.get(style)?.calculate(stat, 0) ?: return 0.0
|
||||
val stat = this.rideProp.behaviours?.get(style)?.calculate(rideStat, entityData.get(RIDE_BOOSTS)[rideStat] ?: 0F) ?: return 0.0
|
||||
val statVal = (((baseMax - baseMin) / 100) * stat) + baseMin
|
||||
return statVal
|
||||
// Cap the minimum value at a very small value to prevent control inversions and other unexpected behaviour in
|
||||
// the ride controllers when using negative values
|
||||
return max(statVal, 1e-6)
|
||||
}
|
||||
|
||||
fun getRawRideStat(stat: RidingStat, style: RidingStyle): Double {
|
||||
if (rideStatOverrides[style] != null && rideStatOverrides[style]!![stat] != null) {
|
||||
return rideStatOverrides[style]!![stat]!!
|
||||
}
|
||||
return this.rideProp.behaviours?.get(style)?.calculate(stat, 0)?.toDouble() ?: 0.0
|
||||
return this.rideProp.behaviours?.get(style)?.calculate(stat, 0F)?.toDouble() ?: 0.0
|
||||
}
|
||||
|
||||
internal fun overrideRideStat(style: RidingStyle, stat: RidingStat, value: Double) {
|
||||
|
||||
-26
@@ -1,26 +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.item.components
|
||||
|
||||
import com.mojang.serialization.Codec
|
||||
import io.netty.buffer.ByteBuf
|
||||
import net.minecraft.network.codec.ByteBufCodecs
|
||||
import net.minecraft.network.codec.StreamCodec
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
|
||||
data class HeldItemCapableComponent(val item: ResourceLocation) {
|
||||
companion object {
|
||||
val CODEC: Codec<HeldItemCapableComponent> = ResourceLocation.CODEC.xmap(
|
||||
{ HeldItemCapableComponent(it) },
|
||||
{ it.item }
|
||||
)
|
||||
|
||||
val PACKET_CODEC: StreamCodec<ByteBuf, HeldItemCapableComponent> = ByteBufCodecs.fromCodec(CODEC)
|
||||
}
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* 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.item.components
|
||||
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import io.netty.buffer.ByteBuf
|
||||
import net.minecraft.network.codec.ByteBufCodecs
|
||||
import net.minecraft.network.codec.StreamCodec
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
|
||||
data class HeldItemEffectComponent(val showdownId: String, val consumed: Boolean = false) {
|
||||
companion object {
|
||||
val CODEC: Codec<HeldItemEffectComponent> = RecordCodecBuilder.create { builder ->
|
||||
builder.group(
|
||||
Codec.STRING.fieldOf("showdownId").forGetter { it.showdownId },
|
||||
Codec.BOOL.fieldOf("consumed").forGetter { it.consumed },
|
||||
).apply(builder, ::HeldItemEffectComponent)
|
||||
}
|
||||
|
||||
val PACKET_CODEC: StreamCodec<ByteBuf, HeldItemEffectComponent> = ByteBufCodecs.fromCodec(CODEC)
|
||||
}
|
||||
|
||||
override fun toString(): String { return showdownId }
|
||||
|
||||
override fun equals(other: Any?): Boolean =
|
||||
other is HeldItemEffectComponent
|
||||
&& this.showdownId == other.showdownId
|
||||
&& this.consumed == other.consumed
|
||||
|
||||
override fun hashCode(): Int {
|
||||
var result = consumed.hashCode()
|
||||
result = 31 * result + showdownId.hashCode()
|
||||
return result
|
||||
}
|
||||
}
|
||||
+39
-26
@@ -12,6 +12,7 @@ import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.api.mark.Marks
|
||||
import com.cobblemon.mod.common.api.pokeball.PokeBalls
|
||||
import com.cobblemon.mod.common.api.pokemon.PokemonSpecies
|
||||
import com.cobblemon.mod.common.api.riding.stats.RidingStat
|
||||
import com.cobblemon.mod.common.entity.PlatformType
|
||||
import com.cobblemon.mod.common.entity.PoseType
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
@@ -26,31 +27,32 @@ import net.minecraft.network.protocol.game.ClientboundAddEntityPacket
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
|
||||
class SpawnPokemonPacket(
|
||||
var ownerId: UUID?,
|
||||
var pokemonUUID: UUID,
|
||||
var scaleModifier: Float,
|
||||
var speciesId: ResourceLocation,
|
||||
var gender: Gender,
|
||||
var shiny: Boolean,
|
||||
var formName: String,
|
||||
var aspects: Set<String>,
|
||||
var battleId: UUID?,
|
||||
var phasingTargetId: Int,
|
||||
var beamMode: Byte,
|
||||
var platform: PlatformType,
|
||||
var nickname: MutableComponent?,
|
||||
var mark: ResourceLocation?,
|
||||
var labelLevel: Int,
|
||||
var poseType: PoseType,
|
||||
var unbattlable: Boolean,
|
||||
var hideLabel: Boolean,
|
||||
var caughtBall: ResourceLocation,
|
||||
var spawnYaw: Float,
|
||||
var friendship: Int,
|
||||
var freezeFrame: Float,
|
||||
var passengers: IntArray,
|
||||
var tickSpawned: Int,
|
||||
vanillaSpawnPacket: ClientboundAddEntityPacket,
|
||||
var ownerId: UUID?,
|
||||
var pokemonUUID: UUID,
|
||||
var scaleModifier: Float,
|
||||
var speciesId: ResourceLocation,
|
||||
var gender: Gender,
|
||||
var shiny: Boolean,
|
||||
var formName: String,
|
||||
var aspects: Set<String>,
|
||||
var battleId: UUID?,
|
||||
var phasingTargetId: Int,
|
||||
var beamMode: Byte,
|
||||
var platform: PlatformType,
|
||||
var nickname: MutableComponent?,
|
||||
var mark: ResourceLocation?,
|
||||
var labelLevel: Int,
|
||||
var poseType: PoseType,
|
||||
var unbattlable: Boolean,
|
||||
var hideLabel: Boolean,
|
||||
var caughtBall: ResourceLocation,
|
||||
var spawnYaw: Float,
|
||||
var friendship: Int,
|
||||
var freezeFrame: Float,
|
||||
var passengers: IntArray,
|
||||
var tickSpawned: Int,
|
||||
var rideBoosts: Map<RidingStat, Float>,
|
||||
vanillaSpawnPacket: ClientboundAddEntityPacket,
|
||||
) : SpawnExtraDataEntityPacket<SpawnPokemonPacket, PokemonEntity>(vanillaSpawnPacket) {
|
||||
|
||||
override val id: ResourceLocation = ID
|
||||
@@ -80,6 +82,7 @@ class SpawnPokemonPacket(
|
||||
entity.entityData.get(PokemonEntity.FREEZE_FRAME),
|
||||
entity.passengers.map { it.id }.toIntArray(),
|
||||
entity.tickCount,
|
||||
entity.entityData.get(PokemonEntity.RIDE_BOOSTS),
|
||||
vanillaSpawnPacket
|
||||
)
|
||||
|
||||
@@ -108,6 +111,11 @@ class SpawnPokemonPacket(
|
||||
buffer.writeFloat(this.freezeFrame)
|
||||
buffer.writeVarIntArray(this.passengers)
|
||||
buffer.writeInt(this.tickSpawned)
|
||||
buffer.writeMap(
|
||||
rideBoosts,
|
||||
{ _, stat -> buffer.writeEnumConstant(stat) },
|
||||
{ _, value -> buffer.writeFloat(value) }
|
||||
)
|
||||
}
|
||||
|
||||
override fun applyData(entity: PokemonEntity, level: ClientLevel) {
|
||||
@@ -137,6 +145,7 @@ class SpawnPokemonPacket(
|
||||
entity.entityData.set(PokemonEntity.SPAWN_DIRECTION, spawnYaw)
|
||||
entity.entityData.set(PokemonEntity.FRIENDSHIP, friendship)
|
||||
entity.entityData.set(PokemonEntity.FREEZE_FRAME, freezeFrame)
|
||||
entity.entityData.set(PokemonEntity.RIDE_BOOSTS, rideBoosts)
|
||||
|
||||
entity.ejectPassengers()
|
||||
passengers.forEach {
|
||||
@@ -176,9 +185,13 @@ class SpawnPokemonPacket(
|
||||
val freezeFrame = buffer.readFloat()
|
||||
val passengers = buffer.readVarIntArray()
|
||||
val tickSpawned = buffer.readInt()
|
||||
val rideBoosts = buffer.readMap(
|
||||
{ buffer.readEnumConstant(RidingStat::class.java) },
|
||||
{ buffer.readFloat() }
|
||||
)
|
||||
val vanillaPacket = decodeVanillaPacket(buffer)
|
||||
|
||||
return SpawnPokemonPacket(ownerId, pokemonUUID, scaleModifier, speciesId, gender, shiny, formName, aspects, battleId, phasingTargetId, beamModeEmitter, platform, nickname, mark, labelLevel, poseType, unbattlable, hideLabel, caughtBall, spawnAngle, friendship, freezeFrame, passengers, tickSpawned, vanillaPacket)
|
||||
return SpawnPokemonPacket(ownerId, pokemonUUID, scaleModifier, speciesId, gender, shiny, formName, aspects, battleId, phasingTargetId, beamModeEmitter, platform, nickname, mark, labelLevel, poseType, unbattlable, hideLabel, caughtBall, spawnAngle, friendship, freezeFrame, passengers, tickSpawned, rideBoosts, vanillaPacket)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1821,8 +1821,13 @@ open class Pokemon : ShowdownIdentifiable {
|
||||
moveSet.update()
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the largest conceivable boost that can be granted to a stat. This is effectively the widest range
|
||||
* from min to max of this stat for any of the styles. For example, if ACCELERATION is from 10 to 40 in one
|
||||
* style and 20 to 60 in another, the max ride boost is 40.
|
||||
*/
|
||||
fun getMaxRideBoost(stat: RidingStat): Int {
|
||||
return form.riding.behaviours?.maxOf { it.value.stats[stat]?.endInclusive ?: 0 } ?: 0
|
||||
return form.riding.behaviours?.maxOf { it.value.stats[stat]?.let { it.last - it.first } ?: 0 } ?: 0
|
||||
}
|
||||
|
||||
fun getRideBoost(stat: RidingStat): Float {
|
||||
|
||||
+4
-10
@@ -10,9 +10,9 @@ package com.cobblemon.mod.common.pokemon.helditem
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.CobblemonItemComponents
|
||||
import com.cobblemon.mod.common.api.item.HeldItems
|
||||
import com.cobblemon.mod.common.api.pokemon.helditem.HeldItemManager
|
||||
import com.cobblemon.mod.common.battles.pokemon.BattlePokemon
|
||||
import com.cobblemon.mod.common.battles.runner.ShowdownService
|
||||
import com.google.common.collect.HashBiMap
|
||||
import net.minecraft.core.registries.BuiltInRegistries
|
||||
import net.minecraft.network.chat.Component
|
||||
@@ -32,17 +32,11 @@ abstract class BaseCobblemonHeldItemManager : HeldItemManager {
|
||||
|
||||
internal open fun load() {
|
||||
this.itemIds.clear()
|
||||
val itemsJson = ShowdownService.service.getRegistryData("heldItem")
|
||||
val showdownIds = hashSetOf<String>()
|
||||
for (i in 0 until itemsJson.size()) {
|
||||
val jsItem = itemsJson[i].asJsonObject
|
||||
showdownIds += jsItem.get("id").asString
|
||||
}
|
||||
BuiltInRegistries.ITEM.forEach { item ->
|
||||
val identifier = BuiltInRegistries.ITEM.getKey(item)
|
||||
if (identifier.namespace == Cobblemon.MODID) {
|
||||
val formattedPath = identifier.path.replace("_", "")
|
||||
if (showdownIds.contains(formattedPath)) {
|
||||
if (HeldItems.showdownItems.contains(formattedPath)) {
|
||||
this.itemIds[formattedPath] = item
|
||||
}
|
||||
}
|
||||
@@ -51,9 +45,9 @@ abstract class BaseCobblemonHeldItemManager : HeldItemManager {
|
||||
|
||||
override fun showdownId(pokemon: BattlePokemon): String? {
|
||||
val item = pokemon.effectedPokemon.heldItemNoCopy()
|
||||
val identifier = item.get(CobblemonItemComponents.HELD_ITEM_REP)?.item ?: BuiltInRegistries.ITEM.getKey(item.item)
|
||||
val identifier = item.get(CobblemonItemComponents.HELD_ITEM_EFFECT)?.showdownId ?: BuiltInRegistries.ITEM.getKey(item.item).path
|
||||
|
||||
val formattedPath = identifier.path.replace("_", "")
|
||||
val formattedPath = identifier.replace("_", "")
|
||||
if (this.itemIds.containsKey(formattedPath)) {
|
||||
return formattedPath
|
||||
}
|
||||
|
||||
+16
-5
@@ -9,6 +9,7 @@
|
||||
package com.cobblemon.mod.common.pokemon.helditem
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.CobblemonItemComponents.HELD_ITEM_EFFECT
|
||||
import com.cobblemon.mod.common.api.battles.interpreter.BattleMessage
|
||||
import com.cobblemon.mod.common.api.battles.model.PokemonBattle
|
||||
import com.cobblemon.mod.common.api.pokemon.helditem.HeldItemManager
|
||||
@@ -60,9 +61,12 @@ object CobblemonHeldItemManager : BaseCobblemonHeldItemManager() {
|
||||
|
||||
override fun showdownId(pokemon: BattlePokemon): String? {
|
||||
val itemStack = pokemon.effectedPokemon.heldItemNoCopy()
|
||||
if (remaps.containsKey(itemStack.item)) {
|
||||
|
||||
if (itemStack.has(HELD_ITEM_EFFECT))
|
||||
return itemStack.get(HELD_ITEM_EFFECT)!!.showdownId
|
||||
|
||||
if (remaps.containsKey(itemStack.item))
|
||||
return remaps[itemStack.item]
|
||||
}
|
||||
|
||||
for (remap in stackRemaps) {
|
||||
val id = remap.apply(itemStack)
|
||||
@@ -80,9 +84,11 @@ object CobblemonHeldItemManager : BaseCobblemonHeldItemManager() {
|
||||
}
|
||||
|
||||
fun showdownId(itemStack: ItemStack): String? {
|
||||
if (remaps.containsKey(itemStack.item)) {
|
||||
if (itemStack.has(HELD_ITEM_EFFECT))
|
||||
return itemStack.get(HELD_ITEM_EFFECT)?.showdownId
|
||||
|
||||
if (remaps.containsKey(itemStack.item))
|
||||
return remaps[itemStack.item]
|
||||
}
|
||||
|
||||
for (remap in stackRemaps) {
|
||||
val id = remap.apply(itemStack)
|
||||
@@ -173,13 +179,18 @@ object CobblemonHeldItemManager : BaseCobblemonHeldItemManager() {
|
||||
}
|
||||
|
||||
override fun shouldConsumeItem(pokemon: BattlePokemon, battle: PokemonBattle, showdownId: String): Boolean {
|
||||
val itemStack = pokemon.effectedPokemon.heldItem()
|
||||
|
||||
if (itemStack.has(HELD_ITEM_EFFECT))
|
||||
return itemStack.get(HELD_ITEM_EFFECT)!!.consumed
|
||||
|
||||
// In 3rd party and the future battles might have multiple types, give it a priority from pvp down to wild.
|
||||
val tag = when {
|
||||
battle.isPvP -> CobblemonItemTags.CONSUMED_IN_PVP_BATTLE
|
||||
battle.isPvN -> CobblemonItemTags.CONSUMED_IN_NPC_BATTLE
|
||||
else -> CobblemonItemTags.CONSUMED_IN_WILD_BATTLE
|
||||
}
|
||||
return pokemon.effectedPokemon.heldItem().`is`(tag)
|
||||
return itemStack.`is`(tag)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"format_version": "1.8.0",
|
||||
"animations": {
|
||||
"animation.player.test_riding_pose": {
|
||||
"loop": "hold_on_last_frame",
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": [22.5, 0, 0],
|
||||
"position": [0, 6, 0]
|
||||
},
|
||||
"arm_right": {
|
||||
"rotation": [-145.18392, -14.90835, "-20.3017894552"]
|
||||
},
|
||||
"leg_right": {
|
||||
"rotation": [47.48933, -18.97397, 16.56855]
|
||||
},
|
||||
"arm_left": {
|
||||
"rotation": [-145.18392, -14.90835, 20.30179]
|
||||
},
|
||||
"leg_left": {
|
||||
"rotation": [48.65802, 13.31791, -11.45696]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.player.default_ride_pose": {
|
||||
"loop": "hold_on_last_frame",
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, -10, 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": ["v.head_pitch", "v.head_yaw", 0]
|
||||
},
|
||||
"arm_right": {
|
||||
"rotation": [-40, 0, 0]
|
||||
},
|
||||
"arm_left": {
|
||||
"rotation": [-40, 0, 0]
|
||||
},
|
||||
"leg_right": {
|
||||
"rotation": [-81, 18, 4.5]
|
||||
},
|
||||
"leg_left": {
|
||||
"rotation": [-81, -18, -4.5]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+3
-2
@@ -5,9 +5,10 @@
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, -9, 0]
|
||||
"position": [0, -9, 0],
|
||||
"rotation": [25, 0, 0]
|
||||
},
|
||||
"torso": {
|
||||
"_torso_disabled_because_it_cannot_be_reparented": {
|
||||
"rotation": [25, 0, 0]
|
||||
},
|
||||
"arm_right": {
|
||||
|
||||
+699
-79
@@ -1,79 +1,15 @@
|
||||
{
|
||||
"format_version": "1.8.0",
|
||||
"animations": {
|
||||
"animation.dewgong.pose": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": [0, 12.5, 0]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": [2.41492, 0.64686, -14.98637]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": [34.97911, 1.05627, -2.26603]
|
||||
},
|
||||
"tail3": {
|
||||
"rotation": [46.78082, -13.99545, -14.43276]
|
||||
},
|
||||
"tail4": {
|
||||
"rotation": [7.5, 0, 0]
|
||||
},
|
||||
"tail6": {
|
||||
"rotation": [30, 0, 0]
|
||||
},
|
||||
"chest": {
|
||||
"rotation": [-32.5, 0, 0]
|
||||
},
|
||||
"neck": {
|
||||
"rotation": [-52.52635, -1.5216, 1.98385]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [83.46987, -8.35694, -6.53013],
|
||||
"position": [0.58854, -0.68263, -0.01172]
|
||||
},
|
||||
"flipper_left": {
|
||||
"rotation": [32.28184, -14.8934, 25.70507],
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_left2": {
|
||||
"rotation": [0, -15, -15]
|
||||
},
|
||||
"flipper_left3": {
|
||||
"rotation": [0, 0, -37.5]
|
||||
},
|
||||
"flipper_right": {
|
||||
"rotation": [99.40658, 28.75123, -7.23212],
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_right2": {
|
||||
"rotation": [0, 0, 15]
|
||||
},
|
||||
"flipper_right3": {
|
||||
"rotation": [0, 0, 37.5]
|
||||
},
|
||||
"tail5": {
|
||||
"rotation": [27.5, 0, 0]
|
||||
},
|
||||
"eye_right": {
|
||||
"position": [0.25, 0, 0]
|
||||
},
|
||||
"eye_highlight_left": {
|
||||
"position": [0.25, 0, 0]
|
||||
},
|
||||
"eye_highlight_right": {
|
||||
"position": [0.25, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dewgong.ground_idle": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": [-5, 0, 0]
|
||||
"rotation": ["-5+Math.cos((query.anim_time) * 90 * 2) * 1", 0, 0],
|
||||
"position": [0, 0, "0+Math.cos((query.anim_time) * 90 * 2) * -0.3"]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": [-2.5, 0, 0]
|
||||
"rotation": ["-2.5+Math.cos((query.anim_time) * 90 * 2) * -1", 0, 0]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": [0, 0, 0]
|
||||
@@ -88,16 +24,16 @@
|
||||
"rotation": [5, 0, 0]
|
||||
},
|
||||
"chest": {
|
||||
"rotation": [-32.5, 0, 0]
|
||||
"rotation": ["-32.5+Math.cos((query.anim_time) * 90 * 2 - 45) * 0.5", 0, 0]
|
||||
},
|
||||
"neck": {
|
||||
"rotation": [-50, 0, 0]
|
||||
"rotation": ["-50+Math.cos((query.anim_time) * 90 * 2) * -1", 0, 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [85, 0, 0]
|
||||
"rotation": ["85+Math.cos((query.anim_time) * 90 * 2 + 45) * 1", 0, 0]
|
||||
},
|
||||
"flipper_left": {
|
||||
"rotation": [25.90134, -21.60983, 48.92416],
|
||||
"rotation": [25.90134, -21.60983, "51.4242+Math.cos((query.anim_time) * 90 * 2) * -1"],
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_left2": {
|
||||
@@ -107,7 +43,7 @@
|
||||
"rotation": [0, 0, -37.5]
|
||||
},
|
||||
"flipper_right": {
|
||||
"rotation": [25.90134, 21.60983, -48.92416],
|
||||
"rotation": [25.90134, 21.60983, "-51.4242+Math.cos((query.anim_time) * 90 * 2) * 1"],
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_right2": {
|
||||
@@ -117,7 +53,507 @@
|
||||
"rotation": [0, 0, 37.5]
|
||||
},
|
||||
"torso": {
|
||||
"rotation": [5, 0, 0]
|
||||
"rotation": ["5+Math.cos((query.anim_time) * 90 * 2) * -0.5", 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dewgong.ground_walk": {
|
||||
"loop": true,
|
||||
"animation_length": 1,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": {
|
||||
"0.0": [-5, 0, 0],
|
||||
"0.1667": [-0.495, 0, 0],
|
||||
"0.25": [0, 0, 0],
|
||||
"0.3333": [-0.5, 0, 0],
|
||||
"0.5": [-4.795, 0, 0],
|
||||
"0.5417": [-5.4, 0, 0],
|
||||
"0.6667": [-5, 0, 0]
|
||||
},
|
||||
"position": {
|
||||
"0.0": [0, 0, "0+Math.cos((query.anim_time) * 90 * 4) * 3"],
|
||||
"0.0833": [0, 0, "0+Math.cos((query.anim_time) * 90 * 4) * 3"],
|
||||
"0.2083": [0, 1.36, "0+Math.cos((query.anim_time) * 90 * 4) * 3"],
|
||||
"0.2917": [0, 1.845, "0+Math.cos((query.anim_time) * 90 * 4) * 3"],
|
||||
"0.3333": [0, 2, "0+Math.cos((query.anim_time) * 90 * 4) * 3"],
|
||||
"0.375": [0, 1.845, "0+Math.cos((query.anim_time) * 90 * 4) * 3"],
|
||||
"0.4583": [0, 1.36, "0+Math.cos((query.anim_time) * 90 * 4) * 3"],
|
||||
"0.5833": [0, 0, "0+Math.cos((query.anim_time) * 90 * 4) * 3"]
|
||||
}
|
||||
},
|
||||
"tail": {
|
||||
"rotation": {
|
||||
"0.0": [5.775, 0, 0],
|
||||
"0.1667": [-13.44, 0, 0],
|
||||
"0.2083": [-15, 0, 0],
|
||||
"0.5": [0, 0, 0],
|
||||
"0.875": [7.5, 0, 0],
|
||||
"1.0": [5.775, 0, 0]
|
||||
}
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": {
|
||||
"0.0": [15, 0, 0],
|
||||
"0.1667": [0, 0, 0],
|
||||
"0.5417": [0, 0, 0],
|
||||
"0.6667": [-7.5, 0, 0],
|
||||
"0.8333": [12.46, 0, 0],
|
||||
"0.9167": [17.42, 0, 0],
|
||||
"1.0": [15, 0, 0]
|
||||
}
|
||||
},
|
||||
"tail3": {
|
||||
"rotation": {
|
||||
"0.0": [22.5, 0, 0],
|
||||
"0.125": [34.5, 0, 0],
|
||||
"0.2083": [17.5, 0, 0],
|
||||
"0.3333": [-5, 0, 0],
|
||||
"0.5417": [-5, 0, 0],
|
||||
"0.6667": [0, 0, 0],
|
||||
"0.75": [-22.5, 0, 0],
|
||||
"1.0": [22.5, 0, 0]
|
||||
}
|
||||
},
|
||||
"tail4": {
|
||||
"rotation": {
|
||||
"0.0": [25, 0, 0],
|
||||
"0.125": [17.5, 0, 0],
|
||||
"0.25": [-5.45, 0, 0],
|
||||
"0.2917": [2.5, 0, 0],
|
||||
"0.7083": [2.5, 0, 0],
|
||||
"0.75": [-1.67, 0, 0],
|
||||
"0.8333": [-25, 0, 0],
|
||||
"1.0": [25, 0, 0]
|
||||
}
|
||||
},
|
||||
"tail6": {
|
||||
"rotation": {
|
||||
"0.0": [-42.5, 0, 0],
|
||||
"0.1667": [44.17, 0, 0],
|
||||
"0.25": [42.5, 0, 0],
|
||||
"0.2917": [2.5, 0, 0],
|
||||
"0.3333": [2.5, 0, 0],
|
||||
"0.75": [2.5, 0, 0],
|
||||
"0.7917": [20, 0, 0],
|
||||
"0.8333": [40, 0, 0],
|
||||
"0.875": [-40, 0, 0],
|
||||
"1.0": [-42.5, 0, 0]
|
||||
}
|
||||
},
|
||||
"chest": {
|
||||
"rotation": {
|
||||
"0.0": [-32.5, 0, 0],
|
||||
"0.0833": {
|
||||
"pre": [-26.79, 0, 0],
|
||||
"post": [-26.79, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.1667": {
|
||||
"post": [-22, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.3333": {
|
||||
"post": [-18.575, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.5": {
|
||||
"post": [-17.5, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.5833": {
|
||||
"post": [-21.6, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.6667": {
|
||||
"post": [-29.47, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.7083": {
|
||||
"post": [-33.695, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.7917": {
|
||||
"post": [-38, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.875": {
|
||||
"post": [-36.9, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"1.0": [-32.5, 0, 0]
|
||||
}
|
||||
},
|
||||
"neck": {
|
||||
"rotation": {
|
||||
"0.0": [-50, 0, 0],
|
||||
"0.1667": [-40, 0, 0],
|
||||
"0.2917": [-37.575, 0, 0],
|
||||
"0.5833": [-36.815, 0, 0],
|
||||
"0.7083": [-39.345, 0, 0],
|
||||
"0.8333": [-47.315, 0, 0],
|
||||
"0.9167": [-49.585, 0, 0],
|
||||
"1.0": [-50, 0, 0]
|
||||
},
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": [0, 0, 1],
|
||||
"0.6667": [0, 0, 1],
|
||||
"1.0": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": [85, 0, 0],
|
||||
"0.1667": [62, 0, 0],
|
||||
"0.2083": [60, 0, 0],
|
||||
"0.4167": [55, 0, 0],
|
||||
"0.5417": [57, 0, 0],
|
||||
"0.7917": [79.5, 0, 0],
|
||||
"0.9167": [84.175, 0, 0],
|
||||
"1.0": [85, 0, 0]
|
||||
}
|
||||
},
|
||||
"flipper_left": {
|
||||
"rotation": {
|
||||
"0.0": [70.90134, 0.89017, 78.92416],
|
||||
"0.25": [17.15, -1.36, 58.92],
|
||||
"0.2917": [13.11, -5.57, 54.92],
|
||||
"0.4583": [-3.06, -22.4, 43.92],
|
||||
"0.5": [-9.1, -26.61, 43.92],
|
||||
"0.625": [16.53, -12.375, 38.315],
|
||||
"0.6667": [22.57, -3.065, 36.275],
|
||||
"0.75": [34.65, 4.64, 35.195],
|
||||
"0.9167": [58.82, 6.785, 50.56],
|
||||
"1.0": [70.90134, 0.89017, 78.92416]
|
||||
},
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_left2": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -42.5],
|
||||
"0.0417": [0, 0, -26.875],
|
||||
"0.0833": [0, 0, -40],
|
||||
"0.125": [0, 0, -48.13],
|
||||
"0.1667": [0, 0, -51.25],
|
||||
"0.25": [0, 0, -42.5],
|
||||
"0.375": [0, 0, -29.25],
|
||||
"0.5": [0, 0, -20],
|
||||
"0.5417": [0, 0, -18.75],
|
||||
"0.5833": [0, 0, -32.5],
|
||||
"0.7917": [0, 0, -42.5],
|
||||
"1.0": [0, 0, -42.5]
|
||||
}
|
||||
},
|
||||
"flipper_left3": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -70],
|
||||
"0.0833": [0, 0, -22.5],
|
||||
"0.1667": [0, 0, -11.67],
|
||||
"0.2083": [0, 0, -16.25],
|
||||
"0.5": [0, 0, -25],
|
||||
"0.5417": [0, 0, -25.83],
|
||||
"0.625": [0, 0, 20],
|
||||
"0.7917": [0, 0, -47.5],
|
||||
"1.0": [0, 0, -70]
|
||||
}
|
||||
},
|
||||
"flipper_right": {
|
||||
"rotation": {
|
||||
"0.0": [70.90134, -0.89017, -78.92416],
|
||||
"0.25": [17.15, 1.36, -58.92],
|
||||
"0.2917": [13.11, 5.57, -54.92],
|
||||
"0.4583": [-3.06, 22.4, -43.92],
|
||||
"0.5": [-9.1, 26.61, -43.92],
|
||||
"0.625": [16.53, 12.375, -38.315],
|
||||
"0.6667": [22.57, 3.065, -36.275],
|
||||
"0.75": [34.65, -4.64, -35.195],
|
||||
"0.9167": [58.82, -6.785, -50.56],
|
||||
"1.0": [70.90134, -0.89017, -78.92416]
|
||||
},
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_right2": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 42.5],
|
||||
"0.0417": [0, 0, 26.875],
|
||||
"0.0833": [0, 0, 40],
|
||||
"0.125": [0, 0, 48.13],
|
||||
"0.1667": [0, 0, 51.25],
|
||||
"0.25": [0, 0, 42.5],
|
||||
"0.375": [0, 0, 29.25],
|
||||
"0.5": [0, 0, 20],
|
||||
"0.5417": [0, 0, 18.75],
|
||||
"0.5833": [0, 0, 32.5],
|
||||
"0.7917": [0, 0, 42.5],
|
||||
"1.0": [0, 0, 42.5]
|
||||
}
|
||||
},
|
||||
"flipper_right3": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 70],
|
||||
"0.0833": [0, 0, 22.5],
|
||||
"0.1667": [0, 0, 11.67],
|
||||
"0.2083": [0, 0, 16.25],
|
||||
"0.5": [0, 0, 25],
|
||||
"0.5417": [0, 0, 25.83],
|
||||
"0.625": [0, 0, -20],
|
||||
"0.7917": [0, 0, 47.5],
|
||||
"1.0": [0, 0, 70]
|
||||
}
|
||||
},
|
||||
"torso": {
|
||||
"rotation": {
|
||||
"0.0": [4.6, 0, 0],
|
||||
"0.0417": [6.03, 0, 0],
|
||||
"0.125": [8.44, 0, 0],
|
||||
"0.2917": {
|
||||
"pre": [9.6, 0, 0],
|
||||
"post": [9.6, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.5833": {
|
||||
"post": [8.35, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.7917": {
|
||||
"post": [-1.9, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.9583": [3.13, 0, 0],
|
||||
"1.0": [4.6, 0, 0]
|
||||
}
|
||||
},
|
||||
"tail5": {
|
||||
"rotation": {
|
||||
"0.0": [-6.95, 0, 0],
|
||||
"0.0833": [23.83, 0, 0],
|
||||
"0.2083": [32.5, 0, 0],
|
||||
"0.2917": [0, 0, 0],
|
||||
"0.3333": [7.5, 0, 0],
|
||||
"0.5417": [5, 0, 0],
|
||||
"0.6667": [5, 0, 0],
|
||||
"0.7083": [10, 0, 0],
|
||||
"0.75": [22.5, 0, 0],
|
||||
"0.7917": [1.25, 0, 0],
|
||||
"0.8333": [-22.5, 0, 0],
|
||||
"1.0": [-6.95, 0, 0]
|
||||
}
|
||||
},
|
||||
"jaw": {
|
||||
"rotation": {
|
||||
"0.0833": [0, 0, 0],
|
||||
"0.2083": [25.75, 0, 0],
|
||||
"0.2917": [32.24, 0, 0],
|
||||
"0.4583": [32.5, 0, 0],
|
||||
"0.7083": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dewgong.water_idle": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": ["-5+Math.cos((query.anim_time) * 90 * 2 - 90) * -1", 0, 0],
|
||||
"position": [0, "0+Math.cos((query.anim_time) * 90 * 2) * 1", 0]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": ["-2.5+Math.cos((query.anim_time) * 90 * 2 - 150) * 2", 0, 0]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": ["-5+Math.cos((query.anim_time) * 90 * 2 - 210) * 2", 0, 0]
|
||||
},
|
||||
"tail3": {
|
||||
"rotation": ["5+Math.cos((query.anim_time) * 90 * 2 - 270) * 3", 0, 0]
|
||||
},
|
||||
"tail4": {
|
||||
"rotation": ["5+Math.cos((query.anim_time) * 90 * 2 - 300) * 3", 0, 0]
|
||||
},
|
||||
"tail6": {
|
||||
"rotation": ["5+Math.cos((query.anim_time) * 90 * 2 - 450) * 12", 0, 0]
|
||||
},
|
||||
"chest": {
|
||||
"rotation": ["5+Math.cos((query.anim_time) * 90 * 2 - 150) * -1", 0, 0],
|
||||
"position": [0, 0, 0.25]
|
||||
},
|
||||
"neck": {
|
||||
"rotation": ["-50+Math.cos((query.anim_time) * 90 * 2 - 90) * 1", 0, 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": ["52.5+Math.cos((query.anim_time) * 90 * 2 - 90) * 1", 0, 0],
|
||||
"position": [0, 0, 1]
|
||||
},
|
||||
"flipper_left": {
|
||||
"rotation": [0, -12.5, "12.5+Math.cos((query.anim_time) * 90 * 2 - 90) * -4"],
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_left2": {
|
||||
"rotation": [0, 0, "10+Math.cos((query.anim_time) * 90 * 2 - 150) * -7"]
|
||||
},
|
||||
"flipper_left3": {
|
||||
"rotation": [0, 0, "10+Math.cos((query.anim_time) * 90 * 2 - 210) * -7"]
|
||||
},
|
||||
"flipper_right": {
|
||||
"rotation": [0, 12.5, "-12.5+Math.cos((query.anim_time) * 90 * 2 - 90) * 4"],
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_right2": {
|
||||
"rotation": [0, 0, "-10+Math.cos((query.anim_time) * 90 * 2 - 150) * 7"]
|
||||
},
|
||||
"flipper_right3": {
|
||||
"rotation": [0, 0, "-10+Math.cos((query.anim_time) * 90 * 2 - 210) * 7"]
|
||||
},
|
||||
"torso": {
|
||||
"rotation": [2.5, 0, 0]
|
||||
},
|
||||
"tail5": {
|
||||
"rotation": ["7.5+Math.cos((query.anim_time) * 90 * 2 - 390) * 8", 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dewgong.water_swim": {
|
||||
"loop": true,
|
||||
"animation_length": 0.75,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": ["-5+Math.cos((query.anim_time) * 90 * 16/3 - 45) * 2", 0, 0],
|
||||
"position": [0, "0+Math.cos((query.anim_time) * 90 * 16/3 + 45) * 2", "0+Math.cos((query.anim_time) * 90 * 16/3) * 3"]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": ["-2.5+Math.cos((query.anim_time) * 90 * 16/3 - 90) * 6", 0, 0]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": ["-5+Math.cos((query.anim_time) * 90 * 16/3 - 135) * 6", 0, 0]
|
||||
},
|
||||
"tail3": {
|
||||
"rotation": ["5+Math.cos((query.anim_time) * 90 * 16/3 - 180) * 6", 0, 0]
|
||||
},
|
||||
"tail4": {
|
||||
"rotation": ["5+Math.cos((query.anim_time) * 90 * 16/3 - 200) * 16", 0, 0]
|
||||
},
|
||||
"tail6": {
|
||||
"rotation": ["5+Math.cos((query.anim_time) * 90 * 16/3 - 350) * 26", 0, 0]
|
||||
},
|
||||
"chest": {
|
||||
"rotation": ["5+Math.cos((query.anim_time) * 90 * 16/3 + 45) * 1", 0, 0],
|
||||
"position": [0, 0, 0.25]
|
||||
},
|
||||
"neck": {
|
||||
"rotation": ["-50+Math.cos((query.anim_time) * 90 * 16/3 + 90) * -2", 0, 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": ["47.5+Math.cos((query.anim_time) * 90 * 16/3 - 45) * -6", 0, 0],
|
||||
"position": [0, 0, 1]
|
||||
},
|
||||
"flipper_left": {
|
||||
"rotation": {
|
||||
"0.0": [37.25, 50.65, 0],
|
||||
"0.0417": [37.25, 46.72, 1.1],
|
||||
"0.375": [37.25, -45.255, 12.5],
|
||||
"0.4167": [37.25, -47.5, 12.5],
|
||||
"0.4583": [39.9, -45.255, 12.5],
|
||||
"0.5417": [52.825, -13.75, 8.97],
|
||||
"0.5833": [55.5, -0.315, 7.2],
|
||||
"0.625": [52.325, 16.325, 5.03],
|
||||
"0.7083": [38.4, 46.72, 0.7],
|
||||
"0.75": [37.25, 50.65, 0]
|
||||
},
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_left2": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.125": [0, 0, -10],
|
||||
"0.2917": [0, 0, -0.76],
|
||||
"0.4167": [0, 0, 24.75],
|
||||
"0.4583": [0, 0, 37.5],
|
||||
"0.625": [0, 0, 64.5],
|
||||
"0.75": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"flipper_left3": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 10],
|
||||
"0.125": [0, 0, -7.5],
|
||||
"0.375": [0, 0, -9.37],
|
||||
"0.4583": [0, 0, 20],
|
||||
"0.625": [0, 0, 35],
|
||||
"0.75": [0, 0, 10]
|
||||
}
|
||||
},
|
||||
"flipper_right": {
|
||||
"rotation": {
|
||||
"0.0": [37.25, -50.65, 0],
|
||||
"0.0417": [37.25, -46.72, -1.1],
|
||||
"0.375": [37.25, 45.255, -12.5],
|
||||
"0.4167": [37.25, 47.5, -12.5],
|
||||
"0.4583": [39.9, 45.255, -12.5],
|
||||
"0.5417": [52.825, 13.75, -8.97],
|
||||
"0.5833": [55.5, 0.315, -7.2],
|
||||
"0.625": [52.325, -16.325, -5.03],
|
||||
"0.7083": [38.4, -46.72, -0.7],
|
||||
"0.75": [37.25, -50.65, 0]
|
||||
},
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_right2": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.125": [0, 0, 10],
|
||||
"0.2917": [0, 0, 0.76],
|
||||
"0.4167": [0, 0, -24.75],
|
||||
"0.4583": [0, 0, -37.5],
|
||||
"0.625": [0, 0, -64.5],
|
||||
"0.75": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"flipper_right3": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -30],
|
||||
"0.0833": [0, 0, -3.17],
|
||||
"0.125": [0, 0, 7.5],
|
||||
"0.375": [0, 0, 9.37],
|
||||
"0.4583": [0, 0, -20],
|
||||
"0.625": [0, 0, -35],
|
||||
"0.75": [0, 0, -30]
|
||||
}
|
||||
},
|
||||
"torso": {
|
||||
"rotation": ["2.5+Math.cos((query.anim_time) * 90 * 16/3 + 0) * 2", 0, 0]
|
||||
},
|
||||
"tail5": {
|
||||
"rotation": ["7.5+Math.cos((query.anim_time) * 90 * 16/3 - 260) * 26", 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dewgong.ride_water_swim": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": [0, 0, "q.r.yaw_change(0)*-10"]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": ["q.r.pitch_change(0)*5", "q.r.yaw_change(0)*-5", 0]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": ["q.r.pitch_change(4)*8", "q.r.yaw_change(0)*-5", 0]
|
||||
},
|
||||
"tail3": {
|
||||
"rotation": ["q.r.pitch_change(6)*12", "q.r.yaw_change(0)*-5", 0]
|
||||
},
|
||||
"torso": {
|
||||
"rotation": ["q.r.pitch_change(0)*-5", "q.r.yaw_change(0)*5", 0]
|
||||
},
|
||||
"chest": {
|
||||
"rotation": ["q.r.pitch_change(0)*-10", "q.r.yaw_change(0)*5", 0],
|
||||
"position": [0, 0, "2+q.r.pitch_change(0)*-2"]
|
||||
},
|
||||
"neck": {
|
||||
"rotation": ["q.r.pitch_change(0)*-5", "q.r.yaw_change(0)*5", 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": ["q.r.pitch_change(0)*-20", 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -140,11 +576,6 @@
|
||||
"1.25": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.0417": {
|
||||
"effect": "pokemon.dewgong.cry"
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dewgong.blink": {
|
||||
@@ -210,7 +641,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dewgong.new": {
|
||||
"animation.dewgong.neckdemo": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"neck": {
|
||||
@@ -220,6 +651,195 @@
|
||||
"rotation": [72.5, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dewgong.pose": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": [0, 12.5, 0]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": [2.41492, 0.64686, -14.98637]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": [34.97911, 1.05627, -2.26603]
|
||||
},
|
||||
"tail3": {
|
||||
"rotation": [46.78082, -13.99545, -14.43276]
|
||||
},
|
||||
"tail4": {
|
||||
"rotation": [7.5, 0, 0]
|
||||
},
|
||||
"tail6": {
|
||||
"rotation": [30, 0, 0]
|
||||
},
|
||||
"chest": {
|
||||
"rotation": [-32.5, 0, 0]
|
||||
},
|
||||
"neck": {
|
||||
"rotation": [-52.52635, -1.5216, 1.98385]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [83.46987, -8.35694, -6.53013],
|
||||
"position": [0.58854, -0.68263, -0.01172]
|
||||
},
|
||||
"flipper_left": {
|
||||
"rotation": [32.28184, -14.8934, 25.70507],
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_left2": {
|
||||
"rotation": [0, -15, -15]
|
||||
},
|
||||
"flipper_left3": {
|
||||
"rotation": [0, 0, -37.5]
|
||||
},
|
||||
"flipper_right": {
|
||||
"rotation": [99.40658, 28.75123, -7.23212],
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_right2": {
|
||||
"rotation": [0, 0, 15]
|
||||
},
|
||||
"flipper_right3": {
|
||||
"rotation": [0, 0, 37.5]
|
||||
},
|
||||
"tail5": {
|
||||
"rotation": [27.5, 0, 0]
|
||||
},
|
||||
"eye_right": {
|
||||
"position": [0.25, 0, 0]
|
||||
},
|
||||
"eye_highlight_left": {
|
||||
"position": [0.25, 0, 0]
|
||||
},
|
||||
"eye_highlight_right": {
|
||||
"position": [0.25, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dewgong.test_walkspeed": {
|
||||
"loop": true,
|
||||
"animation_length": 3.5,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, 0, "39-q.anim_time*90*0.26"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dewgong.basepose": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": [-5, 0, 0]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": [-2.5, 0, 0]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": [0, 0, 0]
|
||||
},
|
||||
"tail3": {
|
||||
"rotation": [4.5, 0, 0]
|
||||
},
|
||||
"tail4": {
|
||||
"rotation": [-2.5, 0, 0]
|
||||
},
|
||||
"tail6": {
|
||||
"rotation": [5, 0, 0]
|
||||
},
|
||||
"chest": {
|
||||
"rotation": [-32.5, 0, 0]
|
||||
},
|
||||
"neck": {
|
||||
"rotation": [-50, 0, 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [85, 0, 0]
|
||||
},
|
||||
"flipper_left": {
|
||||
"rotation": [25.90134, -21.60983, 48.92416],
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_left2": {
|
||||
"rotation": [0, 0, -15]
|
||||
},
|
||||
"flipper_left3": {
|
||||
"rotation": [0, 0, -37.5]
|
||||
},
|
||||
"flipper_right": {
|
||||
"rotation": [25.90134, 21.60983, -48.92416],
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_right2": {
|
||||
"rotation": [0, 0, 15]
|
||||
},
|
||||
"flipper_right3": {
|
||||
"rotation": [0, 0, 37.5]
|
||||
},
|
||||
"torso": {
|
||||
"rotation": [5, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dewgong.basepose_water": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": [-5, 0, 0]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": [-2.5, 0, 0]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": [-5, 0, 0]
|
||||
},
|
||||
"tail3": {
|
||||
"rotation": [5, 0, 0]
|
||||
},
|
||||
"tail4": {
|
||||
"rotation": [5, 0, 0]
|
||||
},
|
||||
"tail6": {
|
||||
"rotation": [5, 0, 0]
|
||||
},
|
||||
"chest": {
|
||||
"rotation": [5, 0, 0],
|
||||
"position": [0, 0, 0.25]
|
||||
},
|
||||
"neck": {
|
||||
"rotation": [-50, 0, 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [52.5, 0, 0],
|
||||
"position": [0, 0, 1]
|
||||
},
|
||||
"flipper_left": {
|
||||
"rotation": [0, -12.5, 12.5],
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_left2": {
|
||||
"rotation": [0, 0, 10]
|
||||
},
|
||||
"flipper_left3": {
|
||||
"rotation": [0, 0, 10]
|
||||
},
|
||||
"flipper_right": {
|
||||
"rotation": [0, 12.5, -12.5],
|
||||
"position": [0, -1.68678, 1.0746]
|
||||
},
|
||||
"flipper_right2": {
|
||||
"rotation": [0, 0, -10]
|
||||
},
|
||||
"flipper_right3": {
|
||||
"rotation": [0, 0, -10]
|
||||
},
|
||||
"torso": {
|
||||
"rotation": [2.5, 0, 0]
|
||||
},
|
||||
"tail5": {
|
||||
"rotation": [7.5, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+4781
-39
File diff suppressed because it is too large
Load Diff
+3581
-76
File diff suppressed because it is too large
Load Diff
+274
-117
@@ -40,19 +40,19 @@
|
||||
"tail_right5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9+120)*10", "-math.sin(q.anim_time*90*1.5-33*2+120)*10", 0]
|
||||
},
|
||||
"tail": {
|
||||
"tail_middle": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*5-120)*10+5", "-math.sin(q.anim_time*90*1.5-33*5-120)*4", 0]
|
||||
},
|
||||
"tail2": {
|
||||
"tail_middle2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*6-120)*8", "math.sin(q.anim_time*90*1.5-33*6-120)*6", 0]
|
||||
},
|
||||
"tail3": {
|
||||
"tail_middle3": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*7-120)*8", "math.sin(q.anim_time*90*1.5-33*4-120)*8", 0]
|
||||
},
|
||||
"tail4": {
|
||||
"tail_middle4": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*8-120)*8", "math.sin(q.anim_time*90*1.5-33*3-120)*8", 0]
|
||||
},
|
||||
"tail5": {
|
||||
"tail_middle5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9-120)*10", "-math.sin(q.anim_time*90*1.5-33*2-120)*10", 0]
|
||||
},
|
||||
"tail_left": {
|
||||
@@ -175,7 +175,7 @@
|
||||
"tail_right6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9+120)*6", "-math.sin(q.anim_time*90*1.5-33*2+120)*10", 0]
|
||||
},
|
||||
"tail6": {
|
||||
"tail_middle6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9+120)*6", "-math.sin(q.anim_time*90*1.5-33*2+120)*10", 0]
|
||||
},
|
||||
"tail_left6": {
|
||||
@@ -223,19 +223,19 @@
|
||||
"tail_right5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*8+45)*16", "-math.sin(q.anim_time*90*2-33*8)*6", 0]
|
||||
},
|
||||
"tail": {
|
||||
"tail_middle": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*5+45)*10+5", "-math.sin(q.anim_time*90*4-33*6+45)*2", 0]
|
||||
},
|
||||
"tail2": {
|
||||
"tail_middle2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*6+45)*12", "-math.sin(q.anim_time*90*4-33*7+45)*2", 0]
|
||||
},
|
||||
"tail3": {
|
||||
"tail_middle3": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*7+45)*14", "-math.sin(q.anim_time*90*4-33*8+45)*2", 0]
|
||||
},
|
||||
"tail4": {
|
||||
"tail_middle4": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*8+45)*16", "-math.sin(q.anim_time*90*4-33*9+45)*2", 0]
|
||||
},
|
||||
"tail5": {
|
||||
"tail_middle5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*9+45)*16", "-math.sin(q.anim_time*90*4-33*10+45)*4", 0]
|
||||
},
|
||||
"tail_left": {
|
||||
@@ -345,7 +345,7 @@
|
||||
"tail_right6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*8+45)*14", "-math.sin(q.anim_time*90*2-33*8)*10", 0]
|
||||
},
|
||||
"tail6": {
|
||||
"tail_middle6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*9+45)*14", "-math.sin(q.anim_time*90*4-33*10+45)*6", 0]
|
||||
},
|
||||
"tail_left6": {
|
||||
@@ -387,19 +387,19 @@
|
||||
"tail_right5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9+120)*10", "-math.sin(q.anim_time*90*1.5-33*2+120)*10", 0]
|
||||
},
|
||||
"tail": {
|
||||
"tail_middle": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*5-120)*10+5", "-math.sin(q.anim_time*90*1.5-33*5-120)*4", 0]
|
||||
},
|
||||
"tail2": {
|
||||
"tail_middle2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*6-120)*8", "math.sin(q.anim_time*90*1.5-33*6-120)*6", 0]
|
||||
},
|
||||
"tail3": {
|
||||
"tail_middle3": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*7-120)*8", "math.sin(q.anim_time*90*1.5-33*4-120)*8", 0]
|
||||
},
|
||||
"tail4": {
|
||||
"tail_middle4": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*8-120)*8", "math.sin(q.anim_time*90*1.5-33*3-120)*8", 0]
|
||||
},
|
||||
"tail5": {
|
||||
"tail_middle5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9-120)*10", "-math.sin(q.anim_time*90*1.5-33*2-120)*10", 0]
|
||||
},
|
||||
"tail_left": {
|
||||
@@ -472,7 +472,7 @@
|
||||
"tail_right6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9+120)*6", "-math.sin(q.anim_time*90*1.5-33*2+120)*10", 0]
|
||||
},
|
||||
"tail6": {
|
||||
"tail_middle6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9-120)*6", "-math.sin(q.anim_time*90*1.5-33*2-120)*10", 0]
|
||||
},
|
||||
"tail_left6": {
|
||||
@@ -480,6 +480,255 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros.ride_ground_walk": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"hips": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-5", 0]
|
||||
},
|
||||
"tails": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-15", 0]
|
||||
},
|
||||
"torso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"torso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*15", 0]
|
||||
},
|
||||
"ftorso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"ftorso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros.ride_ground_run": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"hips": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-5", 0]
|
||||
},
|
||||
"torso": {
|
||||
"rotation": [0, 0, "q.r.yaw_change(0)*-10"]
|
||||
},
|
||||
"tails": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-15", 0]
|
||||
},
|
||||
"torso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"torso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*15", 0]
|
||||
},
|
||||
"ftorso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"ftorso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros.ride_jump": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, "2+math.sin(q.anim_time*90*12)/24", 0]
|
||||
},
|
||||
"hips": {
|
||||
"rotation": ["q.r.velocity_y(0)*-20", 0, 0]
|
||||
},
|
||||
"tails": {
|
||||
"rotation": ["q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"tail_left": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10)*2", -15, 0]
|
||||
},
|
||||
"tail_left2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-30)*3", 0, 0]
|
||||
},
|
||||
"tail_left3": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-60)*4", 0, 0]
|
||||
},
|
||||
"tail_left4": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-90)*5", 0, 0]
|
||||
},
|
||||
"tail_left5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-120)*6", 0, 0]
|
||||
},
|
||||
"tail_left6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-150)*8", 0, 0]
|
||||
},
|
||||
"tail_middle": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10)*2", 0, 0]
|
||||
},
|
||||
"tail_middle2": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-30)*3", 0, 0]
|
||||
},
|
||||
"tail_middle3": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-60)*4", 0, 0]
|
||||
},
|
||||
"tail_middle4": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-90)*5", 0, 0]
|
||||
},
|
||||
"tail_middle5": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-120)*6", 0, 0]
|
||||
},
|
||||
"tail_middle6": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-150)*8", 0, 0]
|
||||
},
|
||||
"tail_right": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-60)*2", 15, 0]
|
||||
},
|
||||
"tail_right2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-90)*3", 0, 0]
|
||||
},
|
||||
"tail_right3": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-120)*4", 0, 0]
|
||||
},
|
||||
"tail_right4": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-150)*5", 0, 0]
|
||||
},
|
||||
"tail_right5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-180)*6", 0, 0]
|
||||
},
|
||||
"tail_right6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-210)*8", 0, 0]
|
||||
},
|
||||
"mane_bottom": {
|
||||
"rotation": ["math.sin(q.anim_time*90*20)*2", 0, 0]
|
||||
},
|
||||
"mane_top": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*20)*2", 0, 0]
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": ["-30+math.sin(q.anim_time*90*20-60)/2+q.r.velocity_y(0)*40", 0, 0]
|
||||
},
|
||||
"leg_front_right2": {
|
||||
"rotation": ["40+math.sin(q.anim_time*90*20-150)+q.r.velocity_y(0)*30", 0, 0]
|
||||
},
|
||||
"leg_front_left": {
|
||||
"rotation": ["-25+math.sin(q.anim_time*90*20)/2+q.r.velocity_y(0)*40", 0, 0]
|
||||
},
|
||||
"leg_front_left2": {
|
||||
"rotation": ["40+math.sin(q.anim_time*90*20-90)+q.r.velocity_y(0)*30", 0, 0]
|
||||
},
|
||||
"leg_back_right": {
|
||||
"rotation": ["5+math.sin(q.anim_time*90*20)/2+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"leg_back_right2": {
|
||||
"rotation": ["-15+math.sin(q.anim_time*90*20-90)+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"leg_back_left": {
|
||||
"rotation": ["10+math.sin(q.anim_time*90*20-60)/2+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"leg_back_left2": {
|
||||
"rotation": ["-15+math.sin(q.anim_time*90*20-150)+q.r.velocity_y(0)*20", 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros.render": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"torso": {
|
||||
"rotation": [5, 0, 0]
|
||||
},
|
||||
"head_angle": {
|
||||
"rotation": [7.5, 0, 0]
|
||||
},
|
||||
"tail_right": {
|
||||
"rotation": [28.49002, 17.28889, 10.8585]
|
||||
},
|
||||
"tail_right2": {
|
||||
"rotation": [-2.61298, -9.65594, 15.22074]
|
||||
},
|
||||
"tail_right3": {
|
||||
"rotation": [0, -15, 0]
|
||||
},
|
||||
"tail_right4": {
|
||||
"rotation": [0, -27.5, 0]
|
||||
},
|
||||
"tail_right5": {
|
||||
"rotation": [0, -17.5, 0]
|
||||
},
|
||||
"tail_middle": {
|
||||
"rotation": [47.5, 0, 0]
|
||||
},
|
||||
"tail_middle2": {
|
||||
"rotation": [10.15375, 12.42297, 0.88796]
|
||||
},
|
||||
"tail_middle3": {
|
||||
"rotation": [-5.03364, 9.99043, -0.22117]
|
||||
},
|
||||
"tail_middle4": {
|
||||
"rotation": [0, 7.5, 0]
|
||||
},
|
||||
"tail_middle5": {
|
||||
"rotation": [17.5, -5, -5]
|
||||
},
|
||||
"tail_left": {
|
||||
"rotation": [-5, 0, 0]
|
||||
},
|
||||
"tail_left2": {
|
||||
"rotation": [17.61435, 9.91358, -6.18155]
|
||||
},
|
||||
"tail_left3": {
|
||||
"rotation": [12.92638, 14.63639, 3.31914]
|
||||
},
|
||||
"tail_left4": {
|
||||
"rotation": [0, 37.5, 0]
|
||||
},
|
||||
"tail_left5": {
|
||||
"rotation": [0, 52.5, 0]
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": [-7.5, 0, 0]
|
||||
},
|
||||
"leg_front_right2": {
|
||||
"rotation": [22.5, 0, 0]
|
||||
},
|
||||
"leg_front_right3": {
|
||||
"rotation": [22.5, 0, 0]
|
||||
},
|
||||
"leg_front_left2": {
|
||||
"rotation": [-7.5, 0, 0]
|
||||
},
|
||||
"leg_front_left3": {
|
||||
"rotation": [7.5, 0, 0]
|
||||
},
|
||||
"leg_back_right2": {
|
||||
"rotation": [-10, 0, 0]
|
||||
},
|
||||
"leg_back_right3": {
|
||||
"rotation": [10, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros.blink": {
|
||||
"animation_length": 0.1667,
|
||||
"bones": {
|
||||
"eyelid_right": {
|
||||
"position": {
|
||||
"0.0": [-0.1, 0, -0.1],
|
||||
"0.125": {"pre": [-0.1, 0, -0.1], "post": [-0.1, 0, -0.1]},
|
||||
"0.1667": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"eyelid_left": {
|
||||
"position": {
|
||||
"0.0": [0.1, 0, -0.1],
|
||||
"0.125": {"pre": [0.1, 0, -0.1], "post": [0.1, 0, -0.1]},
|
||||
"0.1667": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros.cry": {
|
||||
"animation_length": 2.125,
|
||||
"bones": {
|
||||
@@ -617,15 +866,15 @@
|
||||
},
|
||||
"position": {
|
||||
"0.0": {
|
||||
"post": [0, -0.5, 0],
|
||||
"post": [0, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.4583": {
|
||||
"post": [0, -1, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.5417": [0, -0.5, 0],
|
||||
"1.7917": [0, -0.5, 0]
|
||||
"0.5417": [0, 0, 0],
|
||||
"1.7917": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_front_right2": {
|
||||
@@ -711,6 +960,10 @@
|
||||
"post": [0, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.3333": {
|
||||
"post": [-0.00259, -0.29316, -0.18789],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.5417": {
|
||||
"post": [0, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
@@ -739,102 +992,6 @@
|
||||
"effect": "pokemon.tauros.cry"
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros.render": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"torso": {
|
||||
"rotation": [5, 0, 0]
|
||||
},
|
||||
"head_angle": {
|
||||
"rotation": [7.5, 0, 0]
|
||||
},
|
||||
"tail_right": {
|
||||
"rotation": [28.49002, 17.28889, 10.8585]
|
||||
},
|
||||
"tail_right2": {
|
||||
"rotation": [-2.61298, -9.65594, 15.22074]
|
||||
},
|
||||
"tail_right3": {
|
||||
"rotation": [0, -15, 0]
|
||||
},
|
||||
"tail_right4": {
|
||||
"rotation": [0, -27.5, 0]
|
||||
},
|
||||
"tail_right5": {
|
||||
"rotation": [0, -17.5, 0]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": [47.5, 0, 0]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": [10.15375, 12.42297, 0.88796]
|
||||
},
|
||||
"tail3": {
|
||||
"rotation": [-5.03364, 9.99043, -0.22117]
|
||||
},
|
||||
"tail4": {
|
||||
"rotation": [0, 7.5, 0]
|
||||
},
|
||||
"tail5": {
|
||||
"rotation": [17.5, -5, -5]
|
||||
},
|
||||
"tail_left": {
|
||||
"rotation": [-5, 0, 0]
|
||||
},
|
||||
"tail_left2": {
|
||||
"rotation": [17.61435, 9.91358, -6.18155]
|
||||
},
|
||||
"tail_left3": {
|
||||
"rotation": [12.92638, 14.63639, 3.31914]
|
||||
},
|
||||
"tail_left4": {
|
||||
"rotation": [0, 37.5, 0]
|
||||
},
|
||||
"tail_left5": {
|
||||
"rotation": [0, 52.5, 0]
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": [-7.5, 0, 0]
|
||||
},
|
||||
"leg_front_right2": {
|
||||
"rotation": [22.5, 0, 0]
|
||||
},
|
||||
"leg_front_right3": {
|
||||
"rotation": [22.5, 0, 0]
|
||||
},
|
||||
"leg_front_left2": {
|
||||
"rotation": [-7.5, 0, 0]
|
||||
},
|
||||
"leg_front_left3": {
|
||||
"rotation": [7.5, 0, 0]
|
||||
},
|
||||
"leg_back_right2": {
|
||||
"rotation": [-10, 0, 0]
|
||||
},
|
||||
"leg_back_right3": {
|
||||
"rotation": [10, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros.blink": {
|
||||
"animation_length": 0.1667,
|
||||
"bones": {
|
||||
"eyelid_right": {
|
||||
"position": {
|
||||
"0.0": [-0.1, 0, -0.1],
|
||||
"0.125": [-0.1, 0, -0.1],
|
||||
"0.1667": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"eyelid_left": {
|
||||
"position": {
|
||||
"0.0": [0.1, 0, -0.1],
|
||||
"0.125": [0.1, 0, -0.1],
|
||||
"0.1667": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+694
-2
@@ -227,7 +227,7 @@
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2)*20+10", 0, 0]
|
||||
},
|
||||
"tail_right": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*4+45)*10+5", "math.sin(q.anim_time*90*2-33*4)*1+5", 0]
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*3+45)*12+5", "NaN-math.sin(q.anim_time*90*2-33*3+180)*1+5", 0]
|
||||
},
|
||||
"tail_right2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*5+45)*12", "-math.sin(q.anim_time*90*2-33*5)*2+5", 0]
|
||||
@@ -257,7 +257,7 @@
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*9+45)*16", "-math.sin(q.anim_time*90*4-33*10+45)*4", 0]
|
||||
},
|
||||
"tail_left": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*3+45)*12+5", "-math.sin(q.anim_time*90*2-33*3+180)*1-5", 0]
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*3+45)*12+5", "-math.sin(q.anim_time*90*2-33*3+180)*1+5", 0]
|
||||
},
|
||||
"tail_left2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4*2-33*4+45)*10", "math.sin(q.anim_time*90*2-33*4+180)*2-5", 0]
|
||||
@@ -534,6 +534,684 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_aqua.ride_ground_walk": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"torso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"torso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*10", 0]
|
||||
},
|
||||
"hips": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-5", 0]
|
||||
},
|
||||
"tails": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-15", 0]
|
||||
},
|
||||
"ftorso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"ftorso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_aqua.ride_ground_run": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"torso": {
|
||||
"rotation": [0, 0, "q.r.yaw_change(0)*-10"]
|
||||
},
|
||||
"torso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"torso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*15", 0]
|
||||
},
|
||||
"hips": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-5", 0]
|
||||
},
|
||||
"tails": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-15", 0]
|
||||
},
|
||||
"ftorso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"ftorso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_aqua.ride_jump_land": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, "2+math.sin(q.anim_time*90*12)/24", 0]
|
||||
},
|
||||
"mane_bottom": {
|
||||
"rotation": ["math.sin(q.anim_time*90*20)*2", 0, 0]
|
||||
},
|
||||
"mane_top": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*20)*2", 0, 0]
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": ["-30+math.sin(q.anim_time*90*20-60)/2+q.r.velocity_y(0)*40", 0, 0]
|
||||
},
|
||||
"leg_front_right2": {
|
||||
"rotation": ["40+math.sin(q.anim_time*90*20-150)+q.r.velocity_y(0)*30", 0, 0]
|
||||
},
|
||||
"leg_front_left": {
|
||||
"rotation": ["-25+math.sin(q.anim_time*90*20)/2+q.r.velocity_y(0)*40", 0, 0]
|
||||
},
|
||||
"leg_front_left2": {
|
||||
"rotation": ["40+math.sin(q.anim_time*90*20-90)+q.r.velocity_y(0)*30", 0, 0]
|
||||
},
|
||||
"leg_back_right": {
|
||||
"rotation": ["5+math.sin(q.anim_time*90*20)/2+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"leg_back_right2": {
|
||||
"rotation": ["-15+math.sin(q.anim_time*90*20-90)+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"leg_back_left": {
|
||||
"rotation": ["10+math.sin(q.anim_time*90*20-60)/2+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"leg_back_left2": {
|
||||
"rotation": ["-15+math.sin(q.anim_time*90*20-150)+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"hips": {
|
||||
"rotation": ["q.r.velocity_y(0)*-20", 0, 0]
|
||||
},
|
||||
"tails": {
|
||||
"rotation": ["q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"tail_left": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10)*2", -15, 0]
|
||||
},
|
||||
"tail_left2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-30)*3", 0, 0]
|
||||
},
|
||||
"tail_left3": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-60)*4", 0, 0]
|
||||
},
|
||||
"tail_left4": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-90)*5", 0, 0]
|
||||
},
|
||||
"tail_left5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-120)*6", 0, 0]
|
||||
},
|
||||
"tail_left6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-150)*8", 0, 0]
|
||||
},
|
||||
"tail_middle": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10)*2", 0, 0]
|
||||
},
|
||||
"tail_middle2": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-30)*3", 0, 0]
|
||||
},
|
||||
"tail_middle3": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-60)*4", 0, 0]
|
||||
},
|
||||
"tail_middle4": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-90)*5", 0, 0]
|
||||
},
|
||||
"tail_middle5": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-120)*6", 0, 0]
|
||||
},
|
||||
"tail_middle6": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-150)*8", 0, 0]
|
||||
},
|
||||
"tail_right": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-60)*2", 15, 0]
|
||||
},
|
||||
"tail_right2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-90)*3", 0, 0]
|
||||
},
|
||||
"tail_right3": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-120)*4", 0, 0]
|
||||
},
|
||||
"tail_right4": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-150)*5", 0, 0]
|
||||
},
|
||||
"tail_right5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-180)*6", 0, 0]
|
||||
},
|
||||
"tail_right6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*10-210)*8", 0, 0]
|
||||
},
|
||||
"horn_glow_right": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_right2": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_right3": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left2": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left3": {
|
||||
"scale": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_aqua.surfacewater_idle": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, "-15+math.sin(q.anim_time*90)/2", 0]
|
||||
},
|
||||
"hips": {
|
||||
"rotation": ["-5-math.sin(q.anim_time*90-90)/2", 0, 0]
|
||||
},
|
||||
"torso": {
|
||||
"rotation": [0, 0, "math.sin(q.anim_time*45-90)*2"]
|
||||
},
|
||||
"tails": {
|
||||
"rotation": [-30, 0, 0]
|
||||
},
|
||||
"tail_left": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5)*8", "math.sin(q.anim_time*90*(1.5/2))*3", 0]
|
||||
},
|
||||
"tail_left2": {
|
||||
"rotation": ["-5-math.sin(q.anim_time*90*1.5-30)*8", "math.sin(q.anim_time*90*(1.5/2)-30)*3", 0]
|
||||
},
|
||||
"tail_left3": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-60)*8", "15+math.sin(q.anim_time*90*(1.5/2)-60)*3", 0]
|
||||
},
|
||||
"tail_left4": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-90)*8", "15+math.sin(q.anim_time*90*(1.5/2)-90)*3", 0]
|
||||
},
|
||||
"tail_left5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-120)*8", "math.sin(q.anim_time*90*(1.5/2)-120)*3", 0]
|
||||
},
|
||||
"tail_left6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-150)*8", "math.sin(q.anim_time*90*(1.5/2)-150)*3", 0]
|
||||
},
|
||||
"tail_left7": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-180)*8", "math.sin(q.anim_time*90*(1.5/2)-180)*3", 0]
|
||||
},
|
||||
"tail_middle": {
|
||||
"rotation": [2, 0, 0]
|
||||
},
|
||||
"tail_middle2": {
|
||||
"rotation": ["15-math.sin(q.anim_time*90*1.5)*8", "math.sin(q.anim_time*90*(1.5/2))*3", 0]
|
||||
},
|
||||
"tail_middle3": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-30)*8", "math.sin(q.anim_time*90*(1.5/2)-30)*3", 0]
|
||||
},
|
||||
"tail_middle4": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-60)*8", "math.sin(q.anim_time*90*(1.5/2)-60)*3", 0]
|
||||
},
|
||||
"tail_middle5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-90)*8", "math.sin(q.anim_time*90*(1.5/2)-90)*3", 0]
|
||||
},
|
||||
"tail_middle6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-120)*8", "math.sin(q.anim_time*90*(1.5/2)-120)*3", 0]
|
||||
},
|
||||
"tail_middle7": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-150)*8", "math.sin(q.anim_time*90*(1.5/2)-150)*3", 0]
|
||||
},
|
||||
"tail_right": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5)*8", "math.sin(q.anim_time*90*(1.5/2))*3", 0]
|
||||
},
|
||||
"tail_right2": {
|
||||
"rotation": ["-5-math.sin(q.anim_time*90*1.5-30)*8", "math.sin(q.anim_time*90*(1.5/2)-30)*3", 0]
|
||||
},
|
||||
"tail_right3": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-60)*8", "-15-math.sin(q.anim_time*90*(1.5/2)-60)*3", 0]
|
||||
},
|
||||
"tail_right4": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-90)*8", "-15+math.sin(q.anim_time*90*(1.5/2)-90)*3", 0]
|
||||
},
|
||||
"tail_right5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-120)*8", "math.sin(q.anim_time*90*(1.5/2)-120)*3", 0]
|
||||
},
|
||||
"tail_right6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-150)*8", "math.sin(q.anim_time*90*(1.5/2)-150)*3", 0]
|
||||
},
|
||||
"tail_right7": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*1.5-180)*8", "math.sin(q.anim_time*90*(1.5/2)-180)*3", 0]
|
||||
},
|
||||
"torso2": {
|
||||
"rotation": ["-2.5-math.sin(q.anim_time*90-150)/2", 0, 0]
|
||||
},
|
||||
"torso3": {
|
||||
"rotation": ["-5-math.sin(q.anim_time*90-210)", 0, 0]
|
||||
},
|
||||
"mane_bottom": {
|
||||
"rotation": ["-47.5-math.sin(q.anim_time*90-120)*8", 0, 0]
|
||||
},
|
||||
"lower_mane_right": {
|
||||
"rotation": [0, 0, "math.sin(q.anim_time*90-120)*8"]
|
||||
},
|
||||
"lower_mane_left": {
|
||||
"rotation": [0, 0, "-math.sin(q.anim_time*90-120)*8"]
|
||||
},
|
||||
"mane_top": {
|
||||
"rotation": ["math.sin(q.anim_time*90-120)*8", 0, 0]
|
||||
},
|
||||
"mane_left_top": {
|
||||
"rotation": [0, 0, "-math.sin(q.anim_time*90-120)*8"]
|
||||
},
|
||||
"mane_right_top": {
|
||||
"rotation": [0, 0, "math.sin(q.anim_time*90-120)*8"]
|
||||
},
|
||||
"mane_left_bottom": {
|
||||
"rotation": [0, 0, "-math.sin(q.anim_time*90-120)*8"]
|
||||
},
|
||||
"mane_right_bottom": {
|
||||
"rotation": [0, 0, "math.sin(q.anim_time*90-120)*8"]
|
||||
},
|
||||
"head": {
|
||||
"rotation": ["-math.sin(q.anim_time*90-270)", 0, "math.sin(q.anim_time*45-150)*2"]
|
||||
},
|
||||
"horn_glow_right": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_right2": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_right3": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left2": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left3": {
|
||||
"scale": 0
|
||||
},
|
||||
"ftorso2": {
|
||||
"rotation": [-2.5, 0, 0]
|
||||
},
|
||||
"ftorso3": {
|
||||
"rotation": [-5, 0, 0]
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": ["math.sin(q.anim_time*90*2-60)*4", 0, 0],
|
||||
"position": [0, "-math.sin(q.anim_time*90*2)/4", "-math.cos(q.anim_time*90*2)/4"]
|
||||
},
|
||||
"leg_front_right2": {
|
||||
"rotation": ["20+math.sin(q.anim_time*90*2-120)*6", 0, 0]
|
||||
},
|
||||
"leg_front_right3": {
|
||||
"rotation": ["15+math.sin(q.anim_time*90*2-180)*8", 0, 0]
|
||||
},
|
||||
"leg_front_left": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*2-60)*4", 0, 0],
|
||||
"position": [0, "math.sin(q.anim_time*90*2)/4", "math.cos(q.anim_time*90*2)/4"]
|
||||
},
|
||||
"leg_front_left2": {
|
||||
"rotation": ["20-math.sin(q.anim_time*90*2-120)*6", 0, 0]
|
||||
},
|
||||
"leg_front_left3": {
|
||||
"rotation": ["15-math.sin(q.anim_time*90*2-180)*8", 0, 0]
|
||||
},
|
||||
"leg_back_right": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*2-60)*4", 0, 0],
|
||||
"position": [0, "math.sin(q.anim_time*90*2)/4", "math.cos(q.anim_time*90*2)/4"]
|
||||
},
|
||||
"leg_back_right2": {
|
||||
"rotation": ["-20-math.sin(q.anim_time*90*2-120)*15", 0, 0]
|
||||
},
|
||||
"leg_back_right3": {
|
||||
"rotation": ["12.5-math.sin(q.anim_time*90*2-180)*8", 0, 0]
|
||||
},
|
||||
"leg_back_left": {
|
||||
"rotation": ["math.sin(q.anim_time*90*2-60)*4", 0, 0],
|
||||
"position": [0, "-math.sin(q.anim_time*90*2)/4", "-math.cos(q.anim_time*90*2)/4"]
|
||||
},
|
||||
"leg_back_left2": {
|
||||
"rotation": ["-20+math.sin(q.anim_time*90*2-120)*15", 0, 0]
|
||||
},
|
||||
"leg_back_left3": {
|
||||
"rotation": ["12.5+math.sin(q.anim_time*90*2-180)*8", 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_aqua.surfacewater_swim": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, "-15+math.sin(q.anim_time*90*3)/4", 0]
|
||||
},
|
||||
"hips": {
|
||||
"rotation": ["-10-math.sin(q.anim_time*90*3)", 0, 0]
|
||||
},
|
||||
"torso": {
|
||||
"rotation": [7.5, 0, 0]
|
||||
},
|
||||
"tails": {
|
||||
"rotation": [15, 0, "math.mod(q.anim_time*2,1)*360"]
|
||||
},
|
||||
"tail_left": {
|
||||
"rotation": [-15, 17.5, 27.5]
|
||||
},
|
||||
"tail_left2": {
|
||||
"rotation": [0, -5, 0]
|
||||
},
|
||||
"tail_left3": {
|
||||
"rotation": [0, -5, 0]
|
||||
},
|
||||
"tail_left4": {
|
||||
"rotation": [0, 12.5, 0]
|
||||
},
|
||||
"tail_left5": {
|
||||
"rotation": [15, 12.5, 0]
|
||||
},
|
||||
"tail_left6": {
|
||||
"rotation": [17.5, 15, 0]
|
||||
},
|
||||
"tail_left7": {
|
||||
"rotation": [12.5, 15, 0]
|
||||
},
|
||||
"tail_middle": {
|
||||
"rotation": [-7.5, 0, 0]
|
||||
},
|
||||
"tail_middle2": {
|
||||
"rotation": [-7.5, 0, 0]
|
||||
},
|
||||
"tail_middle3": {
|
||||
"rotation": [-7.5, 0, 0]
|
||||
},
|
||||
"tail_middle4": {
|
||||
"rotation": [20, 0, 0]
|
||||
},
|
||||
"tail_middle5": {
|
||||
"rotation": [15, -22.5, 0]
|
||||
},
|
||||
"tail_middle6": {
|
||||
"rotation": [10, -20, 0]
|
||||
},
|
||||
"tail_middle7": {
|
||||
"rotation": [10, -22.5, 0]
|
||||
},
|
||||
"tail_right": {
|
||||
"rotation": [-15, -17.5, -27.5]
|
||||
},
|
||||
"tail_right2": {
|
||||
"rotation": [0, 5, 0]
|
||||
},
|
||||
"tail_right3": {
|
||||
"rotation": [0, 5, 0]
|
||||
},
|
||||
"tail_right4": {
|
||||
"rotation": [0, -12.5, 0]
|
||||
},
|
||||
"tail_right5": {
|
||||
"rotation": [-15, -12.5, 0]
|
||||
},
|
||||
"tail_right6": {
|
||||
"rotation": [-17.5, -15, 0]
|
||||
},
|
||||
"tail_right7": {
|
||||
"rotation": [-12.5, -15, 0]
|
||||
},
|
||||
"tail_right8": {
|
||||
"rotation": [-25, 0, 0]
|
||||
},
|
||||
"torso2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-60)", 0, 0]
|
||||
},
|
||||
"torso3": {
|
||||
"rotation": ["2.5-math.sin(q.anim_time*90*3-120)", 0, 0]
|
||||
},
|
||||
"mane_bottom": {
|
||||
"rotation": ["25+math.sin(q.anim_time*90*3)*8", 0, 0]
|
||||
},
|
||||
"lower_mane_right": {
|
||||
"rotation": ["math.sin(q.anim_time*90*3+90)*4", 0, 0]
|
||||
},
|
||||
"lower_mane_left": {
|
||||
"rotation": ["math.sin(q.anim_time*90*3+90)*4", 0, 0]
|
||||
},
|
||||
"mane_left_top": {
|
||||
"rotation": ["math.sin(q.anim_time*90*3-30)*8", 0, 0]
|
||||
},
|
||||
"mane_right_top": {
|
||||
"rotation": ["math.sin(q.anim_time*90*3-30)*8", 0, 0]
|
||||
},
|
||||
"mane_left_bottom": {
|
||||
"rotation": ["math.sin(q.anim_time*90*3+30)*8", 0, 0]
|
||||
},
|
||||
"mane_right_bottom": {
|
||||
"rotation": ["math.sin(q.anim_time*90*3+30)*8", 0, 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": ["-25-math.sin(q.anim_time*90*3-150)", 0, 0]
|
||||
},
|
||||
"horn_glow_right": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_right2": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_right3": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left2": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left3": {
|
||||
"scale": 0
|
||||
},
|
||||
"ftorso2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-60)", 0, 0]
|
||||
},
|
||||
"ftorso3": {
|
||||
"rotation": ["2.5-math.sin(q.anim_time*90*3-120)", 0, 0]
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": ["5-math.sin(q.anim_time*90*3-120)*4", 0, 0],
|
||||
"position": [0, "-2+math.sin(q.anim_time*90*3-30)/4", "math.cos(q.anim_time*90*3-30)/4"]
|
||||
},
|
||||
"leg_front_right2": {
|
||||
"rotation": ["57.5-math.sin(q.anim_time*90*3-180)*8", 0, 0]
|
||||
},
|
||||
"leg_front_right3": {
|
||||
"rotation": ["32.5-math.sin(q.anim_time*90*3-210)*6", 0, 0],
|
||||
"position": [0, 0.25, 0]
|
||||
},
|
||||
"leg_front_left": {
|
||||
"rotation": ["5-math.sin(q.anim_time*90*3-90)*4", 0, 0],
|
||||
"position": [0, "-2+math.sin(q.anim_time*90*3)/4", "math.cos(q.anim_time*90*3)/4"]
|
||||
},
|
||||
"leg_front_left2": {
|
||||
"rotation": ["57.5-math.sin(q.anim_time*90*3-150)*8", 0, 0]
|
||||
},
|
||||
"leg_front_left3": {
|
||||
"rotation": ["32.5-math.sin(q.anim_time*90*3-180)*6", 0, 0],
|
||||
"position": [0, 0.25, 0]
|
||||
},
|
||||
"leg_back_right": {
|
||||
"rotation": ["57.5+math.sin(q.anim_time*90*3-120)*4", 0, 0],
|
||||
"position": [0, "-math.sin(q.anim_time*90*3)/4", "-math.cos(q.anim_time*90*3)/4"]
|
||||
},
|
||||
"leg_back_right2": {
|
||||
"rotation": ["-15+math.sin(q.anim_time*90*3-180)*4", 0, 0]
|
||||
},
|
||||
"leg_back_right3": {
|
||||
"rotation": ["15+math.sin(q.anim_time*90*3-210)*6", 0, 0]
|
||||
},
|
||||
"leg_back_left": {
|
||||
"rotation": ["42.5+math.sin(q.anim_time*90*3-90)*4", 0, 0],
|
||||
"position": [0, "-math.sin(q.anim_time*90*3)/4", "-math.cos(q.anim_time*90*3)/4"]
|
||||
},
|
||||
"leg_back_left2": {
|
||||
"rotation": ["-37.5+math.sin(q.anim_time*90*3-150)*4", 0, 0]
|
||||
},
|
||||
"leg_back_left3": {
|
||||
"rotation": ["15+math.sin(q.anim_time*90*3-180)*6", 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_aqua.ride_surfacewater_swim": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"torso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*10", 0]
|
||||
},
|
||||
"torso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*10", 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*10", 0]
|
||||
},
|
||||
"hips": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-10", 0]
|
||||
},
|
||||
"ftorso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*10", 0]
|
||||
},
|
||||
"ftorso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*10", 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_aqua.ride_jump_liquid": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, "2+math.sin(q.anim_time*90*12)/24", 0]
|
||||
},
|
||||
"mane_bottom": {
|
||||
"rotation": ["math.sin(q.anim_time*90*20)*2", 0, 0]
|
||||
},
|
||||
"mane_top": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*20)*2", 0, 0]
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": ["-30+math.sin(q.anim_time*90*20-60)/2+q.r.velocity_y(0)*40", 0, 0]
|
||||
},
|
||||
"leg_front_right2": {
|
||||
"rotation": ["40+math.sin(q.anim_time*90*20-150)+q.r.velocity_y(0)*30", 0, 0]
|
||||
},
|
||||
"leg_front_left": {
|
||||
"rotation": ["-25+math.sin(q.anim_time*90*20)/2+q.r.velocity_y(0)*40", 0, 0]
|
||||
},
|
||||
"leg_front_left2": {
|
||||
"rotation": ["40+math.sin(q.anim_time*90*20-90)+q.r.velocity_y(0)*30", 0, 0]
|
||||
},
|
||||
"leg_back_right": {
|
||||
"rotation": ["5+math.sin(q.anim_time*90*20)/2+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"leg_back_right2": {
|
||||
"rotation": ["-15+math.sin(q.anim_time*90*20-90)+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"leg_back_left": {
|
||||
"rotation": ["10+math.sin(q.anim_time*90*20-60)/2+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"leg_back_left2": {
|
||||
"rotation": ["-15+math.sin(q.anim_time*90*20-150)+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"hips": {
|
||||
"rotation": ["q.r.velocity_y(0)*-20", 0, 0]
|
||||
},
|
||||
"tails": {
|
||||
"rotation": [15, 0, "math.mod(q.anim_time*1,1)*360"]
|
||||
},
|
||||
"tail_left": {
|
||||
"rotation": [-15, 17.5, 27.5]
|
||||
},
|
||||
"tail_left2": {
|
||||
"rotation": [0, -5, 0]
|
||||
},
|
||||
"tail_left3": {
|
||||
"rotation": [0, -5, 0]
|
||||
},
|
||||
"tail_left4": {
|
||||
"rotation": [0, 12.5, 0]
|
||||
},
|
||||
"tail_left5": {
|
||||
"rotation": [15, 12.5, 0]
|
||||
},
|
||||
"tail_left6": {
|
||||
"rotation": [17.5, 15, 0]
|
||||
},
|
||||
"tail_left7": {
|
||||
"rotation": [12.5, 15, 0]
|
||||
},
|
||||
"tail_middle": {
|
||||
"rotation": [-7.5, 0, 0]
|
||||
},
|
||||
"tail_middle2": {
|
||||
"rotation": [-7.5, 0, 0]
|
||||
},
|
||||
"tail_middle3": {
|
||||
"rotation": [-7.5, 0, 0]
|
||||
},
|
||||
"tail_middle4": {
|
||||
"rotation": [20, 0, 0]
|
||||
},
|
||||
"tail_middle5": {
|
||||
"rotation": [15, -22.5, 0]
|
||||
},
|
||||
"tail_middle6": {
|
||||
"rotation": [10, -20, 0]
|
||||
},
|
||||
"tail_middle7": {
|
||||
"rotation": [10, -22.5, 0]
|
||||
},
|
||||
"tail_right": {
|
||||
"rotation": [-15, -17.5, -27.5]
|
||||
},
|
||||
"tail_right2": {
|
||||
"rotation": [0, 5, 0]
|
||||
},
|
||||
"tail_right3": {
|
||||
"rotation": [0, 5, 0]
|
||||
},
|
||||
"tail_right4": {
|
||||
"rotation": [0, -12.5, 0]
|
||||
},
|
||||
"tail_right5": {
|
||||
"rotation": [-15, -12.5, 0]
|
||||
},
|
||||
"tail_right6": {
|
||||
"rotation": [-17.5, -15, 0]
|
||||
},
|
||||
"tail_right7": {
|
||||
"rotation": [-12.5, -15, 0]
|
||||
},
|
||||
"tail_right8": {
|
||||
"rotation": [-25, 0, 0]
|
||||
},
|
||||
"horn_glow_right": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_right2": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_right3": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left2": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left3": {
|
||||
"scale": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_aqua.render": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
@@ -893,6 +1571,20 @@
|
||||
"effect": "pokemon.tauros.cry"
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_aqua.glow": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"head_marking_glow": {
|
||||
"position": [0, 0.1, -0.1]
|
||||
},
|
||||
"head_markings_top": {
|
||||
"position": [0, -0.1, 0]
|
||||
},
|
||||
"head_markings_glow_top": {
|
||||
"position": [0, 0.1, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+173
-39
@@ -402,27 +402,9 @@
|
||||
"head_correction": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4-90)*0.5-1", 0, 0]
|
||||
},
|
||||
"mane_top": {
|
||||
"rotation": ["math.sin(q.anim_time*90*4-45)*4-4", 0, 0]
|
||||
},
|
||||
"mane_bottom": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4-45)*4-4", 0, 0]
|
||||
},
|
||||
"tail_right": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*5+120)*10+5", "-math.sin(q.anim_time*90*1.5-33*5+120)*4", 0]
|
||||
},
|
||||
"tail_right2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*6+120)*8", "math.sin(q.anim_time*90*1.5-33*6+120)*6", 0]
|
||||
},
|
||||
"tail_right3": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*7+120)*8", "math.sin(q.anim_time*90*1.5-33*4+120)*8", 0]
|
||||
},
|
||||
"tail_right4": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*8+120)*8", "math.sin(q.anim_time*90*1.5-33*3+120)*8", 0]
|
||||
},
|
||||
"tail_right5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9+120)*10", "-math.sin(q.anim_time*90*1.5-33*2+120)*10", 0]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*5-120)*10+5", "-math.sin(q.anim_time*90*1.5-33*5-120)*4", 0]
|
||||
},
|
||||
@@ -438,21 +420,6 @@
|
||||
"tail5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9-120)*10", "-math.sin(q.anim_time*90*1.5-33*2-120)*10", 0]
|
||||
},
|
||||
"tail_left": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*5)*10+5", "-math.sin(q.anim_time*90*1.5-33*5)*4", 0]
|
||||
},
|
||||
"tail_left2": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*6)*8", "math.sin(q.anim_time*90*1.5-33*6)*6", 0]
|
||||
},
|
||||
"tail_left3": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*7)*8", "math.sin(q.anim_time*90*1.5-33*4)*8", 0]
|
||||
},
|
||||
"tail_left4": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*8)*8", "math.sin(q.anim_time*90*1.5-33*3)*8", 0]
|
||||
},
|
||||
"tail_left5": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9)*10", "-math.sin(q.anim_time*90*1.5-33*2)*10", 0]
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*4-66)*3-3", 0, "-math.sin(q.anim_time*90*2+66)*0.5-math.sin(q.anim_time*90*2-45)*0.2"],
|
||||
"position": [
|
||||
@@ -505,15 +472,9 @@
|
||||
"leg_back_left3": {
|
||||
"rotation": ["-3.5-1*(math.sin(q.anim_time*90*4-90)*1+1+math.sin(q.anim_time*90*4-90)*2-2-math.sin(q.anim_time*90*4-90)*4-6)", 0, 0]
|
||||
},
|
||||
"tail_right6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9+120)*6", "-math.sin(q.anim_time*90*1.5-33*2+120)*10", 0]
|
||||
},
|
||||
"tail6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9-120)*6", "-math.sin(q.anim_time*90*1.5-33*2-120)*10", 0]
|
||||
},
|
||||
"tail_left6": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*3-33*9)*6", "-math.sin(q.anim_time*90*1.5-33*2)*10", 0]
|
||||
},
|
||||
"horn_glow_left": {
|
||||
"scale": 0
|
||||
},
|
||||
@@ -534,6 +495,165 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_blaze.ride_ground_walk": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"torso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"torso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*10", 0]
|
||||
},
|
||||
"hips": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-5", 0]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-5", 0]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": [0, "q.r.yaw_change(2)*-10", 0]
|
||||
},
|
||||
"tail3": {
|
||||
"rotation": [0, "q.r.yaw_change(4)*-10", 0]
|
||||
},
|
||||
"tail4": {
|
||||
"rotation": [0, "q.r.yaw_change(6)*-15", 0]
|
||||
},
|
||||
"tail5": {
|
||||
"rotation": [0, "q.r.yaw_change(8)*-15", 0]
|
||||
},
|
||||
"tail6": {
|
||||
"rotation": [0, "q.r.yaw_change(10)*-15", 0]
|
||||
},
|
||||
"ftorso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"ftorso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_blaze.ride_ground_run": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"torso": {
|
||||
"rotation": [0, 0, "q.r.yaw_change(0)*-10"]
|
||||
},
|
||||
"torso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"torso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*15", 0]
|
||||
},
|
||||
"tails": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-15", 0]
|
||||
},
|
||||
"hips": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*-5", 0]
|
||||
},
|
||||
"ftorso2": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
},
|
||||
"ftorso3": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*7.5", 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_blaze.ride_jump": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, "2+math.sin(q.anim_time*90*12)/24", 0]
|
||||
},
|
||||
"mane_bottom": {
|
||||
"rotation": ["math.sin(q.anim_time*90*20)*2", 0, 0]
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": ["-30+math.sin(q.anim_time*90*20-60)/2+q.r.velocity_y(0)*40", 0, 0]
|
||||
},
|
||||
"leg_front_right2": {
|
||||
"rotation": ["40+math.sin(q.anim_time*90*20-150)+q.r.velocity_y(0)*30", 0, 0]
|
||||
},
|
||||
"leg_front_left": {
|
||||
"rotation": ["-25+math.sin(q.anim_time*90*20)/2+q.r.velocity_y(0)*40", 0, 0]
|
||||
},
|
||||
"leg_front_left2": {
|
||||
"rotation": ["40+math.sin(q.anim_time*90*20-90)+q.r.velocity_y(0)*30", 0, 0]
|
||||
},
|
||||
"leg_back_right": {
|
||||
"rotation": ["5+math.sin(q.anim_time*90*20)/2+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"leg_back_right2": {
|
||||
"rotation": ["-15+math.sin(q.anim_time*90*20-90)+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"leg_back_left": {
|
||||
"rotation": ["10+math.sin(q.anim_time*90*20-60)/2+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"leg_back_left2": {
|
||||
"rotation": ["-15+math.sin(q.anim_time*90*20-150)+q.r.velocity_y(0)*20", 0, 0]
|
||||
},
|
||||
"hips": {
|
||||
"rotation": ["q.r.velocity_y(0)*-20", 0, 0]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": ["q.r.velocity_y(0)*20+math.sin(q.anim_time*90*10)*2", 0, 0]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-30)*3", 0, 0]
|
||||
},
|
||||
"tail3": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-60)*4", 0, 0]
|
||||
},
|
||||
"tail4": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-90)*5", 0, 0]
|
||||
},
|
||||
"tail5": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-120)*6", 0, 0]
|
||||
},
|
||||
"tail6": {
|
||||
"rotation": ["math.sin(q.anim_time*90*10-150)*8", 0, 0]
|
||||
},
|
||||
"mane_right": {
|
||||
"rotation": [0, "NaN-math.sin(q.anim_time*90*20-180)*2", 0]
|
||||
},
|
||||
"mane_left": {
|
||||
"rotation": [0, "-math.sin(q.anim_time*90*20-180)*2", 0]
|
||||
},
|
||||
"mane_top_fur": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*20)*2", 0, 0]
|
||||
},
|
||||
"mane_middle_right": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*20-30)*2", 0, 0]
|
||||
},
|
||||
"mane_middle_left": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*20-90)*2", 0, 0]
|
||||
},
|
||||
"horn_glow_right": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_right2": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_right3": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left2": {
|
||||
"scale": 0
|
||||
},
|
||||
"horn_glow_left3": {
|
||||
"scale": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_blaze.render": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
@@ -911,6 +1031,20 @@
|
||||
"effect": "pokemon.tauros.cry"
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tauros_paldean_blaze.glow": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"head_markings_top": {
|
||||
"position": [0, -0.1, 0]
|
||||
},
|
||||
"head_markings_glow_top": {
|
||||
"position": [0, 0.1, 0]
|
||||
},
|
||||
"head_marking_glow": {
|
||||
"position": [0, 0.1, -0.1]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+1009
File diff suppressed because it is too large
Load Diff
+17271
-163
File diff suppressed because it is too large
Load Diff
+448
-68
@@ -3600,28 +3600,64 @@
|
||||
"left_eye": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.375": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.25": {"pre": [0, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.9583": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"2.5": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.375": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.9583": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"2.5": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"right_eye": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.375": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.25": {"pre": [0, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.9583": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"2.5": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.375": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.9583": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"2.5": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"closed": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.375": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.25": {"pre": [0, 0, -0.1], "post": [0, 0, 0]},
|
||||
"1.9583": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"2.5": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.375": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.9583": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"2.5": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"front_neck_fluff_lower": {
|
||||
@@ -4413,28 +4449,64 @@
|
||||
"left_eye": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.8333": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.25": {"pre": [0, 0, 0.1], "post": [0, 0, 0]},
|
||||
"2.0": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"2.2917": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.8333": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.0": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"2.2917": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"right_eye": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.8333": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.25": {"pre": [0, 0, 0.1], "post": [0, 0, 0]},
|
||||
"2.0": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"2.2917": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.8333": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.0": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"2.2917": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"closed": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.8333": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.25": {"pre": [0, 0, -0.1], "post": [0, 0, 0]},
|
||||
"2.0": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"2.2917": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.8333": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.0": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"2.2917": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"front_neck_fluff_lower": {
|
||||
@@ -4575,25 +4647,49 @@
|
||||
"left_pupil": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"1.25": {"pre": [0, 0, 0], "post": [0, -0.8, 0]},
|
||||
"2.2917": {"pre": [0, -0.8, 0], "post": [0, 0, 0]}
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, -0.8, 0]
|
||||
},
|
||||
"2.2917": {
|
||||
"pre": [0, -0.8, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"scale": {
|
||||
"0.0": [1, 1, 1],
|
||||
"1.25": {"pre": [1, 1, 1], "post": [1, 0.5, 1]},
|
||||
"2.2917": {"pre": [1, 0.5, 1], "post": [1, 1, 1]}
|
||||
"1.25": {
|
||||
"pre": [1, 1, 1],
|
||||
"post": [1, 0.5, 1]
|
||||
},
|
||||
"2.2917": {
|
||||
"pre": [1, 0.5, 1],
|
||||
"post": [1, 1, 1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"right_pupil": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"1.25": {"pre": [0, 0, 0], "post": [0, -0.8, 0]},
|
||||
"2.2917": {"pre": [0, -0.8, 0], "post": [0, 0, 0]}
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, -0.8, 0]
|
||||
},
|
||||
"2.2917": {
|
||||
"pre": [0, -0.8, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"scale": {
|
||||
"0.0": [1, 1, 1],
|
||||
"1.25": {"pre": [1, 1, 1], "post": [1, 0.5, 1]},
|
||||
"2.2917": {"pre": [1, 0.5, 1], "post": [1, 1, 1]}
|
||||
"1.25": {
|
||||
"pre": [1, 1, 1],
|
||||
"post": [1, 0.5, 1]
|
||||
},
|
||||
"2.2917": {
|
||||
"pre": [1, 0.5, 1],
|
||||
"post": [1, 1, 1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"back_neck_fluff_lower": {
|
||||
@@ -5407,28 +5503,64 @@
|
||||
"left_eye": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.5": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"0.7917": {"pre": [0, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.375": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.875": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"0.7917": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.375": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.875": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"right_eye": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.5": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"0.7917": {"pre": [0, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.375": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.875": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"0.7917": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.375": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.875": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"closed": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.5": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"0.7917": {"pre": [0, 0, -0.1], "post": [0, 0, 0]},
|
||||
"1.375": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.875": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"0.7917": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.375": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"1.875": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"front_neck_fluff_lower": {
|
||||
@@ -6512,28 +6644,64 @@
|
||||
"left_eye": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.5": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"0.7917": {"pre": [0, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.375": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.875": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"0.7917": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.375": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.875": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"right_eye": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.5": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"0.7917": {"pre": [0, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.375": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.875": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"0.7917": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.375": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.875": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"closed": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.5": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"0.7917": {"pre": [0, 0, -0.1], "post": [0, 0, 0]},
|
||||
"1.375": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.875": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"0.7917": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.375": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"1.875": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"front_neck_fluff_lower": {
|
||||
@@ -7414,22 +7582,40 @@
|
||||
"left_eye": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.5": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.9583": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.9583": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"right_eye": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.5": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.9583": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.9583": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"closed": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.5": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.9583": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"1.9583": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"front_neck_fluff_lower": {
|
||||
@@ -7707,22 +7893,40 @@
|
||||
"closed": {
|
||||
"position": {
|
||||
"0.0": [0, 0, -0.1],
|
||||
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
|
||||
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.125": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"0.1667": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"left_eye": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0.1],
|
||||
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
|
||||
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.125": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"0.1667": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"right_eye": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0.1],
|
||||
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
|
||||
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.125": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"0.1667": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7881,6 +8085,182 @@
|
||||
"effect": "pokemon.slaking.cry"
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.slaking.ride_ground": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"torso": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*20", "q.r.yaw_change(0)*-8"]
|
||||
},
|
||||
"upper_torso": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*10", 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*30", 0]
|
||||
},
|
||||
"legs": {
|
||||
"rotation": [0, "q.r.yaw_change(0)*5", 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.slaking.ride_jump": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, "2+math.clamp((q.r.velocity_y(0)*3),0,3)+math.sin(q.anim_time*90*12)*0.1", 0]
|
||||
},
|
||||
"torso": {
|
||||
"rotation": ["30+q.r.velocity_y(0)*-20", 0, 0]
|
||||
},
|
||||
"upper_torso": {
|
||||
"rotation": ["10+q.r.velocity_y(0)*10", 0, 0]
|
||||
},
|
||||
"right_upper_arm": {
|
||||
"rotation": ["-17.5+q.r.velocity_y(0)*20", "-5+q.r.velocity_y(0)*20-math.sin(q.anim_time*90*20)/8", "-17.5+q.r.velocity_y(0)*-20"]
|
||||
},
|
||||
"right_lower_arm": {
|
||||
"rotation": [0, "-60+q.r.velocity_y(0)*20-math.sin(q.anim_time*90*20-90)/2", 0]
|
||||
},
|
||||
"right_hand": {
|
||||
"rotation": [0, 0, -20]
|
||||
},
|
||||
"right_index_finger": {
|
||||
"rotation": [0, 0, -30]
|
||||
},
|
||||
"right_index_finger_tip": {
|
||||
"rotation": [0, 0, -62.5]
|
||||
},
|
||||
"right_middle_finger": {
|
||||
"rotation": [0, 0, -25]
|
||||
},
|
||||
"right_middle_finger_tip": {
|
||||
"rotation": [0, 0, -75]
|
||||
},
|
||||
"right_ring_finger": {
|
||||
"rotation": [0, 0, -32.5]
|
||||
},
|
||||
"right_ring_finger_tip": {
|
||||
"rotation": [0, 0, -80]
|
||||
},
|
||||
"right_pinky_finger": {
|
||||
"rotation": [0, 0, -40]
|
||||
},
|
||||
"right_pinky_finger_tip": {
|
||||
"rotation": [0, 0, -77.5]
|
||||
},
|
||||
"right_thumb": {
|
||||
"rotation": [0, -25, -22.5]
|
||||
},
|
||||
"right_thumb_tip": {
|
||||
"rotation": [0, 50, 0]
|
||||
},
|
||||
"left_upper_arm": {
|
||||
"rotation": ["q.r.velocity_y(0)*20", "5+q.r.velocity_y(0)*-20+math.sin(q.anim_time*90*20)/8", "17.5+q.r.velocity_y(0)*20"]
|
||||
},
|
||||
"left_lower_arm": {
|
||||
"rotation": [0, "47.5+q.r.velocity_y(0)*-20+math.sin(q.anim_time*90*20-90)/2", 0]
|
||||
},
|
||||
"left_hand": {
|
||||
"rotation": [0, 0, 20]
|
||||
},
|
||||
"left_index_finger": {
|
||||
"rotation": [0, 0, 30]
|
||||
},
|
||||
"left_index_finger_tip": {
|
||||
"rotation": [0, 0, 62.5]
|
||||
},
|
||||
"left_middle_finger": {
|
||||
"rotation": [0, 0, 25]
|
||||
},
|
||||
"left_middle_finger_tip": {
|
||||
"rotation": [0, 0, 75]
|
||||
},
|
||||
"left_ring_finger": {
|
||||
"rotation": [0, 0, 32.5]
|
||||
},
|
||||
"left_ring_finger_tip": {
|
||||
"rotation": [0, 0, 80]
|
||||
},
|
||||
"left_pinky_finger": {
|
||||
"rotation": [0, 0, 40]
|
||||
},
|
||||
"left_pinky_finger_tip": {
|
||||
"rotation": [0, 0, 77.5]
|
||||
},
|
||||
"left_thumb": {
|
||||
"rotation": [0, 25, 22.5]
|
||||
},
|
||||
"left_thumb_tip": {
|
||||
"rotation": [0, -50, 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": ["math.clamp((q.r.velocity_y(0)*30),-30,-10)+math.sin(q.anim_time*90*20)/8", 0, 0]
|
||||
},
|
||||
"left_head_tuft": {
|
||||
"rotation": [0, "-17.5+math.sin(q.anim_time*90*20)*2", 0]
|
||||
},
|
||||
"right_head_tuft": {
|
||||
"rotation": [0, "17.5-math.sin(q.anim_time*90*20-90)*2", 0]
|
||||
},
|
||||
"front_neck_fluff_lower": {
|
||||
"rotation": ["math.sin(q.anim_time*90*20)", 0, 0]
|
||||
},
|
||||
"front_neck_fluff_upper": {
|
||||
"rotation": ["-2.5+math.sin(q.anim_time*90*20-90)", 0, 0]
|
||||
},
|
||||
"back_neck_fluff_lower": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*20)", 0, 0]
|
||||
},
|
||||
"back_neck_fluff_upper": {
|
||||
"rotation": ["-math.sin(q.anim_time*90*20-90)", 0, 0]
|
||||
},
|
||||
"left_neck_fluff_lower": {
|
||||
"rotation": [0, 0, "math.sin(q.anim_time*90*20)"]
|
||||
},
|
||||
"left_neck_fluff_upper": {
|
||||
"rotation": [0, 0, "math.sin(q.anim_time*90*20-90)"]
|
||||
},
|
||||
"right_neck_fluff_lower": {
|
||||
"rotation": [0, 0, "-math.sin(q.anim_time*90*20)"]
|
||||
},
|
||||
"right_neck_fluff_upper": {
|
||||
"rotation": [0, 0, "-math.sin(q.anim_time*90*20-90)"]
|
||||
},
|
||||
"left_upper_leg": {
|
||||
"rotation": ["-45+q.r.velocity_y(0)*30+math.sin(q.anim_time*90*20-60)/4", -17.5, 0]
|
||||
},
|
||||
"left_lower_leg": {
|
||||
"rotation": ["55+math.clamp((q.r.velocity_y(0)*30),-30,0)+math.sin(q.anim_time*90*20-150)/2", 0, 0]
|
||||
},
|
||||
"left_foot": {
|
||||
"rotation": [2.5, 0, 0]
|
||||
},
|
||||
"left_small_toes": {
|
||||
"rotation": ["27.5+math.clamp((q.r.velocity_y(0)*30),-27.5,0)", 0, 0]
|
||||
},
|
||||
"left_big_toe": {
|
||||
"rotation": ["10+math.clamp((q.r.velocity_y(0)*10),-105,0)", 0, 0]
|
||||
},
|
||||
"right_upper_leg": {
|
||||
"rotation": ["-30+q.r.velocity_y(0)*30+math.sin(q.anim_time*90*20)/4", 15, 0]
|
||||
},
|
||||
"right_lower_leg": {
|
||||
"rotation": ["60+math.clamp((q.r.velocity_y(0)*40),-40,0)+math.sin(q.anim_time*90*20-90)/2", 0, 0]
|
||||
},
|
||||
"right_foot": {
|
||||
"rotation": [2.5, 0, 0]
|
||||
},
|
||||
"right_big_toe": {
|
||||
"rotation": ["10+math.clamp((q.r.velocity_y(0)*10),-105,0)", 0, 0]
|
||||
},
|
||||
"right_small_toes": {
|
||||
"rotation": ["27.5+math.clamp((q.r.velocity_y(0)*30),-27.5,0)", 0, 0]
|
||||
},
|
||||
"locator_seat_1": {
|
||||
"rotation": [-40, 0, 0],
|
||||
"position": [0, -5, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+8221
-36
File diff suppressed because it is too large
Load Diff
+79
-84
@@ -7,8 +7,8 @@
|
||||
"texture_width": 128,
|
||||
"texture_height": 128,
|
||||
"visible_bounds_width": 10,
|
||||
"visible_bounds_height": 3.5,
|
||||
"visible_bounds_offset": [0, 1.25, 0]
|
||||
"visible_bounds_height": 2.5,
|
||||
"visible_bounds_offset": [0, 0.75, 0]
|
||||
},
|
||||
"bones": [
|
||||
{
|
||||
@@ -132,17 +132,17 @@
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 18.25, 3.75],
|
||||
"pivot": [0, 15.25, 3.75],
|
||||
"locators": {
|
||||
"seat_1": [0, 18.25, 3.75]
|
||||
"seat_1": [0, 15.25, 3.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_2",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 15, 17],
|
||||
"pivot": [0, 12, 17],
|
||||
"locators": {
|
||||
"seat_2": [0, 15, 17]
|
||||
"seat_2": [0, 12, 17]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -164,11 +164,6 @@
|
||||
{
|
||||
"name": "head",
|
||||
"parent": "neck",
|
||||
"pivot": [0, 4.75, -34.5]
|
||||
},
|
||||
{
|
||||
"name": "head_ai",
|
||||
"parent": "head",
|
||||
"pivot": [0, 4.75, -34.5],
|
||||
"cubes": [
|
||||
{"origin": [-5.5, 0, -39], "size": [11, 10, 10], "inflate": 0.21, "uv": [0, 93]},
|
||||
@@ -176,74 +171,48 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jaw",
|
||||
"parent": "head_ai",
|
||||
"pivot": [0, 1.85, -38.5],
|
||||
"cubes": [
|
||||
{"origin": [-4, -0.15, -41.5], "size": [8, 2, 3], "uv": [58, 35]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_mouth",
|
||||
"parent": "jaw",
|
||||
"pivot": [0, 1.75, -39.2],
|
||||
"name": "locator_head",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.25, -37],
|
||||
"locators": {
|
||||
"mouth": [0, 1.75, -39.2],
|
||||
"special": [0, 1.75, -39.2]
|
||||
"head": [0, 10.25, -37]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item",
|
||||
"parent": "jaw",
|
||||
"pivot": [0, 1.75, -41.45],
|
||||
"name": "locator_item_hat",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.25, -34.75],
|
||||
"locators": {
|
||||
"item": [0, 1.75, -41.45]
|
||||
"item_hat": [0, 10.25, -34.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_jaw_lower",
|
||||
"parent": "jaw",
|
||||
"pivot": [0, 1.8, -41.5],
|
||||
"name": "locator_face",
|
||||
"parent": "head",
|
||||
"pivot": [0, 4.7, -42.15],
|
||||
"locators": {
|
||||
"jaw2": [0, 1.8, -41.5]
|
||||
"face": [0, 4.7, -42.15]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "snout",
|
||||
"parent": "head_ai",
|
||||
"pivot": [0, 3.88, -39.15],
|
||||
"cubes": [
|
||||
{"origin": [-5, 1.75, -42.15], "size": [10, 3, 3], "uv": [6, 122]},
|
||||
{"origin": [-1.5, 4.26, -41.15], "size": [3, 1, 1], "uv": [80, 35]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_jaw_upper",
|
||||
"parent": "snout",
|
||||
"pivot": [0, 1.75, -40.65],
|
||||
"name": "locator_item_face",
|
||||
"parent": "head",
|
||||
"pivot": [0, 6.2, -39.2],
|
||||
"locators": {
|
||||
"jaw1": [0, 1.75, -40.65]
|
||||
"item_face": [0, 6.2, -39.2]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "tooth_left",
|
||||
"parent": "snout",
|
||||
"pivot": [4, 2, -40.65],
|
||||
"cubes": [
|
||||
{"origin": [3.5, 0, -41.15], "size": [1, 2, 1], "uv": [80, 37]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "tooth_right",
|
||||
"parent": "snout",
|
||||
"pivot": [-4, 2, -40.65],
|
||||
"cubes": [
|
||||
{"origin": [-4.5, 0, -41.15], "size": [1, 2, 1], "uv": [84, 37]}
|
||||
]
|
||||
"name": "locator_horn",
|
||||
"parent": "head",
|
||||
"pivot": [0, 13.15, -34.75],
|
||||
"locators": {
|
||||
"horn": [0, 13.15, -34.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "eyes",
|
||||
"parent": "head_ai",
|
||||
"parent": "head",
|
||||
"pivot": [3.5, 6.5, -39.27]
|
||||
},
|
||||
{
|
||||
@@ -385,43 +354,69 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_horn",
|
||||
"parent": "head_ai",
|
||||
"pivot": [0, 13.15, -34.75],
|
||||
"name": "snout",
|
||||
"parent": "head",
|
||||
"pivot": [0, 3.88, -39.15],
|
||||
"cubes": [
|
||||
{"origin": [-5, 1.75, -42.15], "size": [10, 3, 3], "uv": [6, 122]},
|
||||
{"origin": [-1.5, 4.26, -41.15], "size": [3, 1, 1], "uv": [80, 35]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_jaw_upper",
|
||||
"parent": "snout",
|
||||
"pivot": [0, 1.75, -40.65],
|
||||
"locators": {
|
||||
"horn": [0, 13.15, -34.75]
|
||||
"jaw1": [0, 1.75, -40.65]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_face",
|
||||
"parent": "head_ai",
|
||||
"pivot": [0, 6.2, -39.2],
|
||||
"name": "tooth_left",
|
||||
"parent": "snout",
|
||||
"pivot": [4, 2, -40.65],
|
||||
"cubes": [
|
||||
{"origin": [3.5, 0, -41.15], "size": [1, 2, 1], "uv": [80, 37]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "tooth_right",
|
||||
"parent": "snout",
|
||||
"pivot": [-4, 2, -40.65],
|
||||
"cubes": [
|
||||
{"origin": [-4.5, 0, -41.15], "size": [1, 2, 1], "uv": [84, 37]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jaw",
|
||||
"parent": "head",
|
||||
"pivot": [0, 1.85, -38.5],
|
||||
"cubes": [
|
||||
{"origin": [-4, -0.15, -41.5], "size": [8, 2, 3], "uv": [58, 35]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_mouth",
|
||||
"parent": "jaw",
|
||||
"pivot": [0, 1.75, -39.2],
|
||||
"locators": {
|
||||
"item_face": [0, 6.2, -39.2]
|
||||
"mouth": [0, 1.75, -39.2],
|
||||
"special": [0, 1.75, -39.2]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_face",
|
||||
"parent": "head_ai",
|
||||
"pivot": [0, 4.7, -42.15],
|
||||
"name": "locator_item",
|
||||
"parent": "jaw",
|
||||
"pivot": [0, 1.75, -41.45],
|
||||
"locators": {
|
||||
"face": [0, 4.7, -42.15]
|
||||
"item": [0, 1.75, -41.45]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_hat",
|
||||
"parent": "head_ai",
|
||||
"pivot": [0, 10.25, -34.75],
|
||||
"name": "locator_jaw_lower",
|
||||
"parent": "jaw",
|
||||
"pivot": [0, 1.8, -41.5],
|
||||
"locators": {
|
||||
"item_hat": [0, 10.25, -34.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_head",
|
||||
"parent": "head_ai",
|
||||
"pivot": [0, 10.25, -37],
|
||||
"locators": {
|
||||
"head": [0, 10.25, -37]
|
||||
"jaw2": [0, 1.8, -41.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
+172
-3
@@ -54,17 +54,17 @@
|
||||
{
|
||||
"name": "head",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 9.5, -10.5]
|
||||
"pivot": [0, 9.4, -10.7]
|
||||
},
|
||||
{
|
||||
"name": "head_correction",
|
||||
"parent": "head",
|
||||
"pivot": [0, 9.5, -10.5]
|
||||
"pivot": [0, 10, -11]
|
||||
},
|
||||
{
|
||||
"name": "head_ai",
|
||||
"parent": "head_correction",
|
||||
"pivot": [0, 9.5, -10.5]
|
||||
"pivot": [0, 10, -11]
|
||||
},
|
||||
{
|
||||
"name": "head_angle",
|
||||
@@ -99,6 +99,23 @@
|
||||
{"origin": [-4, 4.53407, -24.34461], "size": [8, 3, 8], "inflate": -0.01, "pivot": [0, 6.53407, -20.34461], "rotation": [0, -45, 0], "uv": [92, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_jaw_lower",
|
||||
"parent": "jaw",
|
||||
"pivot": [0, 7, -22.25],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"jaw_lower": [0, 7, -22.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item",
|
||||
"parent": "jaw",
|
||||
"pivot": [0, 7.5, -25.5],
|
||||
"locators": {
|
||||
"item": [0, 7.5, -25.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_ear",
|
||||
"parent": "head_angle",
|
||||
@@ -129,6 +146,17 @@
|
||||
{"origin": [0, 14.53407, -27.00146], "size": [0, 2, 2], "uv": [0, 44]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_horn",
|
||||
"parent": "horn",
|
||||
"pivot": [0, 17.5, -25.5],
|
||||
"rotation": [-90, 0, 0],
|
||||
"locators": {
|
||||
"horn": [0, 17.5, -25.5],
|
||||
"physical": [0, 17.5, -25.5],
|
||||
"special": [0, 17.5, -25.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_tooth",
|
||||
"parent": "head_angle",
|
||||
@@ -169,6 +197,14 @@
|
||||
{"origin": [6.51, 10.03407, -23.25882], "size": [0, 1, 1], "inflate": 0.02, "pivot": [6.5, 10.53407, -20.75882], "rotation": [0, 45, 0], "uv": [2, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_left",
|
||||
"parent": "left_pupil",
|
||||
"pivot": [5, 10.5, -22.25],
|
||||
"locators": {
|
||||
"eye3": [5, 10.5, -22.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_eyelid",
|
||||
"parent": "eyes",
|
||||
@@ -260,6 +296,71 @@
|
||||
{"origin": [-6.51, 10.03407, -23.25882], "size": [0, 1, 1], "inflate": 0.02, "pivot": [-6.5, 10.53407, -20.75882], "rotation": [0, -45, 0], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_right",
|
||||
"parent": "right_pupil",
|
||||
"pivot": [-5, 10.5, -22.25],
|
||||
"locators": {
|
||||
"eye2": [-5, 10.5, -22.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_mouth",
|
||||
"parent": "head",
|
||||
"pivot": [0, 7, -17],
|
||||
"locators": {
|
||||
"mouth": [0, 7, -17]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_jaw_upper",
|
||||
"parent": "head",
|
||||
"pivot": [0, 7.75, -20.25],
|
||||
"rotation": [-90, 0, 0],
|
||||
"locators": {
|
||||
"jaw_upper": [0, 7.75, -20.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_head",
|
||||
"parent": "head",
|
||||
"pivot": [0, 15, -19.25],
|
||||
"locators": {
|
||||
"head": [0, 15, -19.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_hat",
|
||||
"parent": "head",
|
||||
"pivot": [0, 16, -17.25],
|
||||
"locators": {
|
||||
"item_hat": [0, 16, -17.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_face",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.5, -27.25],
|
||||
"locators": {
|
||||
"face": [0, 10.5, -27.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_face",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.25, -27.25],
|
||||
"locators": {
|
||||
"item_face": [0, 10.25, -27.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 19, -8],
|
||||
"locators": {
|
||||
"seat_1": [0, 19, -8]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_front_leg",
|
||||
"parent": "body",
|
||||
@@ -285,6 +386,15 @@
|
||||
{"origin": [9, 0, -11.5], "size": [0, 2, 2], "pivot": [9, 0, -9.5], "rotation": [0, -2.5, 0], "uv": [16, 36]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_primary2",
|
||||
"parent": "left_front_foot",
|
||||
"pivot": [7.5, 1, -7.1],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_primary2": [7.5, 1, -7.1]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "right_front_leg",
|
||||
"parent": "body",
|
||||
@@ -310,6 +420,15 @@
|
||||
{"origin": [-9, 0, -11.5], "size": [0, 2, 2], "pivot": [-9, 0, -9.5], "rotation": [0, 2.5, 0], "uv": [12, 34]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_primary1",
|
||||
"parent": "right_front_foot",
|
||||
"pivot": [-7.5, 1, -7.1],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_primary1": [-7.5, 1, -7.1]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_back_leg",
|
||||
"parent": "body",
|
||||
@@ -335,6 +454,15 @@
|
||||
{"origin": [8.5, 0, 2], "size": [0, 2, 2], "pivot": [8.5, 0, 4], "rotation": [0, -5, 0], "uv": [0, 36]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_secondary2",
|
||||
"parent": "left_back_foot",
|
||||
"pivot": [7.5, 1, 7.15],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_secondary2": [7.5, 1, 7.15]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "right_back_leg",
|
||||
"parent": "body",
|
||||
@@ -359,6 +487,47 @@
|
||||
{"origin": [-5.5, 0, 2], "size": [0, 2, 2], "pivot": [-5.5, 0, 4], "rotation": [0, -5, 0], "uv": [0, 8]},
|
||||
{"origin": [-8.5, 0, 2], "size": [0, 2, 2], "pivot": [-8.5, 0, 4], "rotation": [0, 5, 0], "uv": [0, 6]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_secondary",
|
||||
"parent": "right_back_foot",
|
||||
"pivot": [-7.5, 1, 7.15],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_secondary": [-7.5, 1, 7.15]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_middle",
|
||||
"parent": "body",
|
||||
"pivot": [0, 12, 0],
|
||||
"locators": {
|
||||
"middle": [0, 12, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_target",
|
||||
"parent": "body",
|
||||
"pivot": [0, 6.75, -31],
|
||||
"locators": {
|
||||
"target": [0, 6.75, -31]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_root",
|
||||
"parent": "rhyhorn",
|
||||
"pivot": [0, 0, 0],
|
||||
"locators": {
|
||||
"root": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_top",
|
||||
"parent": "rhyhorn",
|
||||
"pivot": [0, 25.5, 0],
|
||||
"locators": {
|
||||
"top": [0, 25.5, 0]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+204
-7
@@ -27,16 +27,20 @@
|
||||
"cubes": [
|
||||
{"origin": [-8.5, 4, -11], "size": [17, 15, 21], "uv": [0, 36]},
|
||||
{"origin": [-8.5, 4, -11], "size": [17, 15, 21], "inflate": 0.2, "uv": [0, 0]},
|
||||
{"origin": [8.75, 9.5, -9.5], "size": [0, 10, 14], "pivot": [8.75, 12.75, -9.5], "rotation": [15, 10, 2.5], "uv": [28, 58]},
|
||||
{"origin": [-8.75, 9.5, -9.5], "size": [0, 10, 14], "pivot": [-8.75, 12.75, -9.5], "rotation": [15, -10, -2.5], "uv": [0, 58]},
|
||||
{"origin": [8.75, 1.75, -10.5], "size": [0, 11, 11], "pivot": [8.75, 8.75, -9.5], "rotation": [17.5, 12.5, 5], "uv": [24, 83]},
|
||||
{"origin": [-8.75, 1.75, -10.5], "size": [0, 11, 11], "pivot": [-8.75, 8.75, -9.5], "rotation": [17.5, -12.5, -5], "uv": [80, 6]},
|
||||
{"origin": [9.25, 4, -1.75], "size": [0, 9, 14], "pivot": [9.225, -2.25, 0.25], "rotation": [2.5, 12.5, 2.5], "uv": [0, 68]},
|
||||
{"origin": [-9.25, 4, -1.75], "size": [0, 9, 14], "pivot": [-9.225, -2.25, 0.25], "rotation": [2.5, -12.5, -2.5], "uv": [56, 62]},
|
||||
{"origin": [9.5, 11, -0.5], "size": [0, 8, 12], "pivot": [9.95389, 15.17057, 1.69638], "rotation": [0, 5, -5], "uv": [80, 16]},
|
||||
{"origin": [-9.5, 11, -0.5], "size": [0, 8, 12], "pivot": [-9.95389, 15.17057, 1.69638], "rotation": [0, -5, 5], "uv": [0, 79]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 19, -8],
|
||||
"locators": {
|
||||
"seat_1": [0, 19, -8]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "spine",
|
||||
"parent": "torso",
|
||||
@@ -51,20 +55,52 @@
|
||||
{"origin": [0, 19.75, 5.75], "size": [0, 3, 3], "uv": [15, 5]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "left_bodyplate",
|
||||
"parent": "torso",
|
||||
"pivot": [8.75, 12.75, -9.5],
|
||||
"cubes": [
|
||||
{"origin": [8.75, 9.5, -9.5], "size": [0, 10, 14], "pivot": [8.75, 12.75, -9.5], "rotation": [15, 10, 2.5], "uv": [28, 58]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "right_bodyplate",
|
||||
"parent": "torso",
|
||||
"pivot": [-8.75, 12.75, -9.5],
|
||||
"cubes": [
|
||||
{"origin": [-8.75, 9.5, -9.5], "size": [0, 10, 14], "pivot": [-8.75, 12.75, -9.5], "rotation": [15, -10, -2.5], "uv": [0, 58]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "left_legplate",
|
||||
"parent": "torso",
|
||||
"pivot": [8.75, 8.75, -7.5],
|
||||
"cubes": [
|
||||
{"origin": [8.75, 1.75, -10.5], "size": [0, 11, 11], "pivot": [8.75, 8.75, -9.5], "rotation": [17.5, 12.5, 5], "uv": [24, 83]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "right_legplate",
|
||||
"parent": "torso",
|
||||
"pivot": [-8.75, 8.75, -7.5],
|
||||
"cubes": [
|
||||
{"origin": [-8.75, 1.75, -10.5], "size": [0, 11, 11], "pivot": [-8.75, 8.75, -9.5], "rotation": [17.5, -12.5, -5], "uv": [80, 6]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "head",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 9.5, -10.5]
|
||||
"pivot": [0, 9.4, -10.7]
|
||||
},
|
||||
{
|
||||
"name": "head_correction",
|
||||
"parent": "head",
|
||||
"pivot": [0, 9.5, -10.5]
|
||||
"pivot": [0, 10, -11]
|
||||
},
|
||||
{
|
||||
"name": "head_ai",
|
||||
"parent": "head_correction",
|
||||
"pivot": [0, 9.5, -10.5]
|
||||
"pivot": [0, 10, -11]
|
||||
},
|
||||
{
|
||||
"name": "head_angle",
|
||||
@@ -99,6 +135,23 @@
|
||||
{"origin": [-4, 4.53407, -24.34461], "size": [8, 3, 8], "inflate": -0.01, "pivot": [0, 6.53407, -20.34461], "rotation": [0, -45, 0], "uv": [92, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_jaw_lower",
|
||||
"parent": "jaw_front",
|
||||
"pivot": [0, 7, -22.25],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"jaw_lower": [0, 7, -22.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item",
|
||||
"parent": "jaw_front",
|
||||
"pivot": [0, 7.5, -25.5],
|
||||
"locators": {
|
||||
"item": [0, 7.5, -25.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_ear",
|
||||
"parent": "head_angle",
|
||||
@@ -129,6 +182,17 @@
|
||||
{"origin": [0, 15.03407, -27.00146], "size": [0, 3, 2], "pivot": [0, 15.78407, -26.00146], "rotation": [-7.5, 0, 0], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_horn",
|
||||
"parent": "horn",
|
||||
"pivot": [0, 17.5, -25.5],
|
||||
"rotation": [-90, 0, 0],
|
||||
"locators": {
|
||||
"horn": [0, 17.5, -25.5],
|
||||
"physical": [0, 17.5, -25.5],
|
||||
"special": [0, 17.5, -25.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_tooth",
|
||||
"parent": "head_angle",
|
||||
@@ -169,6 +233,14 @@
|
||||
{"origin": [6.51, 10.03407, -23.25882], "size": [0, 1, 1], "inflate": 0.02, "pivot": [6.5, 10.53407, -20.75882], "rotation": [0, 45, 0], "uv": [2, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_left",
|
||||
"parent": "left_pupil",
|
||||
"pivot": [5, 10.5, -22.25],
|
||||
"locators": {
|
||||
"eye3": [5, 10.5, -22.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_eyelid",
|
||||
"parent": "eyes",
|
||||
@@ -260,6 +332,63 @@
|
||||
{"origin": [-6.51, 10.03407, -23.25882], "size": [0, 1, 1], "inflate": 0.02, "pivot": [-6.5, 10.53407, -20.75882], "rotation": [0, -45, 0], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_right",
|
||||
"parent": "right_pupil",
|
||||
"pivot": [-5, 10.5, -22.25],
|
||||
"locators": {
|
||||
"eye2": [-5, 10.5, -22.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_mouth",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 7, -17],
|
||||
"locators": {
|
||||
"mouth": [0, 7, -17]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_jaw_upper",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 7.75, -20.25],
|
||||
"rotation": [-90, 0, 0],
|
||||
"locators": {
|
||||
"jaw_upper": [0, 7.75, -20.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_head",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 15, -19.25],
|
||||
"locators": {
|
||||
"head": [0, 15, -19.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_hat",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 16, -17.25],
|
||||
"locators": {
|
||||
"item_hat": [0, 16, -17.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_face",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 10.5, -27.25],
|
||||
"locators": {
|
||||
"face": [0, 10.5, -27.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_face",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 10.25, -27.25],
|
||||
"locators": {
|
||||
"item_face": [0, 10.25, -27.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_front_leg",
|
||||
"parent": "body",
|
||||
@@ -285,6 +414,15 @@
|
||||
{"origin": [9, 0, -11.5], "size": [0, 2, 2], "pivot": [9, 0, -9.5], "rotation": [0, -2.5, 0], "uv": [16, 36]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_primary2",
|
||||
"parent": "left_front_foot",
|
||||
"pivot": [7.5, 1, -7.1],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_primary2": [7.5, 1, -7.1]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "right_front_leg",
|
||||
"parent": "body",
|
||||
@@ -310,6 +448,15 @@
|
||||
{"origin": [-9, 0, -11.5], "size": [0, 2, 2], "pivot": [-9, 0, -9.5], "rotation": [0, 2.5, 0], "uv": [12, 34]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_primary1",
|
||||
"parent": "right_front_foot",
|
||||
"pivot": [-7.5, 1, -7.1],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_primary1": [-7.5, 1, -7.1]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_back_leg",
|
||||
"parent": "body",
|
||||
@@ -335,6 +482,15 @@
|
||||
{"origin": [8.5, 0, 2], "size": [0, 2, 2], "pivot": [8.5, 0, 4], "rotation": [0, -5, 0], "uv": [0, 36]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_secondary2",
|
||||
"parent": "left_back_foot",
|
||||
"pivot": [7.5, 1, 7.15],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_secondary2": [7.5, 1, 7.15]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "right_back_leg",
|
||||
"parent": "body",
|
||||
@@ -359,6 +515,47 @@
|
||||
{"origin": [-5.5, 0, 2], "size": [0, 2, 2], "pivot": [-5.5, 0, 4], "rotation": [0, -5, 0], "uv": [0, 8]},
|
||||
{"origin": [-8.5, 0, 2], "size": [0, 2, 2], "pivot": [-8.5, 0, 4], "rotation": [0, 5, 0], "uv": [0, 6]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_secondary",
|
||||
"parent": "right_back_foot",
|
||||
"pivot": [-7.5, 1, 7.15],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_secondary": [-7.5, 1, 7.15]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_middle",
|
||||
"parent": "body",
|
||||
"pivot": [0, 12, 0],
|
||||
"locators": {
|
||||
"middle": [0, 12, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_target",
|
||||
"parent": "body",
|
||||
"pivot": [0, 6.75, -31],
|
||||
"locators": {
|
||||
"target": [0, 6.75, -31]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_root",
|
||||
"parent": "rhyhorn",
|
||||
"pivot": [0, 0, 0],
|
||||
"locators": {
|
||||
"root": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_top",
|
||||
"parent": "rhyhorn",
|
||||
"pivot": [0, 25.5, 0],
|
||||
"locators": {
|
||||
"top": [0, 25.5, 0]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+189
-3
@@ -90,6 +90,15 @@
|
||||
{"origin": [24.5, 21, 1.5], "size": [2, 1, 1], "uv": [59, 37]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_hand_secondary",
|
||||
"parent": "left_lower_arm",
|
||||
"pivot": [23.75, 22, 0],
|
||||
"rotation": [0, -90, 0],
|
||||
"locators": {
|
||||
"hand_secondary": [23.75, 22, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "right_shoulder",
|
||||
"parent": "upper_torso",
|
||||
@@ -141,6 +150,23 @@
|
||||
{"origin": [-26.5, 21, 1.5], "size": [2, 1, 1], "uv": [9, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_item",
|
||||
"parent": "right_lower_arm",
|
||||
"pivot": [-24.75, 22, 0],
|
||||
"locators": {
|
||||
"item": [-24.75, 22, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_hand_primary",
|
||||
"parent": "right_lower_arm",
|
||||
"pivot": [-23.75, 22, 0],
|
||||
"rotation": [0, 90, 0],
|
||||
"locators": {
|
||||
"hand_primary": [-23.75, 22, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "backspike2",
|
||||
"parent": "upper_torso",
|
||||
@@ -160,17 +186,17 @@
|
||||
{
|
||||
"name": "head",
|
||||
"parent": "upper_torso",
|
||||
"pivot": [0, 25.75, 0.5]
|
||||
"pivot": [0, 26, 0]
|
||||
},
|
||||
{
|
||||
"name": "head_correction",
|
||||
"parent": "head",
|
||||
"pivot": [0, 25.75, 0.5]
|
||||
"pivot": [0, 26, 0]
|
||||
},
|
||||
{
|
||||
"name": "head_ai",
|
||||
"parent": "head_correction",
|
||||
"pivot": [0, 25.75, 0.5]
|
||||
"pivot": [0, 26, 0]
|
||||
},
|
||||
{
|
||||
"name": "head_angle",
|
||||
@@ -202,6 +228,15 @@
|
||||
{"origin": [-3.5, 25, -12.5], "size": [7, 3, 3], "uv": [0, 70]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_jaw_lower",
|
||||
"parent": "jaw",
|
||||
"pivot": [0, 28, -9.75],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"jaw2": [0, 28, -9.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "eyes",
|
||||
"parent": "head_angle",
|
||||
@@ -224,6 +259,14 @@
|
||||
{"origin": [6, 30.75, -10], "size": [0, 1, 1], "inflate": 0.02, "uv": [0, 1]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_left",
|
||||
"parent": "left_pupil",
|
||||
"pivot": [6, 31.25, -9.5],
|
||||
"locators": {
|
||||
"eye_left": [6, 31.25, -9.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_eyelid",
|
||||
"parent": "eyes",
|
||||
@@ -317,6 +360,14 @@
|
||||
{"origin": [-6, 30.75, -10], "size": [0, 1, 1], "inflate": 0.02, "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_right",
|
||||
"parent": "right_pupil",
|
||||
"pivot": [-6, 31.25, -9.5],
|
||||
"locators": {
|
||||
"eye_right": [-6, 31.25, -9.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_ear",
|
||||
"parent": "head_angle",
|
||||
@@ -351,6 +402,16 @@
|
||||
{"origin": [-2, 31.68934, -14.07538], "size": [4, 4, 4], "uv": [100, 100]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_horn",
|
||||
"parent": "horn_rotation",
|
||||
"pivot": [0, 33.675, -20],
|
||||
"locators": {
|
||||
"horn": [0, 33.675, -20],
|
||||
"special": [0, 33.675, -20],
|
||||
"physical": [0, 33.675, -20]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "backspike4",
|
||||
"parent": "head_angle",
|
||||
@@ -359,6 +420,63 @@
|
||||
{"origin": [0, 26.5, 1.5], "size": [0, 5, 6], "pivot": [0, 31, 2.25], "rotation": [30, 0, 0], "uv": [0, 29]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_jaw_upper",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 28.25, -7.75],
|
||||
"rotation": [-90, 0, 0],
|
||||
"locators": {
|
||||
"jaw1": [0, 28.25, -7.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_head",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 36, -7.5],
|
||||
"locators": {
|
||||
"head": [0, 36, -7.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_hat",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 36, -5],
|
||||
"locators": {
|
||||
"item_hat": [0, 36, -5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_face",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 31, -13.5],
|
||||
"locators": {
|
||||
"face": [0, 31, -13.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_face",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 30.75, -13.5],
|
||||
"locators": {
|
||||
"item_face": [0, 30.75, -13.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_mouth",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 27.5, -5.75],
|
||||
"locators": {
|
||||
"mouth": [0, 27.5, -5.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "upper_torso",
|
||||
"pivot": [0, 26.25, 9],
|
||||
"locators": {
|
||||
"seat_1": [0, 26.25, 9]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "tail",
|
||||
"parent": "torso",
|
||||
@@ -392,6 +510,24 @@
|
||||
{"origin": [-2, 5.25, 28.5], "size": [4, 4, 9], "uv": [89, 87]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_tail_tip",
|
||||
"parent": "tail4",
|
||||
"pivot": [0, 7.25, 37.5],
|
||||
"rotation": [0, 180, 0],
|
||||
"locators": {
|
||||
"tail_tip": [0, 7.25, 37.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_tail",
|
||||
"parent": "tail3",
|
||||
"pivot": [0, 7.25, 25],
|
||||
"rotation": [0, 180, 0],
|
||||
"locators": {
|
||||
"tail": [0, 7.25, 25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "backspike",
|
||||
"parent": "torso",
|
||||
@@ -436,6 +572,15 @@
|
||||
{"origin": [10, -0.25, -13], "size": [2, 2, 3], "pivot": [10, 0.75, -10], "rotation": [0, -5, 0], "uv": [29, 78]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_secondary",
|
||||
"parent": "left_foot",
|
||||
"pivot": [9, 1, -5.75],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_secondary": [9, 1, -5.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "right_upper_leg",
|
||||
"parent": "body",
|
||||
@@ -471,6 +616,47 @@
|
||||
{"origin": [-8, -0.25, -13], "size": [2, 2, 3], "pivot": [-8, 0.75, -10], "rotation": [0, -5, 0], "uv": [77, 0]},
|
||||
{"origin": [-12, -0.25, -13], "size": [2, 2, 3], "pivot": [-10, 0.75, -10], "rotation": [0, 5, 0], "uv": [26, 57]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_primary",
|
||||
"parent": "right_foot",
|
||||
"pivot": [-9, 1, -5.75],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_primary": [-9, 1, -5.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_middle",
|
||||
"parent": "body",
|
||||
"pivot": [0, 17, -2],
|
||||
"locators": {
|
||||
"middle": [0, 17, -2]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_target",
|
||||
"parent": "body",
|
||||
"pivot": [0, 17, -16],
|
||||
"locators": {
|
||||
"target": [0, 17, -16]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_top",
|
||||
"parent": "rhydon",
|
||||
"pivot": [0, 38, 0],
|
||||
"locators": {
|
||||
"top": [0, 38, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_root",
|
||||
"parent": "rhydon",
|
||||
"pivot": [0, 0, 0],
|
||||
"locators": {
|
||||
"root": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+189
-3
@@ -90,6 +90,15 @@
|
||||
{"origin": [24.5, 21, 1.5], "size": [2, 1, 1], "uv": [59, 37]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_hand_secondary",
|
||||
"parent": "left_lower_arm",
|
||||
"pivot": [23.75, 22, 0],
|
||||
"rotation": [0, -90, 0],
|
||||
"locators": {
|
||||
"hand_secondary": [23.75, 22, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "right_shoulder",
|
||||
"parent": "upper_torso",
|
||||
@@ -141,6 +150,23 @@
|
||||
{"origin": [-26.5, 21, 1.5], "size": [2, 1, 1], "uv": [9, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_item",
|
||||
"parent": "right_lower_arm",
|
||||
"pivot": [-24.75, 22, 0],
|
||||
"locators": {
|
||||
"item": [-24.75, 22, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_hand_primary",
|
||||
"parent": "right_lower_arm",
|
||||
"pivot": [-23.75, 22, 0],
|
||||
"rotation": [0, 90, 0],
|
||||
"locators": {
|
||||
"hand_primary": [-23.75, 22, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "backspike2",
|
||||
"parent": "upper_torso",
|
||||
@@ -160,17 +186,17 @@
|
||||
{
|
||||
"name": "head",
|
||||
"parent": "upper_torso",
|
||||
"pivot": [0, 25.75, 0.5]
|
||||
"pivot": [0, 26, 0]
|
||||
},
|
||||
{
|
||||
"name": "head_correction",
|
||||
"parent": "head",
|
||||
"pivot": [0, 25.75, 0.5]
|
||||
"pivot": [0, 26, 0]
|
||||
},
|
||||
{
|
||||
"name": "head_ai",
|
||||
"parent": "head_correction",
|
||||
"pivot": [0, 25.75, 0.5]
|
||||
"pivot": [0, 26, 0]
|
||||
},
|
||||
{
|
||||
"name": "head_angle",
|
||||
@@ -202,6 +228,15 @@
|
||||
{"origin": [-3.5, 25, -12.5], "size": [7, 3, 3], "uv": [0, 70]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_jaw_lower",
|
||||
"parent": "jaw",
|
||||
"pivot": [0, 28, -9.75],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"jaw2": [0, 28, -9.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "eyes",
|
||||
"parent": "head_angle",
|
||||
@@ -224,6 +259,14 @@
|
||||
{"origin": [6, 30.75, -10], "size": [0, 1, 1], "inflate": 0.02, "uv": [0, 1]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_left",
|
||||
"parent": "left_pupil",
|
||||
"pivot": [6, 31.25, -9.5],
|
||||
"locators": {
|
||||
"eye_left": [6, 31.25, -9.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_eyelid",
|
||||
"parent": "eyes",
|
||||
@@ -317,6 +360,14 @@
|
||||
{"origin": [-6, 30.75, -10], "size": [0, 1, 1], "inflate": 0.02, "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_right",
|
||||
"parent": "right_pupil",
|
||||
"pivot": [-6, 31.25, -9.5],
|
||||
"locators": {
|
||||
"eye_right": [-6, 31.25, -9.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "left_ear",
|
||||
"parent": "head_angle",
|
||||
@@ -351,6 +402,16 @@
|
||||
{"origin": [-2, 31.68934, -15.07538], "size": [4, 4, 5], "uv": [15, 113]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_horn",
|
||||
"parent": "horn_rotation",
|
||||
"pivot": [0, 33.675, -21],
|
||||
"locators": {
|
||||
"horn": [0, 33.675, -21],
|
||||
"special": [0, 33.675, -21],
|
||||
"physical": [0, 33.675, -21]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "backspike4",
|
||||
"parent": "head_angle",
|
||||
@@ -359,6 +420,63 @@
|
||||
{"origin": [0, 26.5, 1.5], "size": [0, 5, 6], "pivot": [0, 31, 2.25], "rotation": [30, 0, 0], "uv": [0, 29]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_jaw_upper",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 28.25, -7.75],
|
||||
"rotation": [-90, 0, 0],
|
||||
"locators": {
|
||||
"jaw1": [0, 28.25, -7.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_head",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 36, -7.5],
|
||||
"locators": {
|
||||
"head": [0, 36, -7.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_hat",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 36, -5],
|
||||
"locators": {
|
||||
"item_hat": [0, 36, -5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_face",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 31, -13.5],
|
||||
"locators": {
|
||||
"face": [0, 31, -13.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_face",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 30.75, -13.5],
|
||||
"locators": {
|
||||
"item_face": [0, 30.75, -13.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_mouth",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 27.5, -5.75],
|
||||
"locators": {
|
||||
"mouth": [0, 27.5, -5.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "upper_torso",
|
||||
"pivot": [0, 26.25, 9],
|
||||
"locators": {
|
||||
"seat_1": [0, 26.25, 9]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "tail",
|
||||
"parent": "torso",
|
||||
@@ -392,6 +510,24 @@
|
||||
{"origin": [-2, 5.25, 28.5], "size": [4, 4, 9], "uv": [89, 87]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_tail_tip",
|
||||
"parent": "tail4",
|
||||
"pivot": [0, 7.25, 37.5],
|
||||
"rotation": [0, 180, 0],
|
||||
"locators": {
|
||||
"tail_tip": [0, 7.25, 37.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_tail",
|
||||
"parent": "tail3",
|
||||
"pivot": [0, 7.25, 25],
|
||||
"rotation": [0, 180, 0],
|
||||
"locators": {
|
||||
"tail": [0, 7.25, 25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "backspike",
|
||||
"parent": "torso",
|
||||
@@ -436,6 +572,15 @@
|
||||
{"origin": [10, -0.25, -13], "size": [2, 2, 3], "pivot": [10, 0.75, -10], "rotation": [0, -5, 0], "uv": [29, 78]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_secondary",
|
||||
"parent": "left_foot",
|
||||
"pivot": [9, 1, -5.75],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_secondary": [9, 1, -5.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "right_upper_leg",
|
||||
"parent": "body",
|
||||
@@ -471,6 +616,47 @@
|
||||
{"origin": [-8, -0.25, -13], "size": [2, 2, 3], "pivot": [-8, 0.75, -10], "rotation": [0, -5, 0], "uv": [77, 0]},
|
||||
{"origin": [-12, -0.25, -13], "size": [2, 2, 3], "pivot": [-10, 0.75, -10], "rotation": [0, 5, 0], "uv": [26, 57]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_primary",
|
||||
"parent": "right_foot",
|
||||
"pivot": [-9, 1, -5.75],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_primary": [-9, 1, -5.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_middle",
|
||||
"parent": "body",
|
||||
"pivot": [0, 17, -2],
|
||||
"locators": {
|
||||
"middle": [0, 17, -2]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_target",
|
||||
"parent": "body",
|
||||
"pivot": [0, 17, -16],
|
||||
"locators": {
|
||||
"target": [0, 17, -16]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_root",
|
||||
"parent": "rhydon",
|
||||
"pivot": [0, 0, 0],
|
||||
"locators": {
|
||||
"root": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_top",
|
||||
"parent": "rhydon",
|
||||
"pivot": [0, 38, 0],
|
||||
"locators": {
|
||||
"top": [0, 38, 0]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+8
@@ -355,6 +355,14 @@
|
||||
{"origin": [1.91, 18.75, -18.91], "size": [1, 2, 3], "inflate": 0.02, "uv": [50, 18]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "torso3",
|
||||
"pivot": [0, 24, -2],
|
||||
"locators": {
|
||||
"seat_1": [0, 24, -2]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ftorso2",
|
||||
"parent": "hips",
|
||||
|
||||
+8
@@ -546,6 +546,14 @@
|
||||
{"origin": [1.91, 18.75, -18.91], "size": [1, 2, 3], "inflate": 0.02, "uv": [50, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "torso3",
|
||||
"pivot": [0, 24, -2],
|
||||
"locators": {
|
||||
"seat_1": [0, 24, -2]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ftorso2",
|
||||
"parent": "hips",
|
||||
|
||||
+8
-4
@@ -85,7 +85,6 @@
|
||||
"name": "tail_end",
|
||||
"parent": "tail6",
|
||||
"pivot": [0, 16.5, 34],
|
||||
"rotation": [0, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-0.5, 17.5, 33], "size": [1, 1, 3], "inflate": 0.01, "pivot": [0, 18.5, 36], "rotation": [27.5, 0, 0], "uv": [114, 38]},
|
||||
{"origin": [-2.25, 14.5, 32], "size": [1, 1, 4], "inflate": 0.01, "pivot": [-1.75, 14.5, 36], "rotation": [-27.5, -35, 0], "uv": [108, 38]},
|
||||
@@ -112,7 +111,6 @@
|
||||
"name": "tail_hair_left2",
|
||||
"parent": "tail_hair_left",
|
||||
"pivot": [1.75, 14, 43],
|
||||
"rotation": [0, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [1.75, 14, 43], "size": [0, 2, 3], "uv": [78, 45]}
|
||||
]
|
||||
@@ -137,7 +135,6 @@
|
||||
"name": "tail_hair_middle2",
|
||||
"parent": "tail_hair_middle",
|
||||
"pivot": [0, 17, 43],
|
||||
"rotation": [0, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [0, 17, 43], "size": [0, 2, 3], "uv": [78, 42]}
|
||||
]
|
||||
@@ -162,7 +159,6 @@
|
||||
"name": "tail_hair_right2",
|
||||
"parent": "tail_hair_right",
|
||||
"pivot": [-1.75, 14, 43],
|
||||
"rotation": [0, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-1.75, 14, 43], "size": [0, 2, 3], "uv": [78, 39]}
|
||||
]
|
||||
@@ -175,6 +171,14 @@
|
||||
{"origin": [-5.5, 8.75, -2.5], "size": [11, 11, 6], "uv": [50, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "torso2",
|
||||
"pivot": [0, 24, -2],
|
||||
"locators": {
|
||||
"seat_1": [0, 24, -2]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "torso3",
|
||||
"parent": "torso2",
|
||||
|
||||
+8
@@ -385,6 +385,14 @@
|
||||
{"origin": [1.91, 18.75, -18.91], "size": [1, 2, 3], "inflate": 0.02, "uv": [50, 18]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "torso3",
|
||||
"pivot": [0, 24, -2],
|
||||
"locators": {
|
||||
"seat_1": [0, 24, -2]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ftorso2",
|
||||
"parent": "hips",
|
||||
|
||||
+254
-120
@@ -39,7 +39,12 @@
|
||||
{
|
||||
"name": "torso",
|
||||
"parent": "waist",
|
||||
"pivot": [0, 34.5, 0.5],
|
||||
"pivot": [0, 34.5, 0.5]
|
||||
},
|
||||
{
|
||||
"name": "abdomen",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 39.5, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [-3, 34, -2], "size": [6, 11, 5], "uv": [44, 75]},
|
||||
{"origin": [-2.5, 37, -2], "size": [5, 8, 0], "inflate": 0.01, "uv": [161, 0]}
|
||||
@@ -49,13 +54,48 @@
|
||||
"name": "torso2",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 43.75, 0.5],
|
||||
"rotation": [5, 0, 0],
|
||||
"rotation": [5, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "chest",
|
||||
"parent": "torso2",
|
||||
"pivot": [0, 44, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [-4, 42.75, -3], "size": [8, 5, 7], "inflate": 0.01, "uv": [64, 63]},
|
||||
{"origin": [-4, 36.75, 4], "size": [8, 6, 0], "inflate": 0.01, "uv": [36, 102]},
|
||||
{"origin": [-4, 37.75, 4], "size": [8, 2, 0], "inflate": 0.01, "pivot": [0, 39.75, 4], "rotation": [20, 0, 0], "uv": [39, 110]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jacket_left",
|
||||
"parent": "chest",
|
||||
"pivot": [0, 42.75, 0.5],
|
||||
"rotation": [0, 0, -32.5],
|
||||
"cubes": [
|
||||
{"origin": [0, 38.75, -3], "size": [4, 4, 7], "inflate": 0.02, "uv": [94, 14]},
|
||||
{"origin": [4, 35.75, -3], "size": [0, 3, 7], "uv": [0, -2]},
|
||||
{"origin": [4, 36.75, -3], "size": [0, 2, 7], "pivot": [4, 38.75, 0.5], "rotation": [0, 0, -20], "uv": [0, -5], "mirror": true},
|
||||
{"origin": [0, 35.75, -3], "size": [4, 3, 0], "uv": [120, 47]},
|
||||
{"origin": [0, 36.75, -3], "size": [4, 2, 0], "pivot": [2, 38.75, -3], "rotation": [-20, 0, 0], "uv": [106, 117], "mirror": true},
|
||||
{"origin": [0, 35.75, 4], "size": [4, 3, 0], "uv": [122, 9]},
|
||||
{"origin": [0, 36.75, 4], "size": [4, 2, 0], "pivot": [2, 38.75, 4], "rotation": [20, 0, 0], "uv": [132, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jacket_right",
|
||||
"parent": "chest",
|
||||
"pivot": [0, 42.75, 0.5],
|
||||
"rotation": [0, 0, 32.5],
|
||||
"cubes": [
|
||||
{"origin": [-4, 38.75, -3], "size": [4, 4, 7], "inflate": 0.02, "uv": [94, 34]},
|
||||
{"origin": [-4, 35.75, -3], "size": [0, 3, 7], "uv": [14, -2]},
|
||||
{"origin": [-4, 36.75, -3], "size": [0, 2, 7], "pivot": [-4, 38.75, 0.5], "rotation": [0, 0, 20], "uv": [0, -7]},
|
||||
{"origin": [-4, 35.75, -3], "size": [4, 3, 0], "uv": [124, 112]},
|
||||
{"origin": [-4, 36.75, -3], "size": [4, 2, 0], "pivot": [-2, 38.75, -3], "rotation": [-20, 0, 0], "uv": [106, 115]},
|
||||
{"origin": [-4, 35.75, 4], "size": [4, 3, 0], "uv": [171, 8]},
|
||||
{"origin": [-4, 36.75, 4], "size": [4, 2, 0], "pivot": [-2, 38.75, 4], "rotation": [20, 0, 0], "uv": [132, 2], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "neck",
|
||||
"parent": "torso2",
|
||||
@@ -93,7 +133,7 @@
|
||||
"pivot": [0.35, 54, -5.35],
|
||||
"rotation": [30, 37.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [0.35, 52.5, -4.35], "size": [0, 1, 9], "uv": [106, 104]}
|
||||
{"origin": [0.35, 52.5, -4.35], "size": [0, 1, 7], "uv": [108, 107]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -102,7 +142,7 @@
|
||||
"pivot": [-0.35, 54, -5.35],
|
||||
"rotation": [30, -37.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-0.35, 52.5, -4.35], "size": [0, 1, 9], "uv": [36, 107]}
|
||||
{"origin": [-0.35, 52.5, -4.35], "size": [0, 1, 7], "uv": [38, 110]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -125,11 +165,11 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_angry2",
|
||||
"name": "pupil_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [1.42, 52.7, -2.85],
|
||||
"pivot": [1.52, 52.7, -2.35],
|
||||
"cubes": [
|
||||
{"origin": [1.42, 52.2, -3.35], "size": [0, 1, 1], "uv": [88, 15], "mirror": true}
|
||||
{"origin": [1.52, 51.7, -2.85], "size": [0, 2, 1], "uv": [106, 125], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -137,7 +177,15 @@
|
||||
"parent": "eye_left",
|
||||
"pivot": [1.41, 52.7, -2.35],
|
||||
"cubes": [
|
||||
{"origin": [1.41, 51.7, -3.85], "size": [0, 2, 4], "inflate": 0.01, "uv": [8, 121]}
|
||||
{"origin": [1.42, 51.7, -3.85], "size": [0, 2, 4], "inflate": 0.01, "uv": [8, 121]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_recoil_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [1.41, 52.7, -2.35],
|
||||
"cubes": [
|
||||
{"origin": [1.42, 51.7, -3.85], "size": [0, 2, 4], "inflate": 0.01, "uv": [97, 122]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -160,11 +208,11 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_angry",
|
||||
"name": "pupil_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-1.42, 52.7, -2.85],
|
||||
"pivot": [-1.52, 52.7, -2.35],
|
||||
"cubes": [
|
||||
{"origin": [-1.42, 52.2, -3.35], "size": [0, 1, 1], "uv": [90, 15]}
|
||||
{"origin": [-1.52, 51.7, -2.85], "size": [0, 2, 1], "uv": [106, 125]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -172,7 +220,15 @@
|
||||
"parent": "eye_right",
|
||||
"pivot": [-1.41, 52.7, -2.35],
|
||||
"cubes": [
|
||||
{"origin": [-1.41, 51.7, -3.85], "size": [0, 2, 4], "inflate": 0.01, "uv": [124, 72]}
|
||||
{"origin": [-1.42, 51.7, -3.85], "size": [0, 2, 4], "inflate": 0.01, "uv": [124, 72]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_recoil_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-1.41, 52.7, -2.35],
|
||||
"cubes": [
|
||||
{"origin": [-1.42, 51.7, -3.85], "size": [0, 2, 4], "inflate": 0.01, "uv": [97, 122], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -220,34 +276,34 @@
|
||||
"pivot": [-1.5, 52.25, -2.6],
|
||||
"rotation": [-50, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-4.5, 41.25, -6.6], "size": [6, 11, 4], "inflate": 0.01, "uv": [92, 75]}
|
||||
{"origin": [-4.5, 42.25, -6.6], "size": [6, 10, 4], "inflate": 0.01, "uv": [92, 75]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_left2",
|
||||
"parent": "hair_left",
|
||||
"pivot": [-1.5, 41.25, -4.6],
|
||||
"pivot": [-1.5, 42.25, -4.6],
|
||||
"cubes": [
|
||||
{"origin": [-4.5, 35.25, -6.1], "size": [6, 6, 3], "uv": [114, 119]},
|
||||
{"origin": [-3.5, 25.25, -5.6], "size": [4, 10, 2], "uv": [18, 114]}
|
||||
{"origin": [-4.5, 35.25, -6.1], "size": [6, 7, 3], "uv": [52, 95]},
|
||||
{"origin": [-3.5, 26.25, -5.6], "size": [4, 9, 2], "uv": [18, 114]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_left_end",
|
||||
"parent": "hair_left2",
|
||||
"pivot": [1, 35.25, -4.6],
|
||||
"pivot": [1, 34.25, -4.6],
|
||||
"rotation": [0, 7.5, 2.5],
|
||||
"cubes": [
|
||||
{"origin": [1, 27.25, -5.6], "size": [0, 8, 2], "uv": [68, 14]}
|
||||
{"origin": [1, 26.25, -5.6], "size": [0, 8, 2], "uv": [68, 14]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_left_end2",
|
||||
"parent": "hair_left2",
|
||||
"pivot": [-4, 35.25, -4.6],
|
||||
"pivot": [-4, 34.25, -4.6],
|
||||
"rotation": [0, -7.5, -2.5],
|
||||
"cubes": [
|
||||
{"origin": [-4, 27.25, -5.6], "size": [0, 8, 2], "uv": [88, 95]}
|
||||
{"origin": [-4, 26.25, -5.6], "size": [0, 8, 2], "uv": [88, 95]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -265,64 +321,34 @@
|
||||
"pivot": [1.5, 52.25, -2.6],
|
||||
"rotation": [-50, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-1.5, 41.25, -6.6], "size": [6, 11, 4], "inflate": 0.01, "uv": [92, 90]}
|
||||
{"origin": [-1.5, 42.25, -6.6], "size": [6, 10, 4], "inflate": 0.01, "uv": [92, 90]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_right2",
|
||||
"parent": "hair_right",
|
||||
"pivot": [1.5, 41.25, -4.6],
|
||||
"pivot": [1.5, 42.25, -4.6],
|
||||
"cubes": [
|
||||
{"origin": [-1.5, 35.25, -6.1], "size": [6, 6, 3], "uv": [132, 119]},
|
||||
{"origin": [-0.5, 25.25, -5.6], "size": [4, 10, 2], "uv": [82, 115]}
|
||||
{"origin": [-1.5, 35.25, -6.1], "size": [6, 7, 3], "uv": [70, 95]},
|
||||
{"origin": [-0.5, 26.25, -5.6], "size": [4, 9, 2], "uv": [82, 115]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_right_end",
|
||||
"parent": "hair_right2",
|
||||
"pivot": [-1, 35.25, -4.6],
|
||||
"pivot": [-1, 34.25, -4.6],
|
||||
"rotation": [0, -7.5, -2.5],
|
||||
"cubes": [
|
||||
{"origin": [-1, 27.25, -5.6], "size": [0, 8, 2], "uv": [81, 12]}
|
||||
{"origin": [-1, 26.25, -5.6], "size": [0, 8, 2], "uv": [81, 12]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_right_end2",
|
||||
"parent": "hair_right2",
|
||||
"pivot": [4, 35.25, -4.6],
|
||||
"pivot": [4, 34.25, -4.6],
|
||||
"rotation": [0, 7.5, 2.5],
|
||||
"cubes": [
|
||||
{"origin": [4, 27.25, -5.6], "size": [0, 8, 2], "uv": [28, -2]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jacket_left",
|
||||
"parent": "torso2",
|
||||
"pivot": [0, 42.75, 0.5],
|
||||
"rotation": [0, 0, -32.5],
|
||||
"cubes": [
|
||||
{"origin": [0, 38.75, -3], "size": [4, 4, 7], "inflate": 0.02, "uv": [94, 14]},
|
||||
{"origin": [4, 35.75, -3], "size": [0, 3, 7], "uv": [0, -2]},
|
||||
{"origin": [4, 36.75, -3], "size": [0, 2, 7], "pivot": [4, 38.75, 0.5], "rotation": [0, 0, -20], "uv": [0, -5], "mirror": true},
|
||||
{"origin": [0, 35.75, -3], "size": [4, 3, 0], "uv": [120, 47]},
|
||||
{"origin": [0, 36.75, -3], "size": [4, 2, 0], "pivot": [2, 38.75, -3], "rotation": [-20, 0, 0], "uv": [106, 117], "mirror": true},
|
||||
{"origin": [0, 35.75, 4], "size": [4, 3, 0], "uv": [122, 9]},
|
||||
{"origin": [0, 36.75, 4], "size": [4, 2, 0], "pivot": [2, 38.75, 4], "rotation": [20, 0, 0], "uv": [132, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jacket_right",
|
||||
"parent": "torso2",
|
||||
"pivot": [0, 42.75, 0.5],
|
||||
"rotation": [0, 0, 32.5],
|
||||
"cubes": [
|
||||
{"origin": [-4, 38.75, -3], "size": [4, 4, 7], "inflate": 0.02, "uv": [94, 34]},
|
||||
{"origin": [-4, 35.75, -3], "size": [0, 3, 7], "uv": [14, -2]},
|
||||
{"origin": [-4, 36.75, -3], "size": [0, 2, 7], "pivot": [-4, 38.75, 0.5], "rotation": [0, 0, 20], "uv": [0, -7]},
|
||||
{"origin": [-4, 35.75, -3], "size": [4, 3, 0], "uv": [124, 112]},
|
||||
{"origin": [-4, 36.75, -3], "size": [4, 2, 0], "pivot": [-2, 38.75, -3], "rotation": [-20, 0, 0], "uv": [106, 115]},
|
||||
{"origin": [-4, 35.75, 4], "size": [4, 3, 0], "uv": [171, 8]},
|
||||
{"origin": [-4, 36.75, 4], "size": [4, 2, 0], "pivot": [-2, 38.75, 4], "rotation": [20, 0, 0], "uv": [132, 2], "mirror": true}
|
||||
{"origin": [4, 26.25, -5.6], "size": [0, 8, 2], "uv": [28, -2]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -336,7 +362,7 @@
|
||||
{
|
||||
"name": "arm_left2",
|
||||
"parent": "arm_left",
|
||||
"pivot": [6.5, 45.5, 0.5],
|
||||
"pivot": [5.1, 45.5, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [5, 44, -1], "size": [7, 2, 3], "uv": [112, 90]}
|
||||
]
|
||||
@@ -350,40 +376,18 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_left",
|
||||
"name": "wrist_left",
|
||||
"parent": "arm_left3",
|
||||
"pivot": [22, 45, 0.5]
|
||||
},
|
||||
{
|
||||
"name": "hand_left",
|
||||
"parent": "wrist_left",
|
||||
"pivot": [22, 45, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [22, 44, -1.5], "size": [4, 2, 4], "uv": [116, 34]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left1",
|
||||
"parent": "hand_left",
|
||||
"pivot": [22, 46, 0.5],
|
||||
"rotation": [0, 0, -60],
|
||||
"cubes": [
|
||||
{"origin": [22, 46, -2.5], "size": [0, 10, 6], "uv": [70, 108]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left2",
|
||||
"parent": "hand_left",
|
||||
"pivot": [22, 45, -1],
|
||||
"rotation": [0, 65, 0],
|
||||
"cubes": [
|
||||
{"origin": [22, 41.5, -12], "size": [0, 7, 11], "uv": [72, 14]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left3",
|
||||
"parent": "hand_left",
|
||||
"pivot": [22, 45, 2],
|
||||
"rotation": [0, -65, 0],
|
||||
"cubes": [
|
||||
{"origin": [22, 41.5, 2], "size": [0, 7, 11], "uv": [72, 32]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left1",
|
||||
"parent": "hand_left",
|
||||
@@ -456,6 +460,38 @@
|
||||
{"origin": [29.5, 43.75, 2], "size": [2, 2, 0], "uv": [104, 12]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left",
|
||||
"parent": "wrist_left",
|
||||
"pivot": [22, 46, 0.5]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left1",
|
||||
"parent": "hand_fire_left",
|
||||
"pivot": [22, 46, 0.5],
|
||||
"rotation": [0, 0, -60],
|
||||
"cubes": [
|
||||
{"origin": [22, 46, -3.5], "size": [0, 10, 8], "uv": [73, 31]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left2",
|
||||
"parent": "hand_fire_left",
|
||||
"pivot": [22, 45, -1],
|
||||
"rotation": [0, 65, 0],
|
||||
"cubes": [
|
||||
{"origin": [22, 42.5, -10], "size": [0, 6, 9], "uv": [1, 75]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left3",
|
||||
"parent": "hand_fire_left",
|
||||
"pivot": [22, 45, 2],
|
||||
"rotation": [0, -65, 0],
|
||||
"cubes": [
|
||||
{"origin": [22, 42.5, 2], "size": [0, 7, 9], "uv": [1, 66]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_right",
|
||||
"parent": "torso2",
|
||||
@@ -467,7 +503,7 @@
|
||||
{
|
||||
"name": "arm_right2",
|
||||
"parent": "arm_right",
|
||||
"pivot": [-6.5, 45.5, 0.5],
|
||||
"pivot": [-5, 45.5, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [-12, 44, -1], "size": [7, 2, 3], "uv": [112, 95]}
|
||||
]
|
||||
@@ -481,40 +517,18 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_right",
|
||||
"name": "wrist_right",
|
||||
"parent": "arm_right3",
|
||||
"pivot": [-22, 45, 0.5]
|
||||
},
|
||||
{
|
||||
"name": "hand_right",
|
||||
"parent": "wrist_right",
|
||||
"pivot": [-22, 45, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [-26, 44, -1.5], "size": [4, 2, 4], "uv": [118, 20]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right1",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-22, 46, 0.5],
|
||||
"rotation": [0, 0, 60],
|
||||
"cubes": [
|
||||
{"origin": [-22, 46, -2.5], "size": [0, 10, 6], "uv": [112, 74]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right2",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-22, 45, -1],
|
||||
"rotation": [0, -65, 0],
|
||||
"cubes": [
|
||||
{"origin": [-22, 41.5, -12], "size": [0, 7, 11], "uv": [0, 74]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right3",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-22, 45, 2],
|
||||
"rotation": [0, 65, 0],
|
||||
"cubes": [
|
||||
{"origin": [-22, 41.5, 2], "size": [0, 7, 11], "uv": [22, 74]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right1",
|
||||
"parent": "hand_right",
|
||||
@@ -587,6 +601,38 @@
|
||||
{"origin": [-31.5, 43.75, 2], "size": [2, 2, 0], "uv": [82, 113]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right",
|
||||
"parent": "wrist_right",
|
||||
"pivot": [-22, 46, 0.5]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right1",
|
||||
"parent": "hand_fire_right",
|
||||
"pivot": [-22, 46, 0.5],
|
||||
"rotation": [0, 0, 60],
|
||||
"cubes": [
|
||||
{"origin": [-22, 46, -3.5], "size": [0, 10, 8], "uv": [73, 31], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right2",
|
||||
"parent": "hand_fire_right",
|
||||
"pivot": [-22, 45, -1],
|
||||
"rotation": [0, -65, 0],
|
||||
"cubes": [
|
||||
{"origin": [-22, 42.5, -10], "size": [0, 6, 9], "uv": [1, 75], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right3",
|
||||
"parent": "hand_fire_right",
|
||||
"pivot": [-22, 45, 2],
|
||||
"rotation": [0, 65, 0],
|
||||
"cubes": [
|
||||
{"origin": [-22, 42.5, 2], "size": [0, 7, 9], "uv": [1, 66]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_right",
|
||||
"parent": "body",
|
||||
@@ -600,8 +646,16 @@
|
||||
"parent": "leg_right",
|
||||
"pivot": [-3.25, 17, -2],
|
||||
"cubes": [
|
||||
{"origin": [-8, 4.5, -4.5], "size": [9, 13, 9], "inflate": 0.01, "uv": [0, 28]},
|
||||
{"origin": [-3.5, 12, 3.75], "size": [0, 2, 4], "pivot": [-3.5, 13, 6], "rotation": [25, 0, 0], "uv": [124, 84]}
|
||||
{"origin": [-8, 4.5, -4.5], "size": [9, 13, 9], "inflate": 0.01, "uv": [0, 28]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "claw_right",
|
||||
"parent": "leg_right2",
|
||||
"pivot": [-3.5, 12.15, 4],
|
||||
"rotation": [25, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 11.25, 4], "size": [0, 2, 4], "uv": [124, 84]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -616,6 +670,38 @@
|
||||
{"origin": [1, 2, -5], "size": [3, 0, 10], "pivot": [1, 2, 0], "rotation": [0, 0, 15], "uv": [66, 85]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_right",
|
||||
"parent": "foot_right",
|
||||
"pivot": [-3.5, 1, 0]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_right1",
|
||||
"parent": "foot_fire_right",
|
||||
"pivot": [-8.5, 1, 0],
|
||||
"rotation": [0, 0, -52.5],
|
||||
"cubes": [
|
||||
{"origin": [-8.5, 0, -10], "size": [0, 14, 20], "uv": [135, -6], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_right2",
|
||||
"parent": "foot_fire_right",
|
||||
"pivot": [-5.5, 1, -5],
|
||||
"rotation": [52.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-13.5, 0, -5], "size": [16, 12, 0], "uv": [135, 29], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_right3",
|
||||
"parent": "foot_fire_right",
|
||||
"pivot": [-5.5, 1, 5],
|
||||
"rotation": [-52.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-13.5, 0, 5], "size": [16, 12, 0], "uv": [135, 43], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "nail_right1",
|
||||
"parent": "foot_right",
|
||||
@@ -656,8 +742,16 @@
|
||||
"parent": "leg_left",
|
||||
"pivot": [3.25, 17, -2],
|
||||
"cubes": [
|
||||
{"origin": [-1, 4.5, -4.5], "size": [9, 13, 9], "inflate": 0.01, "uv": [36, 28]},
|
||||
{"origin": [3.5, 12, 3.75], "size": [0, 2, 4], "pivot": [3.5, 13, 6], "rotation": [25, 0, 0], "uv": [124, 78]}
|
||||
{"origin": [-1, 4.5, -4.5], "size": [9, 13, 9], "inflate": 0.01, "uv": [36, 28]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "claw_left",
|
||||
"parent": "leg_left2",
|
||||
"pivot": [3.5, 12.25, 4],
|
||||
"rotation": [25, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [3.5, 11.25, 4], "size": [0, 2, 4], "uv": [124, 78]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -672,6 +766,38 @@
|
||||
{"origin": [-4, 2, -5], "size": [3, 0, 10], "pivot": [-1, 2, 0], "rotation": [0, 0, -15], "uv": [26, 92]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_left",
|
||||
"parent": "foot_left",
|
||||
"pivot": [3.5, 1, 0]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_left1",
|
||||
"parent": "foot_fire_left",
|
||||
"pivot": [8.5, 1, 0],
|
||||
"rotation": [0, 0, 52.5],
|
||||
"cubes": [
|
||||
{"origin": [8.5, 0, -10], "size": [0, 14, 20], "uv": [135, -6]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_left2",
|
||||
"parent": "foot_fire_left",
|
||||
"pivot": [5.5, 1, -5],
|
||||
"rotation": [52.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2.5, 0, -5], "size": [16, 12, 0], "uv": [135, 29]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_left3",
|
||||
"parent": "foot_fire_left",
|
||||
"pivot": [5.5, 1, 5],
|
||||
"rotation": [-52.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2.5, 0, 5], "size": [16, 12, 0], "uv": [135, 43]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "nail_left1",
|
||||
"parent": "foot_left",
|
||||
@@ -708,6 +834,14 @@
|
||||
{"origin": [-4, 25.25, 0.5], "size": [8, 8, 6], "inflate": 0.02, "uv": [68, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "tail1",
|
||||
"pivot": [0, 33.3, 4],
|
||||
"locators": {
|
||||
"seat_1": [0, 33.3, 4]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "tail2",
|
||||
"parent": "tail1",
|
||||
|
||||
+236
-102
@@ -39,7 +39,12 @@
|
||||
{
|
||||
"name": "torso",
|
||||
"parent": "waist",
|
||||
"pivot": [0, 34.5, 0.5],
|
||||
"pivot": [0, 34.5, 0.5]
|
||||
},
|
||||
{
|
||||
"name": "abdomen",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 39.5, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [-3, 34, -2], "size": [6, 11, 5], "uv": [44, 75]},
|
||||
{"origin": [-2.5, 37, -2], "size": [5, 8, 0], "inflate": 0.01, "uv": [161, 0]}
|
||||
@@ -49,13 +54,48 @@
|
||||
"name": "torso2",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 43.75, 0.5],
|
||||
"rotation": [5, 0, 0],
|
||||
"rotation": [5, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "chest",
|
||||
"parent": "torso2",
|
||||
"pivot": [0, 44, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [-4, 42.75, -3], "size": [8, 5, 7], "inflate": 0.01, "uv": [64, 63]},
|
||||
{"origin": [-4, 36.75, 4], "size": [8, 6, 0], "inflate": 0.01, "uv": [36, 102]},
|
||||
{"origin": [-4, 37.75, 4], "size": [8, 2, 0], "inflate": 0.01, "pivot": [0, 39.75, 4], "rotation": [20, 0, 0], "uv": [39, 110]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jacket_left",
|
||||
"parent": "chest",
|
||||
"pivot": [0, 42.75, 0.5],
|
||||
"rotation": [0, 0, -32.5],
|
||||
"cubes": [
|
||||
{"origin": [0, 38.75, -3], "size": [4, 4, 7], "inflate": 0.02, "uv": [94, 14]},
|
||||
{"origin": [4, 35.75, -3], "size": [0, 3, 7], "uv": [0, -2]},
|
||||
{"origin": [4, 36.75, -3], "size": [0, 2, 7], "pivot": [4, 38.75, 0.5], "rotation": [0, 0, -20], "uv": [0, -5], "mirror": true},
|
||||
{"origin": [0, 35.75, -3], "size": [4, 3, 0], "uv": [120, 47]},
|
||||
{"origin": [0, 36.75, -3], "size": [4, 2, 0], "pivot": [2, 38.75, -3], "rotation": [-20, 0, 0], "uv": [106, 117], "mirror": true},
|
||||
{"origin": [0, 35.75, 4], "size": [4, 3, 0], "uv": [122, 9]},
|
||||
{"origin": [0, 36.75, 4], "size": [4, 2, 0], "pivot": [2, 38.75, 4], "rotation": [20, 0, 0], "uv": [132, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jacket_right",
|
||||
"parent": "chest",
|
||||
"pivot": [0, 42.75, 0.5],
|
||||
"rotation": [0, 0, 32.5],
|
||||
"cubes": [
|
||||
{"origin": [-4, 38.75, -3], "size": [4, 4, 7], "inflate": 0.02, "uv": [94, 34]},
|
||||
{"origin": [-4, 35.75, -3], "size": [0, 3, 7], "uv": [14, -2]},
|
||||
{"origin": [-4, 36.75, -3], "size": [0, 2, 7], "pivot": [-4, 38.75, 0.5], "rotation": [0, 0, 20], "uv": [0, -7]},
|
||||
{"origin": [-4, 35.75, -3], "size": [4, 3, 0], "uv": [124, 112]},
|
||||
{"origin": [-4, 36.75, -3], "size": [4, 2, 0], "pivot": [-2, 38.75, -3], "rotation": [-20, 0, 0], "uv": [106, 115]},
|
||||
{"origin": [-4, 35.75, 4], "size": [4, 3, 0], "uv": [171, 8]},
|
||||
{"origin": [-4, 36.75, 4], "size": [4, 2, 0], "pivot": [-2, 38.75, 4], "rotation": [20, 0, 0], "uv": [132, 2], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "neck",
|
||||
"parent": "torso2",
|
||||
@@ -125,11 +165,11 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_angry2",
|
||||
"name": "pupil_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [1.42, 52.7, -2.85],
|
||||
"pivot": [1.52, 52.7, -2.35],
|
||||
"cubes": [
|
||||
{"origin": [1.42, 52.2, -3.35], "size": [0, 1, 1], "uv": [88, 15], "mirror": true}
|
||||
{"origin": [1.52, 51.7, -2.85], "size": [0, 2, 1], "uv": [106, 125], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -137,7 +177,15 @@
|
||||
"parent": "eye_left",
|
||||
"pivot": [1.41, 52.7, -2.35],
|
||||
"cubes": [
|
||||
{"origin": [1.41, 51.7, -3.85], "size": [0, 2, 4], "inflate": 0.01, "uv": [8, 121]}
|
||||
{"origin": [1.42, 51.7, -3.85], "size": [0, 2, 4], "inflate": 0.01, "uv": [8, 121]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_recoil_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [1.41, 52.7, -2.35],
|
||||
"cubes": [
|
||||
{"origin": [1.42, 51.7, -3.85], "size": [0, 2, 4], "inflate": 0.01, "uv": [97, 122]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -160,11 +208,11 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_angry",
|
||||
"name": "pupil_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-1.42, 52.7, -2.85],
|
||||
"pivot": [-1.52, 52.7, -2.35],
|
||||
"cubes": [
|
||||
{"origin": [-1.42, 52.2, -3.35], "size": [0, 1, 1], "uv": [90, 15]}
|
||||
{"origin": [-1.52, 51.7, -2.85], "size": [0, 2, 1], "uv": [106, 125]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -172,7 +220,15 @@
|
||||
"parent": "eye_right",
|
||||
"pivot": [-1.41, 52.7, -2.35],
|
||||
"cubes": [
|
||||
{"origin": [-1.41, 51.7, -3.85], "size": [0, 2, 4], "inflate": 0.01, "uv": [124, 72]}
|
||||
{"origin": [-1.42, 51.7, -3.85], "size": [0, 2, 4], "inflate": 0.01, "uv": [124, 72]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_recoil_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-1.41, 52.7, -2.35],
|
||||
"cubes": [
|
||||
{"origin": [-1.42, 51.7, -3.85], "size": [0, 2, 4], "inflate": 0.01, "uv": [97, 122], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -295,36 +351,6 @@
|
||||
{"origin": [4, 23.25, -5.6], "size": [0, 8, 2], "uv": [28, -2]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jacket_left",
|
||||
"parent": "torso2",
|
||||
"pivot": [0, 42.75, 0.5],
|
||||
"rotation": [0, 0, -32.5],
|
||||
"cubes": [
|
||||
{"origin": [0, 38.75, -3], "size": [4, 4, 7], "inflate": 0.02, "uv": [94, 14]},
|
||||
{"origin": [4, 35.75, -3], "size": [0, 3, 7], "uv": [0, -2]},
|
||||
{"origin": [4, 36.75, -3], "size": [0, 2, 7], "pivot": [4, 38.75, 0.5], "rotation": [0, 0, -20], "uv": [0, -5], "mirror": true},
|
||||
{"origin": [0, 35.75, -3], "size": [4, 3, 0], "uv": [120, 47]},
|
||||
{"origin": [0, 36.75, -3], "size": [4, 2, 0], "pivot": [2, 38.75, -3], "rotation": [-20, 0, 0], "uv": [106, 117], "mirror": true},
|
||||
{"origin": [0, 35.75, 4], "size": [4, 3, 0], "uv": [122, 9]},
|
||||
{"origin": [0, 36.75, 4], "size": [4, 2, 0], "pivot": [2, 38.75, 4], "rotation": [20, 0, 0], "uv": [132, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jacket_right",
|
||||
"parent": "torso2",
|
||||
"pivot": [0, 42.75, 0.5],
|
||||
"rotation": [0, 0, 32.5],
|
||||
"cubes": [
|
||||
{"origin": [-4, 38.75, -3], "size": [4, 4, 7], "inflate": 0.02, "uv": [94, 34]},
|
||||
{"origin": [-4, 35.75, -3], "size": [0, 3, 7], "uv": [14, -2]},
|
||||
{"origin": [-4, 36.75, -3], "size": [0, 2, 7], "pivot": [-4, 38.75, 0.5], "rotation": [0, 0, 20], "uv": [0, -7]},
|
||||
{"origin": [-4, 35.75, -3], "size": [4, 3, 0], "uv": [124, 112]},
|
||||
{"origin": [-4, 36.75, -3], "size": [4, 2, 0], "pivot": [-2, 38.75, -3], "rotation": [-20, 0, 0], "uv": [106, 115]},
|
||||
{"origin": [-4, 35.75, 4], "size": [4, 3, 0], "uv": [171, 8]},
|
||||
{"origin": [-4, 36.75, 4], "size": [4, 2, 0], "pivot": [-2, 38.75, 4], "rotation": [20, 0, 0], "uv": [132, 2], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_left",
|
||||
"parent": "torso2",
|
||||
@@ -336,7 +362,7 @@
|
||||
{
|
||||
"name": "arm_left2",
|
||||
"parent": "arm_left",
|
||||
"pivot": [6.5, 45.5, 0.5],
|
||||
"pivot": [5.1, 45.5, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [5, 44, -1], "size": [7, 2, 3], "uv": [112, 90]}
|
||||
]
|
||||
@@ -350,40 +376,18 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_left",
|
||||
"name": "wrist_left",
|
||||
"parent": "arm_left3",
|
||||
"pivot": [22, 45, 0.5]
|
||||
},
|
||||
{
|
||||
"name": "hand_left",
|
||||
"parent": "wrist_left",
|
||||
"pivot": [22, 45, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [22, 44, -1.5], "size": [4, 2, 4], "uv": [116, 34]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left1",
|
||||
"parent": "hand_left",
|
||||
"pivot": [22, 46, 0.5],
|
||||
"rotation": [0, 0, -60],
|
||||
"cubes": [
|
||||
{"origin": [22, 46, -2.5], "size": [0, 10, 6], "uv": [70, 108]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left2",
|
||||
"parent": "hand_left",
|
||||
"pivot": [22, 45, -1],
|
||||
"rotation": [0, 65, 0],
|
||||
"cubes": [
|
||||
{"origin": [22, 41.5, -12], "size": [0, 7, 11], "uv": [72, 14]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left3",
|
||||
"parent": "hand_left",
|
||||
"pivot": [22, 45, 2],
|
||||
"rotation": [0, -65, 0],
|
||||
"cubes": [
|
||||
{"origin": [22, 41.5, 2], "size": [0, 7, 11], "uv": [72, 32]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left1",
|
||||
"parent": "hand_left",
|
||||
@@ -456,6 +460,38 @@
|
||||
{"origin": [29.5, 43.75, 2], "size": [2, 2, 0], "uv": [104, 12]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left",
|
||||
"parent": "wrist_left",
|
||||
"pivot": [22, 46, 0.5]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left1",
|
||||
"parent": "hand_fire_left",
|
||||
"pivot": [22, 46, 0.5],
|
||||
"rotation": [0, 0, -60],
|
||||
"cubes": [
|
||||
{"origin": [22, 46, -3.5], "size": [0, 10, 8], "uv": [73, 31]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left2",
|
||||
"parent": "hand_fire_left",
|
||||
"pivot": [22, 45, -1],
|
||||
"rotation": [0, 65, 0],
|
||||
"cubes": [
|
||||
{"origin": [22, 42.5, -10], "size": [0, 6, 9], "uv": [1, 75]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_left3",
|
||||
"parent": "hand_fire_left",
|
||||
"pivot": [22, 45, 2],
|
||||
"rotation": [0, -65, 0],
|
||||
"cubes": [
|
||||
{"origin": [22, 42.5, 2], "size": [0, 7, 9], "uv": [1, 66]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_right",
|
||||
"parent": "torso2",
|
||||
@@ -467,7 +503,7 @@
|
||||
{
|
||||
"name": "arm_right2",
|
||||
"parent": "arm_right",
|
||||
"pivot": [-6.5, 45.5, 0.5],
|
||||
"pivot": [-5, 45.5, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [-12, 44, -1], "size": [7, 2, 3], "uv": [112, 95]}
|
||||
]
|
||||
@@ -481,40 +517,18 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_right",
|
||||
"name": "wrist_right",
|
||||
"parent": "arm_right3",
|
||||
"pivot": [-22, 45, 0.5]
|
||||
},
|
||||
{
|
||||
"name": "hand_right",
|
||||
"parent": "wrist_right",
|
||||
"pivot": [-22, 45, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [-26, 44, -1.5], "size": [4, 2, 4], "uv": [118, 20]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right1",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-22, 46, 0.5],
|
||||
"rotation": [0, 0, 60],
|
||||
"cubes": [
|
||||
{"origin": [-22, 46, -2.5], "size": [0, 10, 6], "uv": [112, 74]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right2",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-22, 45, -1],
|
||||
"rotation": [0, -65, 0],
|
||||
"cubes": [
|
||||
{"origin": [-22, 41.5, -12], "size": [0, 7, 11], "uv": [0, 74]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right3",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-22, 45, 2],
|
||||
"rotation": [0, 65, 0],
|
||||
"cubes": [
|
||||
{"origin": [-22, 41.5, 2], "size": [0, 7, 11], "uv": [22, 74]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right1",
|
||||
"parent": "hand_right",
|
||||
@@ -587,6 +601,38 @@
|
||||
{"origin": [-31.5, 43.75, 2], "size": [2, 2, 0], "uv": [82, 113]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right",
|
||||
"parent": "wrist_right",
|
||||
"pivot": [-22, 46, 0.5]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right1",
|
||||
"parent": "hand_fire_right",
|
||||
"pivot": [-22, 46, 0.5],
|
||||
"rotation": [0, 0, 60],
|
||||
"cubes": [
|
||||
{"origin": [-22, 46, -3.5], "size": [0, 10, 8], "uv": [73, 31], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right2",
|
||||
"parent": "hand_fire_right",
|
||||
"pivot": [-22, 45, -1],
|
||||
"rotation": [0, -65, 0],
|
||||
"cubes": [
|
||||
{"origin": [-22, 42.5, -10], "size": [0, 6, 9], "uv": [1, 75], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_fire_right3",
|
||||
"parent": "hand_fire_right",
|
||||
"pivot": [-22, 45, 2],
|
||||
"rotation": [0, 65, 0],
|
||||
"cubes": [
|
||||
{"origin": [-22, 42.5, 2], "size": [0, 7, 9], "uv": [1, 66]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_right",
|
||||
"parent": "body",
|
||||
@@ -600,8 +646,16 @@
|
||||
"parent": "leg_right",
|
||||
"pivot": [-3.25, 17, -2],
|
||||
"cubes": [
|
||||
{"origin": [-8, 4.5, -4.5], "size": [9, 13, 9], "inflate": 0.01, "uv": [0, 28]},
|
||||
{"origin": [-3.5, 12, 3.75], "size": [0, 2, 4], "pivot": [-3.5, 13, 6], "rotation": [25, 0, 0], "uv": [124, 84]}
|
||||
{"origin": [-8, 4.5, -4.5], "size": [9, 13, 9], "inflate": 0.01, "uv": [0, 28]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "claw_right",
|
||||
"parent": "leg_right2",
|
||||
"pivot": [-3.5, 12.15, 4],
|
||||
"rotation": [25, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 11.25, 4], "size": [0, 2, 4], "uv": [124, 84]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -616,6 +670,38 @@
|
||||
{"origin": [1, 2, -5], "size": [3, 0, 10], "pivot": [1, 2, 0], "rotation": [0, 0, 15], "uv": [66, 85]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_right",
|
||||
"parent": "foot_right",
|
||||
"pivot": [-3.5, 1, 0]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_right1",
|
||||
"parent": "foot_fire_right",
|
||||
"pivot": [-8.5, 1, 0],
|
||||
"rotation": [0, 0, -52.5],
|
||||
"cubes": [
|
||||
{"origin": [-8.5, 0, -10], "size": [0, 14, 20], "uv": [135, -6], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_right2",
|
||||
"parent": "foot_fire_right",
|
||||
"pivot": [-5.5, 1, -5],
|
||||
"rotation": [52.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-13.5, 0, -5], "size": [16, 12, 0], "uv": [135, 29], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_right3",
|
||||
"parent": "foot_fire_right",
|
||||
"pivot": [-5.5, 1, 5],
|
||||
"rotation": [-52.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-13.5, 0, 5], "size": [16, 12, 0], "uv": [135, 43], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "nail_right1",
|
||||
"parent": "foot_right",
|
||||
@@ -656,8 +742,16 @@
|
||||
"parent": "leg_left",
|
||||
"pivot": [3.25, 17, -2],
|
||||
"cubes": [
|
||||
{"origin": [-1, 4.5, -4.5], "size": [9, 13, 9], "inflate": 0.01, "uv": [36, 28]},
|
||||
{"origin": [3.5, 12, 3.75], "size": [0, 2, 4], "pivot": [3.5, 13, 6], "rotation": [25, 0, 0], "uv": [124, 78]}
|
||||
{"origin": [-1, 4.5, -4.5], "size": [9, 13, 9], "inflate": 0.01, "uv": [36, 28]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "claw_left",
|
||||
"parent": "leg_left2",
|
||||
"pivot": [3.5, 12.25, 4],
|
||||
"rotation": [25, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [3.5, 11.25, 4], "size": [0, 2, 4], "uv": [124, 78]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -672,6 +766,38 @@
|
||||
{"origin": [-4, 2, -5], "size": [3, 0, 10], "pivot": [-1, 2, 0], "rotation": [0, 0, -15], "uv": [26, 92]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_left",
|
||||
"parent": "foot_left",
|
||||
"pivot": [3.5, 1, 0]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_left1",
|
||||
"parent": "foot_fire_left",
|
||||
"pivot": [8.5, 1, 0],
|
||||
"rotation": [0, 0, 52.5],
|
||||
"cubes": [
|
||||
{"origin": [8.5, 0, -10], "size": [0, 14, 20], "uv": [135, -6]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_left2",
|
||||
"parent": "foot_fire_left",
|
||||
"pivot": [5.5, 1, -5],
|
||||
"rotation": [52.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2.5, 0, -5], "size": [16, 12, 0], "uv": [135, 29]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "foot_fire_left3",
|
||||
"parent": "foot_fire_left",
|
||||
"pivot": [5.5, 1, 5],
|
||||
"rotation": [-52.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2.5, 0, 5], "size": [16, 12, 0], "uv": [135, 43]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "nail_left1",
|
||||
"parent": "foot_left",
|
||||
@@ -708,6 +834,14 @@
|
||||
{"origin": [-4, 25.25, 0.5], "size": [8, 8, 6], "inflate": 0.02, "uv": [68, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "tail1",
|
||||
"pivot": [0, 33.3, 4],
|
||||
"locators": {
|
||||
"seat_1": [0, 33.3, 4]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "tail2",
|
||||
"parent": "tail1",
|
||||
|
||||
+9
-1
@@ -6,7 +6,7 @@
|
||||
"identifier": "geometry.rhyperior",
|
||||
"texture_width": 256,
|
||||
"texture_height": 256,
|
||||
"visible_bounds_width": 8,
|
||||
"visible_bounds_width": 7,
|
||||
"visible_bounds_height": 4.5,
|
||||
"visible_bounds_offset": [0, 1.75, 0]
|
||||
},
|
||||
@@ -474,6 +474,14 @@
|
||||
{"origin": [-8.5, 41.5, -13], "size": [2, 3, 7], "uv": [177, 33]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 48, 4],
|
||||
"locators": {
|
||||
"seat_1": [0, 48, 4]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "tail",
|
||||
"parent": "torso",
|
||||
|
||||
+11
-4
@@ -7,8 +7,8 @@
|
||||
"texture_width": 256,
|
||||
"texture_height": 256,
|
||||
"visible_bounds_width": 8,
|
||||
"visible_bounds_height": 4.5,
|
||||
"visible_bounds_offset": [0, 1.75, 0]
|
||||
"visible_bounds_height": 5.5,
|
||||
"visible_bounds_offset": [0, 2.25, 0]
|
||||
},
|
||||
"bones": [
|
||||
{
|
||||
@@ -31,7 +31,7 @@
|
||||
{"origin": [6.5, 13, 10.5], "size": [8, 10, 3], "inflate": 0.01, "uv": [127, 177]},
|
||||
{"origin": [-14.5, 13, 10.5], "size": [8, 10, 3], "inflate": 0.01, "uv": [0, 42]},
|
||||
{"origin": [-5.5, 13, 10.5], "size": [11, 10, 3], "inflate": 0.01, "uv": [50, 171]},
|
||||
{"origin": [6.5, 13, -13.5], "size": [8, 10, 3], "inflate": 0.01, "pivot": [10.5, 18, -12], "rotation": [0, 0, 0], "uv": [28, 174]},
|
||||
{"origin": [6.5, 13, -13.5], "size": [8, 10, 3], "inflate": 0.01, "uv": [28, 174]},
|
||||
{"origin": [11.5, 13, -9.5], "size": [3, 10, 9], "inflate": 0.01, "uv": [147, 160]},
|
||||
{"origin": [11.5, 13, 0.5], "size": [3, 10, 9], "inflate": 0.01, "uv": [78, 160]},
|
||||
{"origin": [-14.5, 13, 0.5], "size": [3, 10, 9], "inflate": 0.01, "uv": [123, 157]},
|
||||
@@ -291,7 +291,6 @@
|
||||
"name": "head_angle",
|
||||
"parent": "head_ai",
|
||||
"pivot": [0, 34, 0],
|
||||
"rotation": [0, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-8, 30.25, -6], "size": [16, 16, 11], "uv": [0, 78]},
|
||||
{"origin": [-8, 30.26393, 0.00246], "size": [16, 16, 5], "inflate": -0.01, "pivot": [-0.49, 46.26393, 5.00246], "rotation": [17.5, 0, 0], "uv": [121, 57]},
|
||||
@@ -474,6 +473,14 @@
|
||||
{"origin": [-8.5, 41.5, -13], "size": [2, 3, 7], "uv": [177, 33]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_seat_1",
|
||||
"parent": "head_angle",
|
||||
"pivot": [0, 48, 4],
|
||||
"locators": {
|
||||
"seat_1": [0, 48, 4]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "tail",
|
||||
"parent": "torso",
|
||||
|
||||
+76
-13
@@ -19,15 +19,35 @@
|
||||
"cry": "q.bedrock_stateful('dewgong', 'cry')"
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
"poseTypes": [
|
||||
"STAND",
|
||||
"NONE",
|
||||
"FLOAT",
|
||||
"PORTRAIT",
|
||||
"PROFILE"
|
||||
"in-air": {
|
||||
"poseTypes": ["STAND", "WALK"],
|
||||
"isRideStyle": ["LIQUID"],
|
||||
"isBattle": false,
|
||||
"condition": "q.in_air && q.is_ridden",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('dewgong', 'water_idle')",
|
||||
"q.bedrock('dewgong', 'ride_water_swim')"
|
||||
],
|
||||
"isBattle": true,
|
||||
"transformTicks": 2,
|
||||
"transformToTicks": 2
|
||||
},
|
||||
"mount-swim": {
|
||||
"poseTypes": ["SWIM", "WALK"],
|
||||
"isRideStyle": ["LIQUID"],
|
||||
"isTouchingWater": "true",
|
||||
"condition": "q.is_ridden",
|
||||
"animations": [
|
||||
"q.look('head_ai')",
|
||||
"q.bedrock('dewgong', 'water_swim')",
|
||||
"q.bedrock('dewgong', 'ride_water_swim')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('dewgong', 'blink')"]
|
||||
},
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"isTouchingWater": false,
|
||||
"animations": [
|
||||
"q.look('head_ai')",
|
||||
"q.bedrock('dewgong', 'ground_idle')"
|
||||
@@ -37,13 +57,56 @@
|
||||
]
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": [
|
||||
"WALK",
|
||||
"SWIM"
|
||||
],
|
||||
"poseTypes": ["WALK"],
|
||||
"isTouchingWater": false,
|
||||
"animations": [
|
||||
"q.look('head_ai')",
|
||||
"q.bedrock('dewgong', 'ground_idle')"
|
||||
"q.bedrock('dewgong', 'ground_walk')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('dewgong', 'blink')"
|
||||
]
|
||||
},
|
||||
"swim": {
|
||||
"poseTypes": ["SWIM"],
|
||||
"isTouchingWater": "true",
|
||||
"condition": "!q.is_ridden",
|
||||
"animations": [
|
||||
"q.look('head_ai')",
|
||||
"q.bedrock('dewgong', 'water_swim')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('dewgong', 'blink')"]
|
||||
},
|
||||
"surface-swim": {
|
||||
"poseTypes": ["WALK"],
|
||||
"isTouchingWater": "true",
|
||||
"animations": [
|
||||
"q.look('head_ai')",
|
||||
"q.bedrock('dewgong', 'water_swim')",
|
||||
{
|
||||
"condition": "q.is_ridden && q.has_entity",
|
||||
"animation": "q.bedrock('dewgong', 'ride_water_swim')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('dewgong', 'blink')"]
|
||||
},
|
||||
"surface-float": {
|
||||
"poseTypes": ["STAND"],
|
||||
"isTouchingWater": "true",
|
||||
"animations": [
|
||||
"q.look('head_ai')",
|
||||
"q.bedrock('dewgong', 'water_idle')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('dewgong', 'blink')"
|
||||
]
|
||||
},
|
||||
"float": {
|
||||
"poseTypes": ["FLOAT"],
|
||||
"isTouchingWater": "true",
|
||||
"animations": [
|
||||
"q.look('head_ai')",
|
||||
"q.bedrock('dewgong', 'water_idle')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('dewgong', 'blink')"
|
||||
|
||||
+90
-13
@@ -4,28 +4,105 @@
|
||||
"profileScale": 0.62,
|
||||
"profileTranslation": [-0.04, 0.73, 0.0],
|
||||
"rootBone": "rhyhorn",
|
||||
"firstPersonCameraOffset": {
|
||||
"seat_1": [0, 0.5, 0]
|
||||
},
|
||||
"thirdPersonCameraOffset": {
|
||||
"seat_1": [0, 0, 1],
|
||||
"seat_1_reverse": [0, 0, 1]
|
||||
},
|
||||
"thirdPersonCameraOffsetNoViewBobbing": {
|
||||
"seat_1": [0, 1, 2],
|
||||
"seat_1_reverse": [0, 1, 2]
|
||||
},
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('rhyhorn', 'cry')"
|
||||
"cry": "q.bedrock_stateful('rhyhorn', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('rhyhorn', 'recoil')",
|
||||
"physical": "q.bedrock_primary('rhyhorn', 'physical', q.curve('symmetrical_wide'))",
|
||||
"special": "q.bedrock_primary('rhyhorn', 'special', q.curve('symmetrical_wide'))",
|
||||
"status": "q.bedrock_primary('rhyhorn', 'status', q.curve('symmetrical_wide'))"
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
"poseName": "standing",
|
||||
"poseTypes": ["STAND", "FLOAT", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"battle-standing": {
|
||||
"poseTypes": ["STAND"],
|
||||
"isBattle": true,
|
||||
"animations": [
|
||||
"q.look('head_ai')",
|
||||
"q.bedrock('rhyhorn', 'ground_idle')"
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhyhorn', 'battle_idle')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('rhyhorn', 'blink')"
|
||||
],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_primary('rhyhorn', 'battle_cry', q.curve('symmetrical_wide'))"
|
||||
}
|
||||
},
|
||||
"jump": {
|
||||
"poseTypes": ["STAND", "WALK"],
|
||||
"condition": "q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhyhorn', 'ride_jump')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('rhyhorn', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('rhyhorn', 'blink')"
|
||||
],
|
||||
"transformTicks": 5,
|
||||
"transformToTicks": 5
|
||||
},
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"condition": "!q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhyhorn', 'ground_idle')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('rhyhorn', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('rhyhorn', 'blink')",
|
||||
"q.bedrock_quirk('rhyhorn', 'idle_quirk')"
|
||||
]
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"condition": "!q.in_air && !q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhyhorn', 'ground_walk')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('rhyhorn', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('rhyhorn', 'blink')"]
|
||||
},
|
||||
"walking": {
|
||||
"poseName": "walking",
|
||||
"poseTypes": ["WALK", "SWIM"],
|
||||
"running": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"condition": "!q.in_air && q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head_ai')",
|
||||
"q.quadruped_walk(0.66, 0.6, 'left_front_leg', 'right_front_leg', 'left_back_leg', 'right_back_leg')",
|
||||
"q.bedrock('rhyhorn', 'ground_idle')"
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhyhorn', 'ground_run')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('rhyhorn', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('rhyhorn', 'blink')"]
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('rhyhorn', 'sleep')"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+94
-11
@@ -4,25 +4,108 @@
|
||||
"profileScale": 0.51,
|
||||
"profileTranslation": [0.0, 0.89, 0.0],
|
||||
"rootBone": "rhydon",
|
||||
"firstPersonCameraOffset": {
|
||||
"seat_1": [0, 0.5, 0]
|
||||
},
|
||||
"thirdPersonCameraOffset": {
|
||||
"seat_1": [0, 0, 1],
|
||||
"seat_1_reverse": [0, 0, 1]
|
||||
},
|
||||
"thirdPersonCameraOffsetNoViewBobbing": {
|
||||
"seat_1": [0, 1, 2],
|
||||
"seat_1_reverse": [0, 1, 2]
|
||||
},
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('rhydon', 'cry')"
|
||||
"cry": "q.bedrock_stateful('rhydon', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('rhydon', 'recoil')",
|
||||
"physical": "q.bedrock_primary('rhydon', 'physical', q.curve('symmetrical_wide'))",
|
||||
"special": "q.bedrock_primary('rhydon', 'special', q.curve('symmetrical_wide'))",
|
||||
"status": "q.bedrock_primary('rhydon', 'status', q.curve('symmetrical_wide'))"
|
||||
},
|
||||
"poses": {
|
||||
"battle-standing": {
|
||||
"poseTypes": ["STAND"],
|
||||
"isBattle": true,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhydon', 'battle_idle')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('rhydon', 'blink')",
|
||||
"q.bedrock_quirk('rhydon', 'battle_quirk')"
|
||||
],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_primary('rhydon', 'battle_cry', q.curve('symmetrical_wide'))"
|
||||
}
|
||||
},
|
||||
"jump": {
|
||||
"poseTypes": ["STAND", "WALK"],
|
||||
"condition": "q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhydon', 'ride_jump')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('rhydon', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('rhydon', 'blink')"
|
||||
],
|
||||
"transformTicks": 5,
|
||||
"transformToTicks": 5
|
||||
},
|
||||
"running": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"condition": "!q.in_air && q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhydon', 'ground_run')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('rhydon', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('rhydon', 'blink')",
|
||||
"q.bedrock_quirk('rhydon', 'run_quirk')"
|
||||
]
|
||||
},
|
||||
"standing": {
|
||||
"poseName": "standing",
|
||||
"poseTypes": ["STAND", "FLOAT", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"animations": ["q.look('head_ai')", "q.bedrock('rhydon', 'ground_idle')"],
|
||||
"quirks": ["q.bedrock_quirk('rhydon', 'blink')"]
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"condition": "!q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhydon', 'ground_idle')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('rhydon', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('rhydon', 'blink')"
|
||||
]
|
||||
},
|
||||
"walking": {
|
||||
"poseName": "walking",
|
||||
"poseTypes": ["WALK", "SWIM"],
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"condition": "!q.in_air && !q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head_ai')",
|
||||
"q.biped_walk(0.66, 0.6, 'left_upper_leg', 'right_upper_leg')",
|
||||
"q.bedrock('rhydon', 'ground_idle')"
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhydon', 'ground_walk')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('rhydon', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('rhydon', 'blink')"]
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('rhydon', 'sleep')"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+79
-42
@@ -4,48 +4,85 @@
|
||||
"profileScale": 0.75,
|
||||
"profileTranslation": [0, 0.6, 0],
|
||||
"rootBone": "tauros",
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('tauros', 'cry')",
|
||||
"status": "q.bedrock_primary('tauros', 'cry', q.curve('symmetrical_wide'))"
|
||||
"firstPersonCameraOffset": {
|
||||
"seat_1": [0, 0.5, 0]
|
||||
},
|
||||
"thirdPersonCameraOffset": {
|
||||
"seat_1": [0, 0, 1],
|
||||
"seat_1_reverse": [0, 0, 1]
|
||||
},
|
||||
"thirdPersonCameraOffsetNoViewBobbing": {
|
||||
"seat_1": [0, 2, 5],
|
||||
"seat_1_reverse": [0, 2, 5]
|
||||
},
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('tauros', 'cry')"
|
||||
},
|
||||
"poses": {
|
||||
"jump": {
|
||||
"poseTypes": ["STAND", "WALK"],
|
||||
"condition": "q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros', 'ride_jump')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('tauros', 'blink')"
|
||||
],
|
||||
"transformTicks": 5,
|
||||
"transformToTicks": 5
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros', 'ground_idle')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('tauros', 'blink')"
|
||||
]
|
||||
"running": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"isBattle": false,
|
||||
"condition": "!q.in_air && q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros', 'ground_run')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros', 'blink')"]
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"condition": "!q.in_air && !q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros', 'ground_walk')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros', 'blink')"]
|
||||
},
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"condition": "!q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros', 'ground_idle')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros', 'blink')"]
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros', 'ground_walk')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros', 'blink')"]
|
||||
},
|
||||
"float": {
|
||||
"poseTypes": ["FLOAT"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros', 'ground_idle')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros', 'blink')"]
|
||||
},
|
||||
"swim": {
|
||||
"poseTypes": ["SWIM"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros', 'ground_walk')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros', 'blink')"]
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"animations": ["q.bedrock('tauros', 'sleep')"]
|
||||
}
|
||||
"animations": ["q.bedrock('tauros', 'sleep')"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+127
-42
@@ -4,48 +4,133 @@
|
||||
"profileScale": 0.75,
|
||||
"profileTranslation": [0, 0.6, 0],
|
||||
"rootBone": "tauros",
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('tauros_paldean_aqua', 'cry')",
|
||||
"status": "q.bedrock_primary('tauros_paldean_aqua', 'cry', q.curve('symmetrical_wide'))"
|
||||
"firstPersonCameraOffset": {
|
||||
"seat_1": [0, 0.5, 0]
|
||||
},
|
||||
"thirdPersonCameraOffset": {
|
||||
"seat_1": [0, 0, 1],
|
||||
"seat_1_reverse": [0, 0, 1]
|
||||
},
|
||||
"thirdPersonCameraOffsetNoViewBobbing": {
|
||||
"seat_1": [0, 2, 5],
|
||||
"seat_1_reverse": [0, 2, 5]
|
||||
},
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('tauros_paldean_aqua', 'cry')"
|
||||
},
|
||||
"poses": {
|
||||
"boat-jump": {
|
||||
"poseTypes": ["STAND", "WALK"],
|
||||
"isRideStyle": ["LIQUID"],
|
||||
"condition": "q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_aqua', 'ride_jump_liquid')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros_paldean_aqua', 'ride_surfacewater_swim')"
|
||||
}
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('tauros_paldean_aqua', 'blink')"
|
||||
],
|
||||
"transformTicks": 5,
|
||||
"transformToTicks": 2
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_aqua', 'ground_idle')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('tauros_paldean_aqua', 'blink')"
|
||||
]
|
||||
"land-jump": {
|
||||
"poseTypes": ["STAND", "WALK"],
|
||||
"condition": "q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_aqua', 'ride_jump_land')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros_paldean_aqua', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('tauros_paldean_aqua', 'blink')"
|
||||
],
|
||||
"transformTicks": 5,
|
||||
"transformToTicks": 5
|
||||
},
|
||||
"running": {
|
||||
"poseTypes": ["WALK"],
|
||||
"isBattle": false,
|
||||
"isTouchingWater": false,
|
||||
"condition": "!q.in_air && q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_aqua', 'ground_run')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros_paldean_aqua', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_aqua', 'blink')"]
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK"],
|
||||
"isTouchingWater": false,
|
||||
"condition": "!q.in_air && !q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_aqua', 'ground_walk')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros_paldean_aqua', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_aqua', 'blink')"]
|
||||
},
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"isTouchingWater": false,
|
||||
"condition": "!q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_aqua', 'ground_idle')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros_paldean_aqua', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_aqua', 'blink')"]
|
||||
},
|
||||
"surface-swimming": {
|
||||
"isBattle": false,
|
||||
"isTouchingWater": true,
|
||||
"poseTypes": ["WALK", "SWIM"],
|
||||
"animations": [
|
||||
"q.bedrock('tauros_paldean_aqua', 'surfacewater_swim')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros_paldean_aqua', 'ride_surfacewater_swim')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_aqua', 'blink')"]
|
||||
},
|
||||
"surface-floating": {
|
||||
"isBattle": false,
|
||||
"isTouchingWater": true,
|
||||
"poseTypes": ["STAND", "FLOAT"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_aqua', 'surfacewater_idle')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros_paldean_aqua', 'ride_surfacewater_swim')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_aqua', 'blink')"]
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_aqua', 'ground_walk')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_aqua', 'blink')"]
|
||||
},
|
||||
"float": {
|
||||
"poseTypes": ["FLOAT"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_aqua', 'ground_idle')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_aqua', 'blink')"]
|
||||
},
|
||||
"swim": {
|
||||
"poseTypes": ["SWIM"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_aqua', 'ground_walk')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_aqua', 'blink')"]
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"animations": ["q.bedrock('tauros_paldean_aqua', 'sleep')"]
|
||||
}
|
||||
"animations": ["q.bedrock('tauros_paldean_aqua', 'sleep')"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+79
-42
@@ -4,48 +4,85 @@
|
||||
"profileScale": 0.75,
|
||||
"profileTranslation": [0, 0.6, 0],
|
||||
"rootBone": "tauros",
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('tauros_paldean_blaze', 'cry')",
|
||||
"status": "q.bedrock_primary('tauros_paldean_blaze', 'cry', q.curve('symmetrical_wide'))"
|
||||
"firstPersonCameraOffset": {
|
||||
"seat_1": [0, 0.5, 0]
|
||||
},
|
||||
"thirdPersonCameraOffset": {
|
||||
"seat_1": [0, 0, 1],
|
||||
"seat_1_reverse": [0, 0, 1]
|
||||
},
|
||||
"thirdPersonCameraOffsetNoViewBobbing": {
|
||||
"seat_1": [0, 2, 5],
|
||||
"seat_1_reverse": [0, 2, 5]
|
||||
},
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('tauros_paldean_blaze', 'cry')"
|
||||
},
|
||||
"poses": {
|
||||
"jump": {
|
||||
"poseTypes": ["STAND", "WALK"],
|
||||
"condition": "q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_blaze', 'ride_jump')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros_paldean_blaze', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('tauros_paldean_blaze', 'blink')"
|
||||
],
|
||||
"transformTicks": 5,
|
||||
"transformToTicks": 5
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_blaze', 'ground_idle')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('tauros_paldean_blaze', 'blink')"
|
||||
]
|
||||
"running": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"isBattle": false,
|
||||
"condition": "!q.in_air && q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_blaze', 'ground_run')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros_paldean_blaze', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_blaze', 'blink')"]
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"condition": "!q.in_air && !q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_blaze', 'ground_walk')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros_paldean_blaze', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_blaze', 'blink')"]
|
||||
},
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"condition": "!q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_blaze', 'ground_idle')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('tauros_paldean_blaze', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_blaze', 'blink')"]
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_blaze', 'ground_walk')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_blaze', 'blink')"]
|
||||
},
|
||||
"float": {
|
||||
"poseTypes": ["FLOAT"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_blaze', 'ground_idle')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_blaze', 'blink')"]
|
||||
},
|
||||
"swim": {
|
||||
"poseTypes": ["SWIM"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tauros_paldean_blaze', 'ground_walk')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tauros_paldean_blaze', 'blink')"]
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"animations": ["q.bedrock('tauros_paldean_blaze', 'sleep')"]
|
||||
}
|
||||
"animations": ["q.bedrock('tauros_paldean_blaze', 'sleep')"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+56
-22
@@ -5,40 +5,74 @@
|
||||
"profileTranslation": [ 0, 1.12, 0],
|
||||
"rootBone": "blaziken",
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('blaziken', 'cry')"
|
||||
"cry": "q.bedrock_stateful('blaziken', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('blaziken', 'recoil')",
|
||||
"physical": "q.bedrock_primary('blaziken', 'physical', q.curve('symmetrical_wide'))",
|
||||
"special": "q.bedrock_primary('blaziken', 'special', q.curve('symmetrical_wide'))",
|
||||
"status": "q.bedrock_primary('blaziken', 'status', q.curve('symmetrical_wide'))"
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
"poseTypes": [
|
||||
"STAND",
|
||||
"NONE",
|
||||
"FLOAT",
|
||||
"PORTRAIT",
|
||||
"PROFILE"
|
||||
],
|
||||
"battle-standing": {
|
||||
"poseTypes": ["STAND"],
|
||||
"isBattle": true,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('blaziken', 'battle_idle')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('blaziken', 'blink')"
|
||||
],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_primary('blaziken', 'battle_cry', q.curve('symmetrical_wide'))"
|
||||
}
|
||||
},
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('blaziken', 'ground_idle')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('blaziken', 'blink')"
|
||||
]
|
||||
"quirks": ["q.bedrock_quirk('blaziken', 'blink')"]
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": [
|
||||
"WALK",
|
||||
"SWIM"
|
||||
],
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"condition": "!q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('blaziken', 'ground_idle')",
|
||||
"q.biped_walk(1, 1, 'leg_left', 'leg_right')",
|
||||
"q.bimanual_swing(1, 1, 'arm_left', 'arm_right')"
|
||||
"q.bedrock('blaziken', 'ground_walk')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('blaziken', 'blink')"
|
||||
]
|
||||
"quirks": ["q.bedrock_quirk('blaziken', 'blink')"]
|
||||
},
|
||||
"running": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"isBattle": false,
|
||||
"condition": "q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('blaziken', 'ground_run')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('blaziken', 'ground_jog')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('blaziken', 'blink')"]
|
||||
},
|
||||
"battle-sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"isBattle": true,
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('blaziken', 'battle_sleep')"]
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"isBattle": false,
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('blaziken', 'sleep')"]
|
||||
}
|
||||
}
|
||||
}
|
||||
+40
-14
@@ -48,31 +48,57 @@
|
||||
"cry": "q.bedrock_primary('slaking', 'battle_cry', q.curve('symmetrical_wide'))"
|
||||
}
|
||||
},
|
||||
"jump": {
|
||||
"poseTypes": ["STAND", "WALK"],
|
||||
"condition": "q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('slaking', 'ride_jump')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('slaking', 'blink')"
|
||||
],
|
||||
"transformTicks": 5,
|
||||
"transformToTicks": 5
|
||||
},
|
||||
"running": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"isBattle": false,
|
||||
"condition": "!q.in_air && q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('slaking', 'ground_run')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('slaking', 'ride_ground')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('slaking', 'blink')"]
|
||||
},
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE"],
|
||||
"isBattle": false,
|
||||
"condition": "!q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('slaking', 'ground_idle')"
|
||||
"q.bedrock('slaking', 'ground_idle')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('slaking', 'ride_ground')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('slaking', 'blink')"]
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"condition": "!q.is_sprinting",
|
||||
"condition": "!q.in_air && !q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('slaking', 'ground_walk')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('slaking', 'blink')"]
|
||||
},
|
||||
"running": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"isBattle": false,
|
||||
"condition": "q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('slaking', 'ground_run')"
|
||||
"q.bedrock('slaking', 'ground_walk')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('slaking', 'ride_ground')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('slaking', 'blink')"]
|
||||
},
|
||||
@@ -84,4 +110,4 @@
|
||||
"animations": ["q.bedrock('slaking', 'sleep')"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
-3
@@ -281,16 +281,32 @@
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('garchomp', 'blink')"]
|
||||
},
|
||||
"flying": {
|
||||
"mount-flying": {
|
||||
"poseName": "flying",
|
||||
"poseTypes": ["FLY"],
|
||||
"condition": "q.is_ridden",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('garchomp', 'air_fly')",
|
||||
"q.bedrock('garchomp', 'ride_air_fly')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('garchomp', 'blink')"
|
||||
],
|
||||
"transformedParts": [
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('garchomp', 'ride_air_fly')"
|
||||
"part": "body",
|
||||
"position": [0, -10, 0]
|
||||
}
|
||||
]
|
||||
},
|
||||
"flying": {
|
||||
"poseName": "flying",
|
||||
"poseTypes": ["FLY"],
|
||||
"condition": "!q.is_ridden",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('garchomp', 'air_fly')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('garchomp', 'blink')",
|
||||
|
||||
+94
-16
@@ -4,28 +4,106 @@
|
||||
"profileScale": 0.35,
|
||||
"profileTranslation": [-0.07, 1.13, 0.0],
|
||||
"rootBone": "rhyperior",
|
||||
"firstPersonCameraOffset": {
|
||||
"seat_1": [0, 0.5, 0]
|
||||
},
|
||||
"thirdPersonCameraOffset": {
|
||||
"seat_1": [0, 0, 1],
|
||||
"seat_1_reverse": [0, 0, 1]
|
||||
},
|
||||
"thirdPersonCameraOffsetNoViewBobbing": {
|
||||
"seat_1": [0, 1, 2],
|
||||
"seat_1_reverse": [0, 1, 2]
|
||||
},
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('rhyperior', 'cry')"
|
||||
"cry": "q.bedrock_stateful('rhyperior', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('rhyperior', 'recoil')",
|
||||
"physical": "q.bedrock_primary('rhyperior', 'physical', q.curve('symmetrical_wide'))",
|
||||
"special": "q.bedrock_primary('rhyperior', 'special', q.curve('symmetrical_wide'))",
|
||||
"status": "q.bedrock_primary('rhyperior', 'status', q.curve('symmetrical_wide'))"
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
"poseName": "standing",
|
||||
"poseTypes": ["STAND", "FLOAT", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"battle-standing": {
|
||||
"poseTypes": ["STAND"],
|
||||
"isBattle": true,
|
||||
"animations": [
|
||||
"q.look('head_ai')",
|
||||
"q.bedrock('rhyperior', 'ground_idle')"
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhyperior', 'battle_idle')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('rhyperior', 'blink')"
|
||||
],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_primary('rhyperior', 'battle_cry', q.curve('symmetrical_wide'))"
|
||||
}
|
||||
},
|
||||
"jump": {
|
||||
"poseTypes": ["STAND", "WALK"],
|
||||
"condition": "q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhyperior', 'ride_jump')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('rhyperior', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('rhyperior', 'blink')"
|
||||
],
|
||||
"transformTicks": 5,
|
||||
"transformToTicks": 5
|
||||
},
|
||||
"running": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"condition": "!q.in_air && q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhyperior', 'ground_run')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('rhyperior', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('rhyperior', 'blink')"
|
||||
]
|
||||
},
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"condition": "!q.in_air",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhyperior', 'ground_idle')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('rhyperior', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('rhyperior', 'blink')"
|
||||
]
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK", "FLOAT", "SWIM"],
|
||||
"condition": "!q.in_air && !q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rhyperior', 'ground_walk')",
|
||||
{
|
||||
"condition": "q.is_ridden",
|
||||
"animation": "q.bedrock('rhyperior', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('rhyperior', 'blink')"]
|
||||
},
|
||||
"walking": {
|
||||
"poseName": "walking",
|
||||
"poseTypes": ["WALK", "SWIM"],
|
||||
"animations": [
|
||||
"q.look('head_ai')",
|
||||
"q.biped_walk(0.66, 0.6, 'left_upper_leg', 'right_upper_leg')",
|
||||
"q.bedrock('rhyperior', 'ground_idle')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('rhyperior', 'blink')"]
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('rhyperior', 'sleep')"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -59,7 +59,7 @@
|
||||
"isBattle": false,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('cyclizar', 'ride_drift')"
|
||||
"q.bedrock('cyclizar', 'mount_idle')"
|
||||
],
|
||||
"condition": "q.is_ridden && !q.in_air",
|
||||
"quirks": ["q.bedrock_quirk('cyclizar', 'blink')"]
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"match": {
|
||||
"type": "cobblemon:pokemon"
|
||||
},
|
||||
"luminance": {
|
||||
"type": "cobblemon:pokemon"
|
||||
}
|
||||
}
|
||||
@@ -900,6 +900,7 @@
|
||||
"cobblemon.battle.lose": "%1$s be out of usable monsters!",
|
||||
"cobblemon.battle.forfeit": "%1$s forfeited th' battle!",
|
||||
"cobblemon.battle.flee": "Th' battle was fled.",
|
||||
"cobblemon.battle.wild_flee": "Th' scallywag, %1$s abandoned ship.",
|
||||
"cobblemon.battle.switch_option": "Switch monsters: ",
|
||||
"cobblemon.battle.your_team": "Ye crew:",
|
||||
"cobblemon.battle.must_switch": "Choose a monster to switch in",
|
||||
|
||||
@@ -2700,6 +2700,7 @@
|
||||
"cobblemon.battle.lose": "%1$s is out of usable Pokémon!",
|
||||
"cobblemon.battle.forfeit": "%1$s forfeited the battle!",
|
||||
"cobblemon.battle.flee": "The battle was fled.",
|
||||
"cobblemon.battle.wild_flee": "The wild %1$s fled.",
|
||||
"cobblemon.battle.switch_option": "Switch Pokémon: ",
|
||||
"cobblemon.battle.your_team": "Your Team:",
|
||||
"cobblemon.battle.must_switch": "Choose a Pokémon to switch in",
|
||||
|
||||
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
@@ -147,4 +147,8 @@ transitive-accessible class net/minecraft/world/inventory/BrewingStandMenu$FuelS
|
||||
|
||||
transitive-accessible method net/minecraft/world/entity/ai/behavior/RandomStroll getTargetSwimPos (Lnet/minecraft/world/entity/PathfinderMob;)Lnet/minecraft/world/phys/Vec3;
|
||||
|
||||
transitive-accessible method net/minecraft/world/food/FoodData add (IF)V
|
||||
transitive-accessible method net/minecraft/world/food/FoodData add (IF)V
|
||||
|
||||
transitive-accessible method net/minecraft/client/model/HumanoidModel setupAttackAnimation (Lnet/minecraft/world/entity/LivingEntity;F)V
|
||||
transitive-accessible method net/minecraft/client/model/HumanoidModel poseRightArm (Lnet/minecraft/world/entity/LivingEntity;)V
|
||||
transitive-accessible method net/minecraft/client/model/HumanoidModel poseLeftArm (Lnet/minecraft/world/entity/LivingEntity;)V
|
||||
@@ -2,7 +2,7 @@
|
||||
"requirements": [
|
||||
{
|
||||
"variant": "properties",
|
||||
"target": "tangela"
|
||||
"target": "tangrowth"
|
||||
}
|
||||
],
|
||||
"interactions": [
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "cobblemon:cooking_pot_shapeless",
|
||||
"group": "aprijuice",
|
||||
"category": "complex_dishes",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "cobblemon:black_apricorn"
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:pep_up_flower"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"id": "cobblemon:aprijuice_black"
|
||||
},
|
||||
"seasoningProcessors": [
|
||||
"flavour"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "cobblemon:cooking_pot_shapeless",
|
||||
"group": "aprijuice",
|
||||
"category": "complex_dishes",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "cobblemon:blue_apricorn"
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:pep_up_flower"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"id": "cobblemon:aprijuice_blue"
|
||||
},
|
||||
"seasoningProcessors": [
|
||||
"flavour"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "cobblemon:cooking_pot_shapeless",
|
||||
"group": "aprijuice",
|
||||
"category": "complex_dishes",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "cobblemon:green_apricorn"
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:pep_up_flower"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"id": "cobblemon:aprijuice_green"
|
||||
},
|
||||
"seasoningProcessors": [
|
||||
"flavour"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "cobblemon:cooking_pot_shapeless",
|
||||
"group": "aprijuice",
|
||||
"category": "complex_dishes",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "cobblemon:pink_apricorn"
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:pep_up_flower"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"id": "cobblemon:aprijuice_pink"
|
||||
},
|
||||
"seasoningProcessors": [
|
||||
"flavour"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "cobblemon:cooking_pot_shapeless",
|
||||
"group": "aprijuice",
|
||||
"category": "complex_dishes",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "cobblemon:red_apricorn"
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:pep_up_flower"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"id": "cobblemon:aprijuice_red"
|
||||
},
|
||||
"seasoningProcessors": [
|
||||
"flavour"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "cobblemon:cooking_pot_shapeless",
|
||||
"group": "aprijuice",
|
||||
"category": "complex_dishes",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "cobblemon:white_apricorn"
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:pep_up_flower"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"id": "cobblemon:aprijuice_white"
|
||||
},
|
||||
"seasoningProcessors": [
|
||||
"flavour"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "cobblemon:cooking_pot_shapeless",
|
||||
"group": "aprijuice",
|
||||
"category": "complex_dishes",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "cobblemon:yellow_apricorn"
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:pep_up_flower"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"id": "cobblemon:aprijuice_yellow"
|
||||
},
|
||||
"seasoningProcessors": [
|
||||
"flavour"
|
||||
]
|
||||
}
|
||||
@@ -6,6 +6,7 @@
|
||||
"maleRatio": 0.875,
|
||||
"height": 6,
|
||||
"weight": 85,
|
||||
"lightingData": { "lightLevel": 8, "liquidGlowMode": "LAND" },
|
||||
"pokedex": [
|
||||
"cobblemon.species.charmander.desc"
|
||||
],
|
||||
|
||||
@@ -46,19 +46,199 @@
|
||||
"baseFriendship": 50,
|
||||
"baseScale": 0.7,
|
||||
"hitbox": {
|
||||
"width": 1.7,
|
||||
"height": 2,
|
||||
"fixed": false
|
||||
"fixed": false,
|
||||
"width": 1.7
|
||||
},
|
||||
"behaviour": {
|
||||
"moving": {
|
||||
"swim": {
|
||||
"canBreatheUnderwater": true,
|
||||
"canSwimInWater": true,
|
||||
"canSwimInLava": false,
|
||||
"swimSpeed": "0.2"
|
||||
"riding": {
|
||||
"behaviours": {
|
||||
"LAND": {
|
||||
"key": "cobblemon:land/horse",
|
||||
"rideSounds": [],
|
||||
"canJump": false,
|
||||
"canSprint": false,
|
||||
"stats": {
|
||||
"ACCELERATION": "10-40",
|
||||
"JUMP": "10-40",
|
||||
"SKILL": "80-100",
|
||||
"SPEED": "10-40",
|
||||
"STAMINA": "10-40"
|
||||
}
|
||||
},
|
||||
"LIQUID": {
|
||||
"key": "cobblemon:liquid/dolphin",
|
||||
"rideSounds": [],
|
||||
"stats": {
|
||||
"ACCELERATION": "30-65",
|
||||
"JUMP": "30-65",
|
||||
"SKILL": "30-65",
|
||||
"SPEED": "10-40",
|
||||
"STAMINA": "55-85"
|
||||
}
|
||||
}
|
||||
},
|
||||
"seats": [
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
},
|
||||
"poseOffsets": [
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -0.9496859,
|
||||
"z": 0.19579774
|
||||
},
|
||||
"poseTypes": [
|
||||
"STAND"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -0.9526392,
|
||||
"z": 0.40629542
|
||||
},
|
||||
"poseTypes": [
|
||||
"WALK"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -1.0221033,
|
||||
"z": 0.23787531
|
||||
},
|
||||
"poseTypes": [
|
||||
"HOVER"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -1.0221033,
|
||||
"z": 0.23787531
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLY"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -1.0221033,
|
||||
"z": 0.23787531
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLOAT"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -1.0366806,
|
||||
"z": 0.3999315
|
||||
},
|
||||
"poseTypes": [
|
||||
"SWIM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -1.0221033,
|
||||
"z": 0.23787531
|
||||
},
|
||||
"poseTypes": [
|
||||
"GLIDE"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
},
|
||||
"poseOffsets": [
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -0.75379527,
|
||||
"z": 1.0256639
|
||||
},
|
||||
"poseTypes": [
|
||||
"STAND"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -0.7437379,
|
||||
"z": 1.2329822
|
||||
},
|
||||
"poseTypes": [
|
||||
"WALK"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -0.7830492,
|
||||
"z": 1.0563521
|
||||
},
|
||||
"poseTypes": [
|
||||
"HOVER"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -0.7830492,
|
||||
"z": 1.0563521
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLY"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -0.7830492,
|
||||
"z": 1.0563521
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLOAT"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -0.8467945,
|
||||
"z": 1.231192
|
||||
},
|
||||
"poseTypes": [
|
||||
"SWIM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -0.7830492,
|
||||
"z": 1.0563521
|
||||
},
|
||||
"poseTypes": [
|
||||
"GLIDE"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"behaviour": {
|
||||
"herd": {
|
||||
"maxSize": "5",
|
||||
"toleratedLeaders": [
|
||||
@@ -83,37 +263,15 @@
|
||||
"tier": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"riding": {
|
||||
"behaviours": {
|
||||
"LIQUID": {
|
||||
"key": "cobblemon:liquid/dolphin",
|
||||
"stats": {
|
||||
"SPEED": "50-100",
|
||||
"ACCELERATION": "50-100",
|
||||
"SKILL": "50-100",
|
||||
"JUMP": "50-100",
|
||||
"STAMINA": "50-100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"seats": [
|
||||
{
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0.4,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0.4,
|
||||
"z": 1
|
||||
}
|
||||
"moving": {
|
||||
"swim": {
|
||||
"canBreatheUnderwater": true,
|
||||
"canSwimInLava": false,
|
||||
"canSwimInWater": true,
|
||||
"swimSpeed": "0.2"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"drops": {
|
||||
"amount": 4,
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
"riding": {
|
||||
"behaviours": {
|
||||
"AIR": {
|
||||
"key": "cobblemon:air/bird",
|
||||
"key": "cobblemon:air/jet",
|
||||
"rideSounds": [
|
||||
{
|
||||
"muffleEnabled": true,
|
||||
@@ -90,6 +90,17 @@
|
||||
"SPEED": "10-40",
|
||||
"STAMINA": "10-40"
|
||||
}
|
||||
},
|
||||
"LIQUID": {
|
||||
"key": "cobblemon:liquid/dolphin",
|
||||
"rideSounds": [],
|
||||
"stats": {
|
||||
"ACCELERATION": "30-65",
|
||||
"JUMP": "55-85",
|
||||
"SKILL": "30-65",
|
||||
"SPEED": "30-65",
|
||||
"STAMINA": "55-85"
|
||||
}
|
||||
}
|
||||
},
|
||||
"seats": [
|
||||
|
||||
@@ -46,18 +46,128 @@
|
||||
"baseFriendship": 50,
|
||||
"baseScale": 1.1,
|
||||
"hitbox": {
|
||||
"width": 1.1,
|
||||
"height": 2,
|
||||
"fixed": false
|
||||
"fixed": false,
|
||||
"width": 1.1
|
||||
},
|
||||
"riding": {
|
||||
"behaviours": {
|
||||
"LAND": {
|
||||
"key": "cobblemon:land/horse",
|
||||
"rideSounds": [],
|
||||
"stats": {
|
||||
"ACCELERATION": "30-65",
|
||||
"JUMP": "10-40",
|
||||
"SKILL": "10-40",
|
||||
"SPEED": "10-40",
|
||||
"STAMINA": "55-85"
|
||||
}
|
||||
},
|
||||
"LIQUID": {
|
||||
"key": "cobblemon:liquid/boat",
|
||||
"rideSounds": [],
|
||||
"stats": {
|
||||
"ACCELERATION": "30-65",
|
||||
"JUMP": "0-10",
|
||||
"SKILL": "30-65",
|
||||
"SPEED": "0-10",
|
||||
"STAMINA": "0-10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"seats": [
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
},
|
||||
"poseOffsets": [
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.0014235907,
|
||||
"y": -1.7580168,
|
||||
"z": 0.18322733
|
||||
},
|
||||
"poseTypes": [
|
||||
"STAND"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.06559907,
|
||||
"y": -1.8229002,
|
||||
"z": 0.23897748
|
||||
},
|
||||
"poseTypes": [
|
||||
"WALK"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.04793154,
|
||||
"y": -1.7881656,
|
||||
"z": 0.15857956
|
||||
},
|
||||
"poseTypes": [
|
||||
"HOVER"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.04793154,
|
||||
"y": -1.7881656,
|
||||
"z": 0.15857956
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLY"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.06559907,
|
||||
"y": -1.8229002,
|
||||
"z": 0.23897748
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLOAT"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.06559907,
|
||||
"y": -1.8229002,
|
||||
"z": 0.23897748
|
||||
},
|
||||
"poseTypes": [
|
||||
"SWIM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.04793154,
|
||||
"y": -1.7881656,
|
||||
"z": 0.15857956
|
||||
},
|
||||
"poseTypes": [
|
||||
"GLIDE"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"behaviour": {
|
||||
"herd": {
|
||||
"maxSize": "4"
|
||||
},
|
||||
"moving": {
|
||||
"swim": {
|
||||
"canSwimInLava": true
|
||||
},
|
||||
"walk": {
|
||||
"walkSpeed": 0.15
|
||||
}
|
||||
},
|
||||
"herd": {
|
||||
"maxSize": "4"
|
||||
}
|
||||
},
|
||||
"drops": {
|
||||
@@ -276,55 +386,17 @@
|
||||
"preEvolution": "rhyhorn",
|
||||
"evolutions": [
|
||||
{
|
||||
"id": "rhydon_rhyperior",
|
||||
"variant": "trade",
|
||||
"result": "rhyperior",
|
||||
"consumeHeldItem": true,
|
||||
"id": "rhydon_rhyperior",
|
||||
"learnableMoves": [],
|
||||
"requirements": [
|
||||
{
|
||||
"variant": "held_item",
|
||||
"itemCondition": "cobblemon:protector"
|
||||
"itemCondition": "cobblemon:protector",
|
||||
"variant": "held_item"
|
||||
}
|
||||
]
|
||||
],
|
||||
"result": "rhyperior",
|
||||
"variant": "trade"
|
||||
}
|
||||
],
|
||||
"riding": {
|
||||
"stats": {
|
||||
"SPEED": {
|
||||
"ranges": {
|
||||
"LAND": "5-20",
|
||||
"LIQUID": "5-20"
|
||||
}
|
||||
},
|
||||
"ACCELERATION": {
|
||||
"ranges": {
|
||||
"LAND": "50-80",
|
||||
"LIQUID": "50-80"
|
||||
}
|
||||
},
|
||||
"SKILL": {
|
||||
"ranges": {
|
||||
"LAND": "20-40",
|
||||
"LIQUID": "20-40"
|
||||
}
|
||||
},
|
||||
"JUMP": {
|
||||
"ranges": {
|
||||
"LAND": "5-10",
|
||||
"LIQUID": "5-10"
|
||||
}
|
||||
},
|
||||
"STAMINA": {
|
||||
"ranges": {
|
||||
"LAND": "25-65",
|
||||
"LIQUID": "25-65"
|
||||
}
|
||||
}
|
||||
},
|
||||
"seats": [],
|
||||
"behaviour": {
|
||||
"key": "cobblemon:land/horse"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -46,16 +46,107 @@
|
||||
"baseFriendship": 50,
|
||||
"baseScale": 1,
|
||||
"hitbox": {
|
||||
"width": 1.2,
|
||||
"height": 1.4,
|
||||
"fixed": false
|
||||
"fixed": false,
|
||||
"width": 1.2
|
||||
},
|
||||
"behaviour": {
|
||||
"moving": {
|
||||
"swim": {
|
||||
"canSwimInLava": true
|
||||
"riding": {
|
||||
"behaviours": {
|
||||
"LAND": {
|
||||
"key": "cobblemon:land/horse",
|
||||
"rideSounds": [],
|
||||
"stats": {
|
||||
"ACCELERATION": "0-10",
|
||||
"JUMP": "0-10",
|
||||
"SKILL": "30-65",
|
||||
"SPEED": "10-40",
|
||||
"STAMINA": "55-85"
|
||||
}
|
||||
}
|
||||
},
|
||||
"seats": [
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
},
|
||||
"poseOffsets": [
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.0016335993,
|
||||
"y": -1.1859827,
|
||||
"z": -0.50283176
|
||||
},
|
||||
"poseTypes": [
|
||||
"STAND"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0048732185,
|
||||
"y": -1.1896727,
|
||||
"z": -0.49589556
|
||||
},
|
||||
"poseTypes": [
|
||||
"WALK"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.0017163849,
|
||||
"y": -1.2334154,
|
||||
"z": -0.40224022
|
||||
},
|
||||
"poseTypes": [
|
||||
"HOVER"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.0017163849,
|
||||
"y": -1.2334154,
|
||||
"z": -0.40224022
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLY"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0048732185,
|
||||
"y": -1.1896727,
|
||||
"z": -0.49589556
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLOAT"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0048732185,
|
||||
"y": -1.1896727,
|
||||
"z": -0.49589556
|
||||
},
|
||||
"poseTypes": [
|
||||
"SWIM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.0017163849,
|
||||
"y": -1.2334154,
|
||||
"z": -0.40224022
|
||||
},
|
||||
"poseTypes": [
|
||||
"GLIDE"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"behaviour": {
|
||||
"herd": {
|
||||
"maxSize": "9",
|
||||
"toleratedLeaders": [
|
||||
@@ -64,6 +155,14 @@
|
||||
"tier": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"moving": {
|
||||
"swim": {
|
||||
"canSwimInLava": true
|
||||
},
|
||||
"walk": {
|
||||
"walkSpeed": 0.2
|
||||
}
|
||||
}
|
||||
},
|
||||
"drops": {
|
||||
@@ -232,42 +331,19 @@
|
||||
],
|
||||
"evolutions": [
|
||||
{
|
||||
"id": "rhyhorn_rhydon",
|
||||
"variant": "level_up",
|
||||
"result": "rhydon",
|
||||
"consumeHeldItem": false,
|
||||
"id": "rhyhorn_rhydon",
|
||||
"learnableMoves": [
|
||||
"hammerarm"
|
||||
],
|
||||
"requirements": [
|
||||
{
|
||||
"variant": "level",
|
||||
"minLevel": 42
|
||||
"minLevel": 42,
|
||||
"variant": "level"
|
||||
}
|
||||
]
|
||||
],
|
||||
"result": "rhydon",
|
||||
"variant": "level_up"
|
||||
}
|
||||
],
|
||||
"riding": {
|
||||
"stats": {
|
||||
"SPEED": {
|
||||
"ranges": "20-50"
|
||||
},
|
||||
"ACCELERATION": {
|
||||
"ranges": "30-60"
|
||||
},
|
||||
"SKILL": {
|
||||
"ranges": "20-40"
|
||||
},
|
||||
"JUMP": {
|
||||
"ranges": "5-10"
|
||||
},
|
||||
"STAMINA": {
|
||||
"ranges": "25-55"
|
||||
}
|
||||
},
|
||||
"seats": [],
|
||||
"behaviour": {
|
||||
"key": "cobblemon:land/vehicle"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -43,15 +43,145 @@
|
||||
"catchRate": 45,
|
||||
"eggCycles": 20,
|
||||
"baseFriendship": 50,
|
||||
"features": [
|
||||
"paldean",
|
||||
"bull_breed"
|
||||
],
|
||||
"baseScale": 1.3,
|
||||
"hitbox": {
|
||||
"width": 1.3,
|
||||
"height": 1.4,
|
||||
"fixed": false
|
||||
"fixed": false,
|
||||
"width": 1.3
|
||||
},
|
||||
"riding": {
|
||||
"behaviours": {
|
||||
"LAND": {
|
||||
"key": "cobblemon:land/horse",
|
||||
"rideSounds": [],
|
||||
"stats": {
|
||||
"ACCELERATION": "10-40",
|
||||
"JUMP": "30-65",
|
||||
"SKILL": "10-40",
|
||||
"SPEED": "55-85",
|
||||
"STAMINA": "55-85"
|
||||
}
|
||||
}
|
||||
},
|
||||
"seats": [
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
},
|
||||
"poseOffsets": [
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.004955834,
|
||||
"y": -1.5021043,
|
||||
"z": -0.13071083
|
||||
},
|
||||
"poseTypes": [
|
||||
"STAND"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.00920631,
|
||||
"y": -1.4530607,
|
||||
"z": -0.125
|
||||
},
|
||||
"poseTypes": [
|
||||
"WALK"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -1.625,
|
||||
"z": -0.125
|
||||
},
|
||||
"poseTypes": [
|
||||
"HOVER"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -1.625,
|
||||
"z": -0.125
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLY"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.00920631,
|
||||
"y": -1.4530607,
|
||||
"z": -0.125
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLOAT"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.00920631,
|
||||
"y": -1.4530607,
|
||||
"z": -0.125
|
||||
},
|
||||
"poseTypes": [
|
||||
"SWIM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -1.625,
|
||||
"z": -0.125
|
||||
},
|
||||
"poseTypes": [
|
||||
"GLIDE"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"behaviour": {
|
||||
"herd": {
|
||||
"maxSize": "9",
|
||||
"toleratedLeaders": [
|
||||
{
|
||||
"pokemon": "bouffalant",
|
||||
"tier": 1
|
||||
},
|
||||
{
|
||||
"pokemon": "miltank",
|
||||
"tier": 2
|
||||
},
|
||||
{
|
||||
"pokemon": "tauros",
|
||||
"tier": 3
|
||||
},
|
||||
{
|
||||
"pokemon": "tauros bull_breed=combat",
|
||||
"tier": 3
|
||||
},
|
||||
{
|
||||
"pokemon": "tauros bull_breed=aqua",
|
||||
"tier": 4
|
||||
},
|
||||
{
|
||||
"pokemon": "tauros bull_breed=blaze",
|
||||
"tier": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"moving": {
|
||||
"swim": {
|
||||
"canSwimInLava": false,
|
||||
"canSwimInWater": true,
|
||||
"swimSpeed": "0.25"
|
||||
}
|
||||
}
|
||||
},
|
||||
"drops": {
|
||||
"amount": 5,
|
||||
@@ -241,6 +371,102 @@
|
||||
"special_defence": 0,
|
||||
"speed": 0
|
||||
},
|
||||
"riding": {
|
||||
"behaviours": {
|
||||
"LAND": {
|
||||
"key": "cobblemon:land/horse",
|
||||
"rideSounds": [],
|
||||
"stats": {
|
||||
"ACCELERATION": "10-40",
|
||||
"JUMP": "30-65",
|
||||
"SKILL": "30-65",
|
||||
"SPEED": "30-65",
|
||||
"STAMINA": "55-85"
|
||||
}
|
||||
}
|
||||
},
|
||||
"seats": [
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
},
|
||||
"poseOffsets": [
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.004955834,
|
||||
"y": -1.5021043,
|
||||
"z": -0.13071083
|
||||
},
|
||||
"poseTypes": [
|
||||
"STAND"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.00920631,
|
||||
"y": -1.4530607,
|
||||
"z": -0.125
|
||||
},
|
||||
"poseTypes": [
|
||||
"WALK"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -1.625,
|
||||
"z": -0.125
|
||||
},
|
||||
"poseTypes": [
|
||||
"HOVER"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -1.625,
|
||||
"z": -0.125
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLY"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.00920631,
|
||||
"y": -1.4530607,
|
||||
"z": -0.125
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLOAT"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.00920631,
|
||||
"y": -1.4530607,
|
||||
"z": -0.125
|
||||
},
|
||||
"poseTypes": [
|
||||
"SWIM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -1.625,
|
||||
"z": -0.125
|
||||
},
|
||||
"poseTypes": [
|
||||
"GLIDE"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"moves": [
|
||||
"1:tackle",
|
||||
"1:tailwhip",
|
||||
@@ -364,6 +590,17 @@
|
||||
"special_defence": 0,
|
||||
"speed": 0
|
||||
},
|
||||
"behaviour": {
|
||||
"herd": {
|
||||
"maxSize": "9",
|
||||
"toleratedLeaders": [
|
||||
{
|
||||
"pokemon": "tauros bull_breed=blaze",
|
||||
"tier": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"moves": [
|
||||
"1:tackle",
|
||||
"1:tailwhip",
|
||||
@@ -451,18 +688,7 @@
|
||||
"tutor:zenheadbutt"
|
||||
],
|
||||
"evolutions": [],
|
||||
"battleOnly": false,
|
||||
"behaviour": {
|
||||
"herd": {
|
||||
"maxSize": "9",
|
||||
"toleratedLeaders": [
|
||||
{
|
||||
"pokemon": "tauros bull_breed=blaze",
|
||||
"tier": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
"battleOnly": false
|
||||
},
|
||||
{
|
||||
"name": "Paldea-Aqua",
|
||||
@@ -503,6 +729,17 @@
|
||||
"special_defence": 0,
|
||||
"speed": 0
|
||||
},
|
||||
"behaviour": {
|
||||
"herd": {
|
||||
"maxSize": "9",
|
||||
"toleratedLeaders": [
|
||||
{
|
||||
"pokemon": "tauros bull_breed=aqua",
|
||||
"tier": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"moves": [
|
||||
"1:tackle",
|
||||
"1:tailwhip",
|
||||
@@ -588,87 +825,11 @@
|
||||
"tutor:zenheadbutt"
|
||||
],
|
||||
"evolutions": [],
|
||||
"battleOnly": false,
|
||||
"behaviour": {
|
||||
"herd": {
|
||||
"maxSize": "9",
|
||||
"toleratedLeaders": [
|
||||
{
|
||||
"pokemon": "tauros bull_breed=aqua",
|
||||
"tier": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
"battleOnly": false
|
||||
}
|
||||
],
|
||||
"riding": {
|
||||
"stats": {
|
||||
"SPEED": {
|
||||
"ranges": {
|
||||
"LAND": "30-60",
|
||||
"LIQUID": "5-20"
|
||||
}
|
||||
},
|
||||
"ACCELERATION": {
|
||||
"ranges": {
|
||||
"LAND": "20-70",
|
||||
"LIQUID": "50-80"
|
||||
}
|
||||
},
|
||||
"SKILL": {
|
||||
"ranges": {
|
||||
"LAND": "40-85",
|
||||
"LIQUID": "20-40"
|
||||
}
|
||||
},
|
||||
"JUMP": {
|
||||
"ranges": {
|
||||
"LAND": "10-15",
|
||||
"LIQUID": "5-10"
|
||||
}
|
||||
},
|
||||
"STAMINA": {
|
||||
"ranges": {
|
||||
"LAND": "40-85",
|
||||
"LIQUID": "25-65"
|
||||
}
|
||||
}
|
||||
},
|
||||
"seats": [],
|
||||
"behaviour": {
|
||||
"key": "cobblemon:land/horse"
|
||||
}
|
||||
},
|
||||
"behaviour": {
|
||||
"herd": {
|
||||
"maxSize": "9",
|
||||
"toleratedLeaders": [
|
||||
{
|
||||
"pokemon": "bouffalant",
|
||||
"tier": 1
|
||||
},
|
||||
{
|
||||
"pokemon": "miltank",
|
||||
"tier": 2
|
||||
},
|
||||
{
|
||||
"pokemon": "tauros",
|
||||
"tier": 3
|
||||
},
|
||||
{
|
||||
"pokemon": "tauros bull_breed=combat",
|
||||
"tier": 3
|
||||
},
|
||||
{
|
||||
"pokemon": "tauros bull_breed=aqua",
|
||||
"tier": 4
|
||||
},
|
||||
{
|
||||
"pokemon": "tauros bull_breed=blaze",
|
||||
"tier": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
"features": [
|
||||
"paldean",
|
||||
"bull_breed"
|
||||
]
|
||||
}
|
||||
@@ -93,9 +93,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.017037265,
|
||||
"y": -1.2800963,
|
||||
"z": -0.30365703
|
||||
"x": -0.013957404,
|
||||
"y": -1.4664029,
|
||||
"z": -0.13922381
|
||||
},
|
||||
"poseTypes": [
|
||||
"HOVER"
|
||||
@@ -103,9 +103,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.017037265,
|
||||
"y": -1.2800963,
|
||||
"z": -0.30365703
|
||||
"x": -0.013957404,
|
||||
"y": -1.4664029,
|
||||
"z": -0.13922381
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLY"
|
||||
@@ -113,9 +113,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.017037265,
|
||||
"y": -1.2800963,
|
||||
"z": -0.30365703
|
||||
"x": -0.013957404,
|
||||
"y": -1.4664029,
|
||||
"z": -0.13922381
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLOAT"
|
||||
@@ -123,9 +123,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.017037265,
|
||||
"y": -1.2800963,
|
||||
"z": -0.30365703
|
||||
"x": 0.041163683,
|
||||
"y": -1.4031144,
|
||||
"z": -0.28313723
|
||||
},
|
||||
"poseTypes": [
|
||||
"SWIM"
|
||||
@@ -133,9 +133,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": -0.017037265,
|
||||
"y": -1.2800963,
|
||||
"z": -0.30365703
|
||||
"x": -0.013957404,
|
||||
"y": -1.4664029,
|
||||
"z": -0.13922381
|
||||
},
|
||||
"poseTypes": [
|
||||
"GLIDE"
|
||||
|
||||
@@ -140,9 +140,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.014060979,
|
||||
"y": -2.1333303,
|
||||
"z": 0.62648964
|
||||
"x": 0.018078402,
|
||||
"y": -2.3242362,
|
||||
"z": 0.62526023
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLOAT"
|
||||
@@ -150,9 +150,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.014060979,
|
||||
"y": -2.7658293,
|
||||
"z": 0.55346745
|
||||
"x": 0.018078402,
|
||||
"y": -2.3242362,
|
||||
"z": 0.62526023
|
||||
},
|
||||
"poseTypes": [
|
||||
"SWIM"
|
||||
@@ -160,9 +160,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.0,
|
||||
"y": -0.98749983,
|
||||
"z": 0.28125027
|
||||
"x": 0.018078402,
|
||||
"y": -2.3242362,
|
||||
"z": 0.62526023
|
||||
},
|
||||
"poseTypes": [
|
||||
"GLIDE"
|
||||
|
||||
@@ -82,9 +82,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.045301527,
|
||||
"y": -2.1100652,
|
||||
"z": -0.0043179393
|
||||
"x": 0.046585813,
|
||||
"y": -2.0097132,
|
||||
"z": 0.039164737
|
||||
},
|
||||
"poseTypes": [
|
||||
"WALK"
|
||||
@@ -92,9 +92,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.03896393,
|
||||
"y": -2.1481323,
|
||||
"z": 0.18140154
|
||||
"x": 0.0,
|
||||
"y": -2.3038323,
|
||||
"z": 0.41690227
|
||||
},
|
||||
"poseTypes": [
|
||||
"HOVER"
|
||||
@@ -102,9 +102,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.03896393,
|
||||
"y": -2.1481323,
|
||||
"z": 0.18140154
|
||||
"x": 0.0,
|
||||
"y": -2.3038323,
|
||||
"z": 0.41690227
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLY"
|
||||
@@ -112,9 +112,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.03896393,
|
||||
"y": -2.1481323,
|
||||
"z": 0.18140154
|
||||
"x": 0.0,
|
||||
"y": -2.3038323,
|
||||
"z": 0.41690227
|
||||
},
|
||||
"poseTypes": [
|
||||
"FLOAT"
|
||||
@@ -122,9 +122,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.045301527,
|
||||
"y": -2.1100652,
|
||||
"z": -0.0043179393
|
||||
"x": 0.046585813,
|
||||
"y": -2.0097132,
|
||||
"z": 0.039164737
|
||||
},
|
||||
"poseTypes": [
|
||||
"SWIM"
|
||||
@@ -132,9 +132,9 @@
|
||||
},
|
||||
{
|
||||
"offset": {
|
||||
"x": 0.03896393,
|
||||
"y": -2.1481323,
|
||||
"z": 0.18140154
|
||||
"x": 0.0,
|
||||
"y": -2.3038323,
|
||||
"z": 0.41690227
|
||||
},
|
||||
"poseTypes": [
|
||||
"GLIDE"
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
"catchRate": 45,
|
||||
"eggCycles": 20,
|
||||
"baseFriendship": 50,
|
||||
"baseScale": 0.75,
|
||||
"baseScale": 0.9,
|
||||
"hitbox": {
|
||||
"width": 1.85,
|
||||
"height": 3.2,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user