Mehrere Probleme beim Thema Kämpfen, Schleichen und Looten behoben
This commit is contained in:
@@ -34,16 +34,25 @@ public class SaveGame {
|
||||
public static class WorldSave {
|
||||
/** UUIDs der PlacedItems, die der Spieler aufgesammelt hat. */
|
||||
public Set<String> pickedUpItems = new HashSet<>();
|
||||
/** IDs besiegter Gegner (für zukünftige Implementierung). */
|
||||
/** IDs besiegter Gegner. */
|
||||
public Set<String> defeatedEnemies = new HashSet<>();
|
||||
/** NPC-ID → aktuell verfügbare Dialog-Option-IDs. */
|
||||
public Map<String, List<String>> npcDialogState = new HashMap<>();
|
||||
/** NPC-ID → Leichen-Zustand (Position, verbleibende Items). */
|
||||
public Map<String, DeadNpcSave> deadNpcs = new LinkedHashMap<>();
|
||||
/** Bodennässe 0..1 — wird von RainState persistiert. */
|
||||
public float wetness = 0f;
|
||||
/** Wetter-Zustand — wird von WeatherState persistiert. */
|
||||
public WeatherSave weather = new WeatherSave();
|
||||
}
|
||||
|
||||
public static class DeadNpcSave {
|
||||
public float x, y, z, rotY;
|
||||
/** Verbleibende Item-IDs; leer = vollständig gelooted. */
|
||||
public List<String> remainingItemIds = new ArrayList<>();
|
||||
public boolean fullyLooted = false;
|
||||
}
|
||||
|
||||
public static class WeatherSave {
|
||||
public String weather = "SUNNY";
|
||||
public float changeTimer = 180f;
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package de.blight.common.model;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface Lootable {
|
||||
String getLootId();
|
||||
String getLootTitleKey();
|
||||
List<Item> getLootItems();
|
||||
}
|
||||
Reference in New Issue
Block a user