Compare commits

..
Author SHA1 Message Date
Waldleufer fde8a03c5f more cleanup [skip-ci] 2024-06-18 19:31:29 +02:00
Waldleufer df273a0075 cleanup [skip-ci] 2024-06-18 19:25:39 +02:00
18 changed files with 160 additions and 242 deletions

No files matched your search

@@ -246,10 +246,6 @@ object CobblemonSounds : PlatformRegistry<Registry<SoundEvent>, RegistryKey<Regi
val IMPACT_STEEL = this.create("impact.steel")
@JvmField
val IMPACT_WATER = this.create("impact.water")
@JvmField
val SUPER_EFFECTIVE = this.create("supereffective")
@JvmField
val NOT_VERY_EFFECTIVE = this.create("notveryeffective")
@JvmField
val TUMBLESTONE_SOUNDS = BlockSoundGroup(1f, 1f,
@@ -21,15 +21,13 @@ import net.minecraft.registry.RegistryKeys
/**
* An action effect keyframe that plays a positioned sound for all matching entities.
*
* @author Hiroku, Waldleufer
* @author Hiroku
* @since January 21st, 2024
*/
class EntitySoundActionEffectKeyframe : ConditionalActionEffectKeyframe(), EntityConditionalActionEffectKeyframe {
override val entityCondition = "q.entity.is_user".asExpressionLike()
var sound: String? = null
val delay: ExpressionLike = "0".asExpressionLike()
val volume: ExpressionLike = "1".asExpressionLike()
val pitch: ExpressionLike = "1".asExpressionLike()
override fun playWhenTrue(context: ActionEffectContext): CompletableFuture<Unit> {
val entities = context.providers
@@ -42,13 +40,9 @@ class EntitySoundActionEffectKeyframe : ConditionalActionEffectKeyframe(), Entit
sound
}?.asIdentifierDefaultingNamespace() ?: return skip()
val volumeValue = volume.resolveFloat(context.runtime)
val pitchValue = pitch.resolveFloat(context.runtime)
entities.forEach { entity ->
val soundEvent =
entity.world.registryManager.get(RegistryKeys.SOUND_EVENT).get(soundIdentifier) ?: return skip()
entity.playSound(soundEvent, volumeValue, pitchValue)
val soundEvent = entity.world.registryManager.get(RegistryKeys.SOUND_EVENT).get(soundIdentifier) ?: return skip()
entity.playSound(soundEvent, 1f, 1f)
}
return delayedFuture(seconds = delay.resolveFloat(context.runtime), serverThread = true)
@@ -92,6 +92,7 @@ object ShowdownInterpreter {
updateInstructionParser["-mustrecharge"] = { _, _, message, _ -> RechargeInstruction(message) }
updateInstructionParser["replace"] = { _, _, message, _ -> ReplaceInstruction(message) }
updateInstructionParser["-resisted"] = { _, _, message, _ -> ResistedInstruction(message) }
updateInstructionParser["-resisted"] = { _, _, message, _ -> ResistedInstruction(message) }
updateInstructionParser["-setboost"] = { _, _, message, _ -> SetBoostInstruction(message) }
updateInstructionParser["-sideend"] = { _, _, message, _ -> SideEndInstruction(message) }
updateInstructionParser["-sidestart"] = { _, _, message, _ -> SideStartInstruction(message) }
@@ -1,17 +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.battles.interpreter.instructions
import com.cobblemon.mod.common.api.battles.interpreter.BattleMessage
import com.cobblemon.mod.common.battles.dispatch.InterpreterInstruction
interface EffectivenessInstruction : InterpreterInstruction {
val message: BattleMessage
val typeOfEffectiveness: String
}
@@ -11,6 +11,7 @@ package com.cobblemon.mod.common.battles.interpreter.instructions
import com.cobblemon.mod.common.api.battles.interpreter.BattleMessage
import com.cobblemon.mod.common.api.battles.model.PokemonBattle
import com.cobblemon.mod.common.api.text.red
import com.cobblemon.mod.common.battles.dispatch.InterpreterInstruction
import com.cobblemon.mod.common.util.battleLang
/**
@@ -20,8 +21,7 @@ import com.cobblemon.mod.common.util.battleLang
* @author Hiroku
* @since October 3rd, 2022
*/
class ImmuneInstruction(override val message: BattleMessage): EffectivenessInstruction {
override val typeOfEffectiveness: String = "immune"
class ImmuneInstruction(val message: BattleMessage): InterpreterInstruction {
override fun invoke(battle: PokemonBattle) {
battle.dispatchWaiting {
@@ -111,11 +111,6 @@ class MoveInstruction(
}
}
val moveEffectiveness = subsequentInstructions.filterIsInstance<EffectivenessInstruction>().mapNotNull { it.typeOfEffectiveness}
runtime.environment.getQueryStruct().addFunction("effectiveness") { params ->
return@addFunction StringValue(moveEffectiveness.firstOrNull() ?: "normal")
}
val hurtTargets = subsequentInstructions.filterIsInstance<DamageInstruction>().mapNotNull { it.expectedTarget }
runtime.environment.getQueryStruct().addFunction("hurt") { params ->
if (params.params.size == 0) {
@@ -10,6 +10,7 @@ package com.cobblemon.mod.common.battles.interpreter.instructions
import com.cobblemon.mod.common.api.battles.interpreter.BattleMessage
import com.cobblemon.mod.common.api.battles.model.PokemonBattle
import com.cobblemon.mod.common.battles.dispatch.InterpreterInstruction
import com.cobblemon.mod.common.util.battleLang
/**
@@ -19,8 +20,7 @@ import com.cobblemon.mod.common.util.battleLang
* @author Hunter
* @since August 18th, 2022
*/
class ResistedInstruction(override val message: BattleMessage): EffectivenessInstruction {
override val typeOfEffectiveness: String = "resisted"
class ResistedInstruction(val message: BattleMessage): InterpreterInstruction {
override fun invoke(battle: PokemonBattle) {
battle.dispatchGo {
@@ -10,6 +10,7 @@ package com.cobblemon.mod.common.battles.interpreter.instructions
import com.cobblemon.mod.common.api.battles.interpreter.BattleMessage
import com.cobblemon.mod.common.api.battles.model.PokemonBattle
import com.cobblemon.mod.common.battles.dispatch.InterpreterInstruction
import com.cobblemon.mod.common.util.battleLang
/**
@@ -19,8 +20,7 @@ import com.cobblemon.mod.common.util.battleLang
* @author Hunter
* @since August 18th, 2022
*/
class SuperEffectiveInstruction(override val message: BattleMessage): EffectivenessInstruction {
override val typeOfEffectiveness: String = "superEffective"
class SuperEffectiveInstruction(val message: BattleMessage): InterpreterInstruction {
override fun invoke(battle: PokemonBattle) {
battle.dispatchGo {
@@ -441,225 +441,225 @@
"sounds": [ "cobblemon:effective" ]
},
"notveryeffective": {
"sounds": [ { "name": "cobblemon:attacks/effectiveness_layer/not_very_effective_layer", "volume": 0.8 } ]
"sounds": [ "cobblemon:notveryeffective" ]
},
"supereffective": {
"sounds": [ { "name": "cobblemon:attacks/effectiveness_layer/super_effective_layer", "volume": 0.6 } ]
"sounds": [ "cobblemon:supereffective" ]
},
"impact.normal": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_8", "volume": 0.8 }
]
},
"impact.ice": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ice_8", "volume": 0.8 }
]
},
"impact.water": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_water_8", "volume": 0.8 }
]
},
"impact.fire": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fire_8", "volume": 0.8 }
]
},
"impact.electric": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_electric_8", "volume": 0.8 }
]
},
"impact.grass": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_grass_8", "volume": 0.8 }
]
},
"impact.fighting": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fighting_8", "volume": 0.8 }
]
},
"impact.poison": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_poison_8", "volume": 0.8 }
]
},
"impact.ground": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ground_8", "volume": 0.8 }
]
},
"impact.flying": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_flying_8", "volume": 0.8 }
]
},
"impact.psychic": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_psychic_8", "volume": 0.8 }
]
},
"impact.bug": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_bug_8", "volume": 0.8 }
]
},
"impact.rock": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_rock_8", "volume": 0.8 }
]
},
"impact.ghost": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_ghost_8", "volume": 0.8 }
]
},
"impact.dragon": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dragon_8", "volume": 0.8 }
]
},
"impact.dark": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_dark_8", "volume": 0.8 }
]
},
"impact.steel": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_steel_8", "volume": 0.8 }
]
},
"impact.fairy": {
"sounds": [
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_1", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_2", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_3", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_4", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_5", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_6", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_7", "volume": 1.0 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_8", "volume": 1.0 }
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_1", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_2", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_3", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_4", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_5", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_6", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_7", "volume": 0.8 },
{ "name": "cobblemon:attacks/impact_generic/impact_generic_fairy_8", "volume": 0.8 }
]
},
"status.paralysis.actor": {
@@ -15,10 +15,6 @@
"expressions": ["q.play_animation(q.bedrock_stateful('particle_dummy', 'dragon_claw_target'))"],
"delay": 0.1
},
{
"type": "run_action_effect",
"actionEffect": "cobblemon:generic_effectiveness"
},
{
"type": "remove_holds",
"holds": ["effects"]
@@ -20,10 +20,6 @@
"entityCondition": "q.entity.is_user == false && q.missed(q.entity.uuid) == false",
"delay": 0.1
},
{
"type": "run_action_effect",
"actionEffect": "cobblemon:generic_effectiveness"
},
{
"type": "remove_holds",
"holds": ["effects"]
@@ -1,19 +0,0 @@
{
"condition": "q.move.damage_category != 'status' && q.effectiveness != 'immune'",
"timeline": [
{
"type": "entity_sound",
"entityCondition": "q.effectiveness == 'superEffective' && q.entity.is_user == false && q.missed(q.entity.uuid) == false",
"sound": "cobblemon:supereffective",
"pitch": 1.0,
"volume": 1.6
},
{
"type": "entity_sound",
"entityCondition": "q.effectiveness == 'resisted' && q.entity.is_user == false && q.missed(q.entity.uuid) == false",
"sound": "cobblemon:notveryeffective",
"pitch": 1.0,
"volume": 1.0
}
]
}
@@ -11,38 +11,18 @@
},
{
"type": "sequence",
"condition": "q.move.damage_category != 'status' && q.effectiveness != 'immune'",
"condition": "q.move.damage_category != 'status'",
"keyframes": [
{
"type": "entity_sound",
"entityCondition": "q.effectiveness == 'normal' && q.entity.is_user == false && q.missed(q.entity.uuid) == false",
"sound": "'cobblemon:impact.' + q.move.type",
"pitch": 1.0,
"volume": 1.0
},
{
"type": "entity_sound",
"entityCondition": "q.effectiveness == 'superEffective' && q.entity.is_user == false && q.missed(q.entity.uuid) == false",
"sound": "'cobblemon:impact.' + q.move.type",
"pitch": 1.0,
"volume": 0.9
},
{
"type": "entity_sound",
"entityCondition": "q.effectiveness == 'resisted' && q.entity.is_user == false && q.missed(q.entity.uuid) == false",
"sound": "'cobblemon:impact.' + q.move.type",
"pitch": 1.0,
"volume": 0.6
"entityCondition": "q.entity.is_user == false && q.missed(q.entity.uuid) == false",
"sound": "'cobblemon:impact.' + q.move.type"
},
{
"type": "entity_particles",
"entityCondition": "q.entity.is_user == false && q.missed(q.entity.uuid) == false",
"effect": "'cobblemon:impact_' + q.move.type",
"locator": "target"
},
{
"type": "run_action_effect",
"actionEffect": "cobblemon:generic_effectiveness"
}
]
},
+1 -5
View File
@@ -9,8 +9,6 @@ from scriptutils import printCobblemonHeader, print_list_filtered, print_cobblem
print_cobblemon_script_footer, print_problems_and_paths, print_warning, sanitize_pokemon, print_separator
DEFAULT_POKEMON_MODELS_PATH = "../common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/"
# Download the CSV file
ASSETS_CSV_URL = "https://docs.google.com/spreadsheets/d/e/2PACX-1vSTisDTkJvV0GzKV1zKjAPdMAQAO7znWxjEWXrM1gZPUVmsTU91oy54aJGMpbbvOqAOg03ER1wl7eeA/pub?gid=0&single=true&output=csv"
@@ -63,6 +61,7 @@ def main(print_missing_models=True, print_missing_animations=True):
cries_in_game,
pokemon_in_game,
cries_on_repo):
# Skip pokemon that are not in the game yet
if this_pokemon_in_game == "❌":
continue
cry_in_game = str(cry_in_game).strip() # remove whitespace
@@ -88,9 +87,6 @@ def main(print_missing_models=True, print_missing_animations=True):
'sound_effects_and_keyframes': False,
}
# Construct the path to the model file
if pokemon_name == "Rattata [Alolan]":
print(pokemon_name)
# Try to convert gen_number to an integer and handle ValueError
try:
if pokemon_form:
# Check if the form is a regional form or F or M, if not, use the default model file