Fix wrong materials used for emblem generation

This commit is contained in:
Melledy
2025-12-13 16:11:51 -08:00
parent 4d14099f11
commit e5ffb1743a
5 changed files with 16 additions and 14 deletions

View File

@@ -1,7 +1,6 @@
package emu.nebula.data.resources; package emu.nebula.data.resources;
import emu.nebula.data.BaseDef; import emu.nebula.data.BaseDef;
import emu.nebula.data.GameData;
import emu.nebula.data.ResourceType; import emu.nebula.data.ResourceType;
import lombok.Getter; import lombok.Getter;
@@ -17,8 +16,4 @@ public class CharGemDef extends BaseDef {
public int getId() { public int getId() {
return Id; return Id;
} }
public CharGemSlotControlDef getControlData() {
return GameData.getCharGemSlotControlDataTable().get(this.Type);
}
} }

View File

@@ -1,6 +1,5 @@
package emu.nebula.data.resources; package emu.nebula.data.resources;
import java.util.Arrays;
import java.util.List; import java.util.List;
import emu.nebula.data.BaseDef; import emu.nebula.data.BaseDef;
@@ -62,8 +61,5 @@ public class CharacterDef extends BaseDef {
public void onLoad() { public void onLoad() {
this.elementType = ElementType.getByValue(this.EET); this.elementType = ElementType.getByValue(this.EET);
this.chats = new ObjectArrayList<>(); this.chats = new ObjectArrayList<>();
// Sort gem slots
this.GemSlots = Arrays.stream(this.GemSlots).sorted().toArray();
} }
} }

View File

@@ -275,7 +275,8 @@ public class CharacterStorage extends PlayerManager {
this.updateCharHandbook = false; this.updateCharHandbook = false;
this.getPlayer().addNextPackage( this.getPlayer().addNextPackage(
NetMsgId.handbook_change_notify, NetMsgId.handbook_change_notify,
this.getPlayer().getCharacters().getCharacterHandbook()); this.getCharacterHandbook()
);
} }
// Check if we need to trigger disc achievements // Check if we need to trigger disc achievements
@@ -298,7 +299,8 @@ public class CharacterStorage extends PlayerManager {
this.updateDiscHandbook = false; this.updateDiscHandbook = false;
this.getPlayer().addNextPackage( this.getPlayer().addNextPackage(
NetMsgId.handbook_change_notify, NetMsgId.handbook_change_notify,
this.getPlayer().getCharacters().getDiscHandbook()); this.getDiscHandbook()
);
} }
} }

View File

@@ -675,7 +675,11 @@ public class GameCharacter implements GameDatabaseObject {
// Get gem data // Get gem data
var gemData = this.getData().getCharGemData(slotId); var gemData = this.getData().getCharGemData(slotId);
var gemControl = gemData.getControlData(); var gemControl = GameData.getCharGemSlotControlDataTable().get(slotId);
if (gemControl == null) {
throw new ServerException(110105, "Emblem slot data doesn't exist");
}
// Check character level // Check character level
if (this.getLevel() < gemControl.getUnlockLevel()) { if (this.getLevel() < gemControl.getUnlockLevel()) {
@@ -717,7 +721,11 @@ public class GameCharacter implements GameDatabaseObject {
// Get gem data // Get gem data
var gemData = this.getData().getCharGemData(slotId); var gemData = this.getData().getCharGemData(slotId);
var gemControl = gemData.getControlData(); var gemControl = GameData.getCharGemSlotControlDataTable().get(slotId);
if (gemControl == null) {
throw new ServerException(110105, "Emblem slot data doesn't exist");
}
// Check character level // Check character level
if (this.getLevel() < gemControl.getUnlockLevel()) { if (this.getLevel() < gemControl.getUnlockLevel()) {

View File

@@ -209,7 +209,8 @@ public class GameSession {
// Send mail state notify // Send mail state notify
this.getPlayer().addNextPackage( this.getPlayer().addNextPackage(
NetMsgId.mail_state_notify, NetMsgId.mail_state_notify,
MailState.newInstance().setNew(true)); MailState.newInstance().setNew(true)
);
} }
// Check handbook states // Check handbook states