Fix dropType de-serialization

enum edition
This commit is contained in:
StartForKiller
2023-06-04 16:50:56 -04:00
committed by KingRainbow44
parent ecb6145e54
commit b5595c3fab
2 changed files with 14 additions and 6 deletions

View File

@@ -5,6 +5,7 @@ import com.google.protobuf.InvalidProtocolBufferException;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.GameData;
import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction;
import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction.DropType;
import emu.grasscutter.data.binout.config.ConfigLevelEntity;
import emu.grasscutter.game.ability.Ability;
import emu.grasscutter.game.entity.EntityAvatar;
@@ -28,8 +29,8 @@ public final class ActionGenerateElemBall extends AbilityActionHandler {
return false;
}
// Check if we should allow elem ball generation
if (action.dropType == 0x0) {
//Check if we should allow elem ball generation
if(action.dropType == DropType.LevelControl) {
String levelEntityConfig = owner.getScene().getSceneData().getLevelEntityConfig();
ConfigLevelEntity config = GameData.getConfigLevelEntityDataMap().get(levelEntityConfig);
if (config != null
@@ -38,8 +39,8 @@ public final class ActionGenerateElemBall extends AbilityActionHandler {
Grasscutter.getLogger().warn("This level config don't allow element balls");
return true;
}
} else if (action.dropType == 0x1) {
if (owner.getScene().getSceneData().getSceneType() != SceneType.SCENE_WORLD) {
} else if(action.dropType == DropType.BigWorldOnly) {
if(owner.getScene().getSceneData().getSceneType() != SceneType.SCENE_WORLD) {
Grasscutter.getLogger().warn("This level config only allows element balls on big world");
return true;
}