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