mirror of
https://github.com/Melledy/Nebula.git
synced 2026-09-19 09:09:54 +02:00
Update player delete function to remove achievements and activities
Also cleaned up some stuff
This commit is contained in:
@@ -1,26 +1,25 @@
|
|||||||
package emu.nebula.game.activity.type;
|
package emu.nebula.game.activity.type;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import dev.morphia.annotations.Entity;
|
import dev.morphia.annotations.Entity;
|
||||||
|
|
||||||
import emu.nebula.data.GameData;
|
import emu.nebula.data.GameData;
|
||||||
import emu.nebula.data.resources.ActivityDef;
|
import emu.nebula.data.resources.ActivityDef;
|
||||||
import emu.nebula.game.activity.ActivityManager;
|
import emu.nebula.game.activity.ActivityManager;
|
||||||
import emu.nebula.game.activity.GameActivity;
|
import emu.nebula.game.activity.GameActivity;
|
||||||
import emu.nebula.game.inventory.ItemParamMap;
|
|
||||||
import emu.nebula.game.player.PlayerChangeInfo;
|
import emu.nebula.game.player.PlayerChangeInfo;
|
||||||
import emu.nebula.proto.ActivityDetail.ActivityMsg;
|
import emu.nebula.proto.ActivityDetail.ActivityMsg;
|
||||||
import emu.nebula.proto.Public.ActivityQuest;
|
import emu.nebula.proto.Public.ActivityQuest;
|
||||||
import emu.nebula.proto.Public.ActivityTowerDefenseLevel;
|
import emu.nebula.proto.Public.ActivityTowerDefenseLevel;
|
||||||
|
|
||||||
|
import it.unimi.dsi.fastutil.ints.Int2IntMap;
|
||||||
|
import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Entity
|
@Entity
|
||||||
public class TowerDefenseActivity extends GameActivity {
|
public class TowerDefenseActivity extends GameActivity {
|
||||||
private Map<Integer, Integer> completedStages;
|
private Int2IntMap completedStages;
|
||||||
private Map<Integer, Integer> completedQuests;
|
private Int2IntMap completedQuests;
|
||||||
|
|
||||||
@Deprecated // Morphia only
|
@Deprecated // Morphia only
|
||||||
public TowerDefenseActivity() {
|
public TowerDefenseActivity() {
|
||||||
@@ -29,19 +28,16 @@ public class TowerDefenseActivity extends GameActivity {
|
|||||||
|
|
||||||
public TowerDefenseActivity(ActivityManager manager, ActivityDef data) {
|
public TowerDefenseActivity(ActivityManager manager, ActivityDef data) {
|
||||||
super(manager, data);
|
super(manager, data);
|
||||||
this.completedStages = new HashMap<Integer, Integer>();
|
this.completedStages = new Int2IntOpenHashMap();
|
||||||
this.completedQuests = new HashMap<Integer, Integer>();
|
this.completedQuests = new Int2IntOpenHashMap();
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlayerChangeInfo claimReward(int level) {
|
public PlayerChangeInfo claimReward(int level) {
|
||||||
// Initialize change info
|
|
||||||
var change = new PlayerChangeInfo();
|
|
||||||
|
|
||||||
// Get rewards
|
// Get rewards
|
||||||
var rewards = GameData.getTowerDefenseLevelDataTable().get(level).getRewards();
|
var rewards = GameData.getTowerDefenseLevelDataTable().get(level).getRewards();
|
||||||
|
|
||||||
// Add rewards
|
// Add rewards
|
||||||
return getPlayer().getInventory().addItems(rewards, change);
|
return getPlayer().getInventory().addItems(rewards);
|
||||||
}
|
}
|
||||||
|
|
||||||
// public PlayerChangeInfo claimReward(int groupId) {
|
// public PlayerChangeInfo claimReward(int groupId) {
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import emu.nebula.Nebula;
|
|||||||
import emu.nebula.game.GameContext;
|
import emu.nebula.game.GameContext;
|
||||||
import emu.nebula.game.GameContextModule;
|
import emu.nebula.game.GameContextModule;
|
||||||
import emu.nebula.game.account.Account;
|
import emu.nebula.game.account.Account;
|
||||||
|
import emu.nebula.game.achievement.AchievementManager;
|
||||||
|
import emu.nebula.game.activity.ActivityManager;
|
||||||
import emu.nebula.game.agent.AgentManager;
|
import emu.nebula.game.agent.AgentManager;
|
||||||
import emu.nebula.game.battlepass.BattlePass;
|
import emu.nebula.game.battlepass.BattlePass;
|
||||||
import emu.nebula.game.character.GameCharacter;
|
import emu.nebula.game.character.GameCharacter;
|
||||||
@@ -179,6 +181,8 @@ public class PlayerModule extends GameContextModule {
|
|||||||
datastore.getCollection(StoryManager.class).deleteOne(idFilter);
|
datastore.getCollection(StoryManager.class).deleteOne(idFilter);
|
||||||
datastore.getCollection(QuestManager.class).deleteOne(idFilter);
|
datastore.getCollection(QuestManager.class).deleteOne(idFilter);
|
||||||
datastore.getCollection(AgentManager.class).deleteOne(idFilter);
|
datastore.getCollection(AgentManager.class).deleteOne(idFilter);
|
||||||
|
datastore.getCollection(AchievementManager.class).deleteOne(idFilter);
|
||||||
|
datastore.getCollection(ActivityManager.class).deleteOne(idFilter);
|
||||||
|
|
||||||
datastore.getCollection(BattlePass.class).deleteOne(idFilter);
|
datastore.getCollection(BattlePass.class).deleteOne(idFilter);
|
||||||
datastore.getCollection(ScoreBossRankEntry.class).deleteOne(idFilter);
|
datastore.getCollection(ScoreBossRankEntry.class).deleteOne(idFilter);
|
||||||
|
|||||||
@@ -132,7 +132,6 @@ public class QuestManager extends PlayerManager implements GameDatabaseObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update this quest on the player client
|
* Update this quest on the player client
|
||||||
*/
|
*/
|
||||||
|
|||||||
+1
-2
@@ -4,7 +4,6 @@ import emu.nebula.net.NetHandler;
|
|||||||
import emu.nebula.net.NetMsgId;
|
import emu.nebula.net.NetMsgId;
|
||||||
import emu.nebula.proto.ActivityTowerDefenseLevelSettle.ActivityTowerDefenseLevelSettleReq;
|
import emu.nebula.proto.ActivityTowerDefenseLevelSettle.ActivityTowerDefenseLevelSettleReq;
|
||||||
import emu.nebula.net.HandlerId;
|
import emu.nebula.net.HandlerId;
|
||||||
import emu.nebula.Nebula;
|
|
||||||
import emu.nebula.game.activity.type.TowerDefenseActivity;
|
import emu.nebula.game.activity.type.TowerDefenseActivity;
|
||||||
import emu.nebula.net.GameSession;
|
import emu.nebula.net.GameSession;
|
||||||
|
|
||||||
@@ -20,7 +19,7 @@ public class HandlerActivityTowerDefenseLevelSettleReq extends NetHandler {
|
|||||||
var activity = session.getPlayer().getActivityManager().getActivity(TowerDefenseActivity.class, 102001);
|
var activity = session.getPlayer().getActivityManager().getActivity(TowerDefenseActivity.class, 102001);
|
||||||
|
|
||||||
// Claim rewards
|
// Claim rewards
|
||||||
var change = activity.claimReward((int)req.getLevelId());
|
var change = activity.claimReward(req.getLevelId());
|
||||||
|
|
||||||
// Update completed stages
|
// Update completed stages
|
||||||
activity.getCompletedStages().put(req.getLevelId(), req.getStar());
|
activity.getCompletedStages().put(req.getLevelId(), req.getStar());
|
||||||
|
|||||||
Reference in New Issue
Block a user