Update to support game version 2.0.0.*

This commit is contained in:
Melledy committed 2026-10-19 22:20:00 -07:00
1 parent b302871630
commit c585417b85
119 files changed
+73147 -9253

No files matched your search

+13 -6
View File
@@ -7,7 +7,7 @@ import emu.nebula.game.inventory.ItemParamMap;
import emu.nebula.util.WeightedList;
public class GameConstants {
public static final String VERSION = "1.16.0";
public static final String VERSION = "2.0.0";
public static int DATA_VERSION = 0;
public static final ZoneId UTC_ZONE = ZoneId.of("UTC");
@@ -17,6 +17,7 @@ public class GameConstants {
public static final int INTRO_GUIDE_ID = 1;
public static final int DEFAULT_HONOR_ID = 111001;
// Item ids
public static final int GOLD_ITEM_ID = 1;
public static final int STELLANITE_DUST_ITEM_ID = 2;
public static final int PAID_STELLANITE_LUMINA_ITEM_ID = 3;
@@ -26,9 +27,11 @@ public class GameConstants {
public static final int WEEKLY_ENTRY_ITEM_ID = 28;
public static final int JOINT_DRILL_TICKET_ID = 36;
// Energy
public static final int MAX_ENERGY = 240;
public static final int ENERGY_REGEN_TIME = 360; // Timeunit = Seconds
// Characters
public static final int CHARACTER_MAX_GEMS_PER_SLOT = 4;
public static final int CHARACTER_MAX_GEM_PRESETS = 3;
public static final int CHARACTER_MAX_GEM_SLOTS = 3;
@@ -40,22 +43,26 @@ public class GameConstants {
public static final int AFFINITY_HONOR_UNLOCK_LEVEL = 10;
// Client limits
public static final int MAX_FORMATIONS = 6;
public static final int MAX_SHOWCASE_IDS = 5;
public static final int MAX_BUILDS = 100;
public static final int MAX_PRESETS = 50;
public static final int BATTLE_PASS_ID = 1; // Default battle pass
public static final int BATTLE_PASS_UNLOCK_LEVEL = 3;
public static final int MAX_FRIENDSHIPS = 50;
public static final int MAX_PENDING_FRIENDSHIPS = 30;
// Battle Pass
public static final int BATTLE_PASS_ID = 1; // Default battle pass
public static final int BATTLE_PASS_UNLOCK_LEVEL = 3;
// Star Tower (Monolith)
public static final int TOWER_COIN_ITEM_ID = 11;
public static final int[] TOWER_EVENTS_IDS = new int[] {
101, 102, 104, 105, 106, 107, 108, 114, 115, 116, 126, 127, 128
};
// Trace Hunt
public static final int TRACE_HUNT_TOKEN_ID = 37;
public static final int TRACE_HUNT_REQUEST_ITEM_ID = 38;
public static final int TRACE_HUNT_PERMIT_ITEM_ID = 39;
@@ -65,6 +72,7 @@ public class GameConstants {
public static final int TRACE_HUNT_MAX_TRACE_PROGRESS = 10_000;
public static final int TRACE_HUNT_MAX_HUNT_PROGRESS = 10_000;
// Etc
public static final int REFRESH_TYPE_DAILY = 1;
public static final int REFRESH_TYPE_WEEKLY = 2;
public static final int REFRESH_TYPE_MONTHLY = 3;
@@ -83,7 +91,6 @@ public class GameConstants {
public static final int UNLIMITED_STOCK = Integer.MAX_VALUE;
// Daily gifts (Custom)
public static final WeightedList<ItemParam> DAILY_SHOP_GIFTS = new WeightedList<>();
public static final WeightedList<ItemParamMap> DAILY_MALL_GIFTS = new WeightedList<>();
@@ -62,6 +62,10 @@ public class HonorDef extends BaseDef {
// Levels
this.valid = true;
}
case 5 -> {
// Dorm
this.valid = true;
}
default -> {
// Unknown honor type
Nebula.getLogger().warn("Honor " + this.getId() + " has an unknown type (" + this.getType() + ")");
@@ -101,6 +101,19 @@ public enum AchievementCondition {
WeekBossClearTotal (123),
TraceHuntTraceComplete (159),
TraceHuntAssistHunt (160),
DormFurnitureAcquire (161),
DormRewardReceive (162),
DormUnlockRoom (163),
DormPlaceFurniture (164),
DormRoleInteractionReward (165),
DormFurnitureCollect (166),
DormDailyReceiveReward (171),
DormSendGift (172),
ActivityStoryPass (173),
SoldierClearTotal (174),
SoldierClearTotalWithSeason (175),
SoldierSpecificRankWithSeason (176),
DormSaveRoom (177),
ClientReport (200),
TowerBattleTimes (501),
TowerBossChallengeSpecificHighRewardWithTotal (502),
@@ -86,9 +86,14 @@ public class ActivityModule extends GameContextModule {
//this.activities.add(1011104);
// A Monolith Too Far
this.activities.add(1011201);
this.activities.add(1011203);
this.activities.add(1011204);
//this.activities.add(1011201);
//this.activities.add(1011203);
//this.activities.add(1011204);
// Wholeness at Reunion's Dawn
this.activities.add(2010401);
this.activities.add(2010403);
this.activities.add(2010404);
// ===== Joint Drills (Finale Echoing) =====
//this.activities.add(510003); // Causes soft lock in event screen
@@ -96,9 +101,10 @@ public class ActivityModule extends GameContextModule {
// ===== Etc Events =====
// Trial activities
this.activities.add(700128);
this.activities.add(700129);
this.activities.add(700131);
this.activities.add(700132);
this.activities.add(700133);
// Tower defense activity
//this.activities.add(102002); // Missing image on client - probably removed
@@ -112,7 +118,7 @@ public class ActivityModule extends GameContextModule {
//this.activities.add(800001); // Causes soft lock in event screen
// Through Hostile Depths (beta)
this.activities.add(900001);
//this.activities.add(900001); // Causes soft lock in event screen
// Trekker versus (broken)
//this.activities.add(600001);
@@ -31,7 +31,12 @@ public enum ActivityType {
IceCream (23),
FollowSocialMedia (24),
Soldier (25),
NewStory (30);
Reengagement (26),
MathParkour (27),
MailBind (28),
NewStory (30),
MallLogin (31),
SignIn (32);
@Getter
private final int value;
@@ -18,7 +18,7 @@ import emu.nebula.game.player.PlayerChangeInfo;
import emu.nebula.game.quest.QuestCondition;
import emu.nebula.proto.ActivityDetail.ActivityMsg;
import emu.nebula.proto.Public.ActivityLevel;
import emu.nebula.proto.Public.UseBuild;
import lombok.Getter;
import lombok.Setter;
@@ -201,7 +201,7 @@ public class LevelsActivity extends GameActivity {
public ActivityLevel toProto() {
var proto = ActivityLevel.newInstance()
.setStar(this.getStar())
.setBuildId(this.getBuildId());
.setBuild(UseBuild.newInstance().setBuildId(this.getBuildId()).setTypeValue(1));
return proto;
}
@@ -21,7 +21,6 @@ import emu.nebula.game.player.PlayerChangeInfo;
import emu.nebula.proto.ActivityDetail.ActivityMsg;
import emu.nebula.proto.PublicSoldier;
import emu.nebula.proto.SoldierApply.SoldierApplyResp;
import emu.nebula.proto.SoldierGiveUp.SoldierGiveUpResp;
import emu.nebula.proto.SoldierInteract.SoldierInteractReq;
import emu.nebula.proto.SoldierInteract.SoldierInteractResp;
import emu.nebula.util.Utils;
@@ -164,9 +163,12 @@ public class SoldierActivity extends GameActivity {
@Override
public synchronized void onLogin() {
if (inProgress() && migrateLegacyRun()) save();
// TODO fix later
//if (inProgress() && migrateLegacyRun()) save();
}
// TODO fix later
/*
public synchronized SoldierApplyResp apply(int seasonId, int challengeId) {
if (inProgress() || seasonId != getId()) return null;
@@ -1194,6 +1196,8 @@ public class SoldierActivity extends GameActivity {
return PublicSoldier.SoldierCard.newInstance().setId(id)
.setType(PublicSoldier.SoldierCardType.Strategy);
}
*/
@Override
public void encodeActivityMsg(ActivityMsg msg) {
@@ -14,7 +14,7 @@ import emu.nebula.proto.ActivityDetail.ActivityMsg;
import emu.nebula.proto.ActivityStorySettleOuterClass.ActivityStorySettle;
import emu.nebula.proto.Public.ActivityStory;
import emu.nebula.proto.Public.ActivityStoryChoice;
import emu.nebula.proto.Public.UseBuild;
import it.unimi.dsi.fastutil.ints.Int2IntMap;
import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap;
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
@@ -128,7 +128,7 @@ public class StoryActivity extends GameActivity {
@Override
public void encodeActivityMsg(ActivityMsg msg) {
var proto = msg.getMutableStoryChapter()
.setBuildId(this.getBuildId());
.setBuild(UseBuild.newInstance().setBuildId(this.getBuildId()).setTypeValue(1));
for (int i : this.getEvidences()) {
proto.addEvidences(i);
@@ -6,7 +6,7 @@ import emu.nebula.game.inventory.ItemAcquireMap;
import emu.nebula.game.player.Player;
import emu.nebula.game.player.PlayerChangeInfo;
import emu.nebula.proto.GachaNewbieInfoOuterClass.GachaNewbieInfo;
import emu.nebula.proto.GachaNewbieInfoOuterClass.UI32s;
import emu.nebula.proto.Public.UI32s;
import it.unimi.dsi.fastutil.ints.IntArrayList;
import java.util.ArrayList;
@@ -38,7 +38,15 @@ public enum ItemSubType {
CharacterSkin (46),
SouvenirEnergyItem (47),
Build (48),
Chess (49);
Chess (49),
DormHonor (50),
DormFurniture (51),
DormKit (52),
DormScene (53),
DormSkin (54),
DormRoom (55),
DormLayout (56),
TokenItem (57);
@Getter
private final int value;
@@ -21,7 +21,9 @@ public enum ItemType {
LevelHonor (15),
TraceRequest (16),
HuntPermit (17),
SoldierItem (18);
SoldierItem (18),
DormFurniture (19),
DormHonor (20);
@Getter
private final int value;
@@ -98,6 +98,18 @@ public enum QuestCondition {
WeekBossClearTotal (123),
ActivityStoryReadStory (124),
ActivitySoldierScore (158),
DormRewardReceive (162),
DormUnlockRoom (163),
DormPlaceFurniture (164),
DormRoleInteractionReward (165),
DormFurnitureCollect (166),
DormDailyReceiveReward (171),
DormSendGift (172),
ActivityStoryPass (173),
SoldierClearTotal (174),
SoldierClearTotalWithSeason (175),
SoldierSpecificRankWithSeason (176),
DormSaveRoom (177),
ClientReport (200),
TowerBattleTimes (501),
TowerBossChallengeSpecificHighRewardWithTotal (502),
@@ -18,6 +18,7 @@ import emu.nebula.game.player.PlayerChangeInfo;
import emu.nebula.game.player.PlayerManager;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.Public.TraceHuntItem;
import emu.nebula.proto.Public.UseBuild;
import emu.nebula.proto.TraceHuntInfoOuterClass.TraceHuntInfo;
import emu.nebula.util.Utils;
import lombok.Getter;
@@ -503,7 +504,7 @@ public class TraceHuntManager extends PlayerManager implements GameDatabaseObjec
.setExp(this.getExp())
.setBossID(this.getBossId())
.setBossCreateTime(this.getBossCreateTime())
.setBuildID(this.getBuildId())
.setBuild(UseBuild.newInstance().setBuildId(this.getBuildId()).setTypeValue(1))
.setTraceProgress(this.getTraceProgress())
.setHuntProgress(this.getHuntProgress())
.setSelfHuntTimes(this.getHuntCount());
@@ -10,10 +10,15 @@ import emu.nebula.game.player.Player;
import emu.nebula.game.player.PlayerManager;
import emu.nebula.game.player.PlayerProgress;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.Public.UseBuild;
import emu.nebula.proto.VampireTalentDetail.VampireTalentDetailResp;
import emu.nebula.util.Bitset;
import it.unimi.dsi.fastutil.longs.LongArrayList;
import lombok.Getter;
import us.hebi.quickbuf.RepeatedLong;
import us.hebi.quickbuf.RepeatedMessage;
@Getter
public class VampireSurvivorManager extends PlayerManager {
@@ -104,7 +109,7 @@ public class VampireSurvivorManager extends PlayerManager {
Nebula.getGameDatabase().update(this.getProgress(), this.getPlayerUid(), "vampireTalents", this.getTalents());
}
public VampireSurvivorGame apply(int levelId, RepeatedLong builds) {
public VampireSurvivorGame apply(int levelId, RepeatedMessage<UseBuild> builds) {
// Get data
var data = GameData.getVampireSurvivorDataTable().get(levelId);
if (data == null) {
@@ -121,16 +126,23 @@ public class VampireSurvivorManager extends PlayerManager {
return null;
}
// Create build ids
var buildIds = new LongArrayList();
// Make sure our builds exist
for (long buildId : builds) {
for (var build : builds) {
long buildId = build.getBuildId();
boolean hasBuild = this.getPlayer().getStarTowerManager().hasBuild(buildId);
if (hasBuild == false) {
return null;
}
buildIds.add(buildId);
}
// Create game
this.game = new VampireSurvivorGame(this, data, builds.toArray());
this.game = new VampireSurvivorGame(this, data, buildIds.toLongArray());
// Success
return this.game;
+183 -1
View File
@@ -3,12 +3,14 @@ package emu.nebula.net;
public class NetMsgId {
public static final int none = 0;
public static final int handbook_complete_notify = -10059;
public static final int clear_all_activity_mathParkour_levels_notify = -10058;
public static final int clear_all_activity_iceCream_levels_notify = -10057;
public static final int sd_soldier_effect_notify = -10056;
public static final int sd_soldier_info_notify = -10055;
public static final int sd_shop_data_notify = -10054;
public static final int sd_item_change_notify = -10053;
public static final int sd_buff_card_add_notify = -10052;
public static final int sd_buff_notify = -10052;
public static final int clear_all_activity_golden_spy_levels_notify = -10051;
public static final int clear_all_activity_breakout_levels_notify = -10050;
public static final int clear_story_set_notify = -10049;
@@ -330,6 +332,9 @@ public class NetMsgId {
public static final int quest_assist_group_reward_receive_req = 4228;
public static final int quest_assist_group_reward_receive_succeed_ack = 4229;
public static final int quest_assist_group_reward_receive_failed_ack = 4230;
public static final int quest_dorm_reward_receive_req = 4231;
public static final int quest_dorm_reward_receive_succeed_ack = 4232;
public static final int quest_dorm_reward_receive_failed_ack = 4233;
public static final int activity_task_reward_receive_req = 4301;
public static final int activity_task_reward_receive_succeed_ack = 4302;
public static final int activity_task_reward_receive_failed_ack = 4303;
@@ -408,6 +413,27 @@ public class NetMsgId {
public static final int potential_preselection_delete_req = 4737;
public static final int potential_preselection_delete_succeed_ack = 4738;
public static final int potential_preselection_delete_failed_ack = 4739;
public static final int tower_vita_energy_buy_req = 4740;
public static final int tower_vita_energy_buy_succeed_ack = 4741;
public static final int tower_vita_energy_buy_failed_ack = 4742;
public static final int tower_vita_project_list_req = 4743;
public static final int tower_vita_project_list_succeed_ack = 4744;
public static final int tower_vita_project_list_failed_ack = 4745;
public static final int tower_vita_project_update_req = 4746;
public static final int tower_vita_project_update_succeed_ack = 4747;
public static final int tower_vita_project_update_failed_ack = 4748;
public static final int tower_vita_project_name_update_req = 4749;
public static final int tower_vita_project_name_update_succeed_ack = 4750;
public static final int tower_vita_project_name_update_failed_ack = 4751;
public static final int tower_vita_project_set_req = 4752;
public static final int tower_vita_project_set_succeed_ack = 4753;
public static final int tower_vita_project_set_failed_ack = 4754;
public static final int star_tower_build_potential_modify_req = 4755;
public static final int star_tower_build_potential_modify_succeed_ack = 4756;
public static final int star_tower_build_potential_modify_failed_ack = 4757;
public static final int star_tower_build_note_modify_req = 4758;
public static final int star_tower_build_note_modify_succeed_ack = 4759;
public static final int star_tower_build_note_modify_failed_ack = 4760;
public static final int build_convert_detail_list_get_req = 4801;
public static final int build_convert_detail_list_get_succeed_ack = 4802;
public static final int build_convert_detail_list_get_failed_ack = 4803;
@@ -471,6 +497,12 @@ public class NetMsgId {
public static final int mall_shop_order_req = 5128;
public static final int mall_shop_order_succeed_ack = 5129;
public static final int mall_shop_order_failed_ack = 5130;
public static final int mall_activity_list_req = 5131;
public static final int mall_activity_list_succeed_ack = 5132;
public static final int mall_activity_list_failed_ack = 5133;
public static final int mall_activity_order_req = 5134;
public static final int mall_activity_order_succeed_ack = 5135;
public static final int mall_activity_order_failed_ack = 5136;
public static final int trace_hunt_info_req = 5201;
public static final int trace_hunt_info_succeed_ack = 5202;
public static final int trace_hunt_info_failed_ack = 5203;
@@ -507,6 +539,33 @@ public class NetMsgId {
public static final int soldier_partner_trace_req = 5316;
public static final int soldier_partner_trace_succeed_ack = 5317;
public static final int soldier_partner_trace_failed_ack = 5318;
public static final int soldier_season_info_req = 5319;
public static final int soldier_season_info_succeed_ack = 5320;
public static final int soldier_season_info_failed_ack = 5321;
public static final int soldier_season_reward_receive_req = 5322;
public static final int soldier_season_reward_receive_succeed_ack = 5323;
public static final int soldier_season_reward_receive_failed_ack = 5324;
public static final int soldier_learn_req = 5325;
public static final int soldier_learn_succeed_ack = 5326;
public static final int soldier_learn_failed_ack = 5327;
public static final int soldier_technology_info_req = 5401;
public static final int soldier_technology_info_succeed_ack = 5402;
public static final int soldier_technology_info_failed_ack = 5403;
public static final int soldier_technology_node_unlock_req = 5404;
public static final int soldier_technology_node_unlock_succeed_ack = 5405;
public static final int soldier_technology_node_unlock_failed_ack = 5406;
public static final int soldier_battle_report_favorite_req = 5407;
public static final int soldier_battle_report_favorite_succeed_ack = 5408;
public static final int soldier_battle_report_favorite_failed_ack = 5409;
public static final int soldier_battle_report_unfavorite_req = 5410;
public static final int soldier_battle_report_unfavorite_succeed_ack = 5411;
public static final int soldier_battle_report_unfavorite_failed_ack = 5412;
public static final int soldier_battle_report_favorite_list_req = 5413;
public static final int soldier_battle_report_favorite_list_succeed_ack = 5414;
public static final int soldier_battle_report_favorite_list_failed_ack = 5415;
public static final int soldier_battle_report_recent_list_req = 5416;
public static final int soldier_battle_report_recent_list_succeed_ack = 5417;
public static final int soldier_battle_report_recent_list_failed_ack = 5418;
public static final int gacha_spin_req = 6001;
public static final int gacha_spin_succeed_ack = 6002;
public static final int gacha_spin_failed_ack = 6003;
@@ -757,6 +816,57 @@ public class NetMsgId {
public static final int activity_penguin_card_endless_level_save_req = 8416;
public static final int activity_penguin_card_endless_level_save_succeed_ack = 8417;
public static final int activity_penguin_card_endless_level_save_failed_ack = 8418;
public static final int guide_mission_info_req = 8419;
public static final int guide_mission_info_succeed_ack = 8420;
public static final int guide_mission_info_failed_ack = 8421;
public static final int guide_mission_quest_reward_receive_req = 8422;
public static final int guide_mission_quest_reward_receive_succeed_ack = 8423;
public static final int guide_mission_quest_reward_receive_failed_ack = 8424;
public static final int activity_math_parkour_level_settle_req = 8430;
public static final int activity_math_parkour_level_settle_succeed_ack = 8431;
public static final int activity_math_parkour_level_settle_failed_ack = 8432;
public static final int activity_returnee_info_req = 8501;
public static final int activity_returnee_info_succeed_ack = 8502;
public static final int activity_returnee_info_failed_ack = 8503;
public static final int activity_returnee_reunion_reward_req = 8504;
public static final int activity_returnee_reunion_reward_succeed_ack = 8505;
public static final int activity_returnee_reunion_reward_failed_ack = 8506;
public static final int activity_returnee_quest_point_reward_receive_req = 8507;
public static final int activity_returnee_quest_point_reward_receive_succeed_ack = 8508;
public static final int activity_returnee_quest_point_reward_receive_failed_ack = 8509;
public static final int activity_returnee_avg_req = 8510;
public static final int activity_returnee_avg_succeed_ack = 8511;
public static final int activity_returnee_avg_failed_ack = 8512;
public static final int activity_returnee_quest_reward_receive_req = 8513;
public static final int activity_returnee_quest_reward_receive_succeed_ack = 8514;
public static final int activity_returnee_quest_reward_receive_failed_ack = 8515;
public static final int activity_returnee_login_reward_receive_req = 8516;
public static final int activity_returnee_login_reward_receive_succeed_ack = 8517;
public static final int activity_returnee_login_reward_receive_failed_ack = 8518;
public static final int activity_returnee_card_reward_receive_req = 8519;
public static final int activity_returnee_card_reward_receive_succeed_ack = 8520;
public static final int activity_returnee_card_reward_receive_failed_ack = 8521;
public static final int activity_returnee_card_order_req = 8522;
public static final int activity_returnee_card_order_succeed_ack = 8523;
public static final int activity_returnee_card_order_failed_ack = 8524;
public static final int activity_returnee_pack_order_req = 8525;
public static final int activity_returnee_pack_order_succeed_ack = 8526;
public static final int activity_returnee_pack_order_failed_ack = 8527;
public static final int activity_archive_story_apply_req = 8601;
public static final int activity_archive_story_apply_succeed_ack = 8602;
public static final int activity_archive_story_apply_failed_ack = 8603;
public static final int activity_archive_story_settle_req = 8604;
public static final int activity_archive_story_settle_succeed_ack = 8605;
public static final int activity_archive_story_settle_failed_ack = 8606;
public static final int activity_archive_story_info_req = 8607;
public static final int activity_archive_story_info_succeed_ack = 8608;
public static final int activity_archive_story_info_failed_ack = 8609;
public static final int activity_mail_bind_reward_receive_req = 8610;
public static final int activity_mail_bind_reward_receive_succeed_ack = 8611;
public static final int activity_mail_bind_reward_receive_failed_ack = 8612;
public static final int activity_archive_story_chapter_pass_req = 8613;
public static final int activity_archive_story_chapter_pass_succeed_ack = 8614;
public static final int activity_archive_story_chapter_pass_failed_ack = 8615;
public static final int mail_list_req = 9001;
public static final int mail_list_succeed_ack = 9002;
public static final int mail_list_failed_ack = 9003;
@@ -817,6 +927,9 @@ public class NetMsgId {
public static final int activity_trekker_versus_schedule_reward_receive_req = 9143;
public static final int activity_trekker_versus_schedule_reward_receive_succeed_ack = 9144;
public static final int activity_trekker_versus_schedule_reward_receive_failed_ack = 9145;
public static final int activity_malllogin_reward_receive_req = 9146;
public static final int activity_malllogin_reward_receive_succeed_ack = 9147;
public static final int activity_malllogin_reward_receive_failed_ack = 9148;
public static final int phone_contacts_info_req = 9201;
public static final int phone_contacts_info_succeed_ack = 9202;
public static final int phone_contacts_info_failed_ack = 9203;
@@ -850,6 +963,69 @@ public class NetMsgId {
public static final int activity_cg_read_req = 9501;
public static final int activity_cg_read_succeed_ack = 9502;
public static final int activity_cg_read_failed_ack = 9503;
public static final int dorm_info_list_req = 9510;
public static final int dorm_info_list_succeed_ack = 9511;
public static final int dorm_info_list_failed_ack = 9512;
public static final int dorm_furniture_preset_list_req = 9513;
public static final int dorm_furniture_preset_list_succeed_ack = 9514;
public static final int dorm_furniture_preset_list_failed_ack = 9515;
public static final int dorm_bag_list_req = 9516;
public static final int dorm_bag_list_succeed_ack = 9517;
public static final int dorm_bag_list_failed_ack = 9518;
public static final int dorm_furniture_preset_delete_req = 9519;
public static final int dorm_furniture_preset_delete_succeed_ack = 9520;
public static final int dorm_furniture_preset_delete_failed_ack = 9521;
public static final int dorm_furniture_save_req = 9522;
public static final int dorm_furniture_save_succeed_ack = 9523;
public static final int dorm_furniture_save_failed_ack = 9524;
public static final int dorm_info_update_name_req = 9525;
public static final int dorm_info_update_name_succeed_ack = 9526;
public static final int dorm_info_update_name_failed_ack = 9527;
public static final int dorm_invitation_role_req = 9528;
public static final int dorm_invitation_role_succeed_ack = 9529;
public static final int dorm_invitation_role_failed_ack = 9530;
public static final int dorm_reward_receive_req = 9531;
public static final int dorm_reward_receive_succeed_ack = 9532;
public static final int dorm_reward_receive_failed_ack = 9533;
public static final int dorm_role_interaction_req = 9534;
public static final int dorm_role_interaction_succeed_ack = 9535;
public static final int dorm_role_interaction_failed_ack = 9536;
public static final int dorm_affinity_gift_send_req = 9537;
public static final int dorm_affinity_gift_send_succeed_ack = 9538;
public static final int dorm_affinity_gift_send_failed_ack = 9539;
public static final int dorm_friend_list_req = 9540;
public static final int dorm_friend_list_succeed_ack = 9541;
public static final int dorm_friend_list_failed_ack = 9542;
public static final int dorm_friend_visit_req = 9543;
public static final int dorm_friend_visit_succeed_ack = 9544;
public static final int dorm_friend_visit_failed_ack = 9545;
public static final int dorm_layout_reward_receive_req = 9547;
public static final int dorm_layout_reward_receive_succeed_ack = 9548;
public static final int dorm_layout_reward_receive_failed_ack = 9549;
public static final int dorm_room_bgm_req = 9550;
public static final int dorm_room_bgm_succeed_ack = 9551;
public static final int dorm_room_bgm_failed_ack = 9552;
public static final int dorm_friend_like_req = 9553;
public static final int dorm_friend_like_succeed_ack = 9554;
public static final int dorm_friend_like_failed_ack = 9555;
public static final int dorm_update_preset_name_req = 9556;
public static final int dorm_update_preset_name_succeed_ack = 9557;
public static final int dorm_update_preset_name_failed_ack = 9558;
public static final int dorm_set_room_scene_req = 9559;
public static final int dorm_set_room_scene_succeed_ack = 9560;
public static final int dorm_set_room_scene_failed_ack = 9561;
public static final int dorm_achievement_reward_receive_req = 9562;
public static final int dorm_achievement_reward_receive_succeed_ack = 9563;
public static final int dorm_achievement_reward_receive_failed_ack = 9564;
public static final int dorm_blocks_convert_req = 9565;
public static final int dorm_blocks_convert_succeed_ack = 9566;
public static final int dorm_blocks_convert_failed_ack = 9567;
public static final int dorm_get_change_data_req = 9568;
public static final int dorm_get_change_data_succeed_ack = 9569;
public static final int dorm_get_change_data_failed_ack = 9570;
public static final int dorm_learn_req = 9571;
public static final int dorm_learn_succeed_ack = 9572;
public static final int dorm_learn_failed_ack = 9573;
public static final int activity_levels_apply_req = 9601;
public static final int activity_levels_apply_succeed_ack = 9602;
public static final int activity_levels_apply_failed_ack = 9603;
@@ -947,6 +1123,12 @@ public class NetMsgId {
public static final int trace_hunt_state_notify = 10058;
public static final int trace_hunt_item_change_notify = 10060;
public static final int score_boss_reset_score_notify = 10061;
public static final int activity_returnee_state_notify = 10062;
public static final int activity_returnee_quest_change_notify = 10063;
public static final int dorm_room_unlock_notify = 10064;
public static final int guide_mission_state_notify = 10065;
public static final int activity_malllogin_rewards_notify = 10066;
public static final int achievement_complete_notify = 10067;
public static final int activity_mining_apply_req = 11001;
public static final int activity_mining_apply_succeed_ack = 11002;
public static final int activity_mining_apply_failed_ack = 11003;
@@ -23,7 +23,7 @@ public class HandlerActivityLevelsApplyReq extends NetHandler {
}
// Apply
boolean success = activity.apply(req.getLevelId(), req.getBuildId());
boolean success = activity.apply(req.getLevelId(), req.getBuild().getBuildId());
if (success == false) {
return session.encodeMsg(NetMsgId.activity_levels_apply_failed_ack);
@@ -23,7 +23,7 @@ public class HandlerActivityStoryApplyReq extends NetHandler {
}
// Apply
boolean success = activity.apply(req.getStoryId(), req.getBuildId());
boolean success = activity.apply(req.getStoryId(), req.getBuild().getBuildId());
if (success == false) {
return session.encodeMsg(NetMsgId.activity_story_apply_failed_ack);
@@ -23,7 +23,7 @@ public class HandlerActivityTrekkerVersusApplyReq extends NetHandler {
}
// Apply
boolean result = activity.apply(req.getBuildId(), req.getAffixIds());
boolean result = activity.apply(req.getBuild().getBuildId(), req.getAffixIds());
if (result == false) {
return session.encodeMsg(NetMsgId.activity_trekker_versus_apply_failed_ack);
@@ -0,0 +1,21 @@
package emu.nebula.server.handlers;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.GuideMissionInfoOuterClass.GuideMissionInfo;
import emu.nebula.net.HandlerId;
import emu.nebula.net.GameSession;
@HandlerId(NetMsgId.guide_mission_info_req)
public class HandlerGuideMissionInfoReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) throws Exception {
// Build response
var rsp = GuideMissionInfo.newInstance();
// Encode and send
return session.encodeMsg(NetMsgId.guide_mission_info_succeed_ack, rsp);
}
}
@@ -15,7 +15,7 @@ public class HandlerInfinityTowerApplyReq extends NetHandler {
var req = InfinityTowerApplyReq.parseFrom(message);
// Apply
boolean success = session.getPlayer().getInfinityTowerManager().apply(req.getLevelId(), req.getBuildId());
boolean success = session.getPlayer().getInfinityTowerManager().apply(req.getLevelId(), req.getBuild().getBuildId());
if (!success) {
return session.encodeMsg(NetMsgId.infinity_tower_apply_failed_ack);
@@ -1,16 +1,15 @@
package emu.nebula.server.handlers;
import emu.nebula.game.activity.type.SoldierActivity;
import emu.nebula.net.GameSession;
import emu.nebula.net.HandlerId;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.SoldierApply.SoldierApplyReq;
@HandlerId(NetMsgId.soldier_apply_req)
public class HandlerSoldierApplyReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) throws Exception {
/*
var req = SoldierApplyReq.parseFrom(message);
var activity = session.getPlayer().getActivityManager().getActivity(
SoldierActivity.class, req.getSeasonId());
@@ -22,5 +21,8 @@ public class HandlerSoldierApplyReq extends NetHandler {
return rsp == null
? session.encodeMsg(NetMsgId.soldier_apply_failed_ack)
: session.encodeMsg(NetMsgId.soldier_apply_succeed_ack, rsp);
*/
return session.encodeMsg(NetMsgId.soldier_apply_failed_ack);
}
}
@@ -1,6 +1,5 @@
package emu.nebula.server.handlers;
import emu.nebula.game.activity.type.SoldierActivity;
import emu.nebula.net.GameSession;
import emu.nebula.net.HandlerId;
import emu.nebula.net.NetHandler;
@@ -10,10 +9,14 @@ import emu.nebula.net.NetMsgId;
public class HandlerSoldierGiveUpReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) {
/*
var activity = session.getPlayer().getActivityManager().getFirstActivity(SoldierActivity.class);
var rsp = activity == null ? null : activity.giveUp();
return rsp == null
? session.encodeMsg(NetMsgId.soldier_give_up_failed_ack)
: session.encodeMsg(NetMsgId.soldier_give_up_succeed_ack, rsp);
*/
return session.encodeMsg(NetMsgId.soldier_give_up_failed_ack);
}
}
@@ -1,6 +1,5 @@
package emu.nebula.server.handlers;
import emu.nebula.game.activity.type.SoldierActivity;
import emu.nebula.net.GameSession;
import emu.nebula.net.HandlerId;
import emu.nebula.net.NetHandler;
@@ -10,10 +9,14 @@ import emu.nebula.net.NetMsgId;
public class HandlerSoldierInfoReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) {
/*
var activity = session.getPlayer().getActivityManager().getFirstActivity(SoldierActivity.class);
var info = activity == null ? null : activity.info();
return info == null
? session.encodeMsg(NetMsgId.soldier_info_failed_ack)
: session.encodeMsg(NetMsgId.soldier_info_succeed_ack, info);
*/
return session.encodeMsg(NetMsgId.soldier_info_failed_ack);
}
}
@@ -1,21 +1,23 @@
package emu.nebula.server.handlers;
import emu.nebula.game.activity.type.SoldierActivity;
import emu.nebula.net.GameSession;
import emu.nebula.net.HandlerId;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.SoldierInteract.SoldierInteractReq;
@HandlerId(NetMsgId.soldier_interact_req)
public class HandlerSoldierInteractReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) throws Exception {
/*
var req = SoldierInteractReq.parseFrom(message);
var activity = session.getPlayer().getActivityManager().getFirstActivity(SoldierActivity.class);
var rsp = activity == null ? null : activity.interact(req);
return rsp == null
? session.encodeMsg(NetMsgId.soldier_interact_failed_ack)
: session.encodeMsg(NetMsgId.soldier_interact_succeed_ack, rsp);
*/
return session.encodeMsg(NetMsgId.soldier_interact_failed_ack);
}
}
@@ -1,21 +1,24 @@
package emu.nebula.server.handlers;
import emu.nebula.game.activity.type.SoldierActivity;
import emu.nebula.net.GameSession;
import emu.nebula.net.HandlerId;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.SoldierPartnerTrace.SoldierPartnerTraceReq;
@HandlerId(NetMsgId.soldier_partner_trace_req)
public class HandlerSoldierPartnerTraceReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) throws Exception {
/*
var req = SoldierPartnerTraceReq.parseFrom(message);
var activity = session.getPlayer().getActivityManager().getFirstActivity(SoldierActivity.class);
if (activity == null || !activity.setPartnerTrace(req.getPartnerType(), req.getTrace())) {
return session.encodeMsg(NetMsgId.soldier_partner_trace_failed_ack);
}
return session.encodeMsg(NetMsgId.soldier_partner_trace_succeed_ack);
*/
return session.encodeMsg(NetMsgId.soldier_partner_trace_failed_ack);
}
}
@@ -0,0 +1,20 @@
package emu.nebula.server.handlers;
import emu.nebula.net.GameSession;
import emu.nebula.net.HandlerId;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.PublicSoldier.SoldierSeasonInfo;
@HandlerId(NetMsgId.soldier_season_info_req)
public class HandlerSoldierSeasonInfoReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) {
// Template response to get rid of errors
var rsp = SoldierSeasonInfo.newInstance()
.setSeasonId(1);
// Encode and send
return session.encodeMsg(NetMsgId.soldier_season_info_succeed_ack, rsp);
}
}
@@ -1,21 +1,23 @@
package emu.nebula.server.handlers;
import emu.nebula.game.activity.type.SoldierActivity;
import emu.nebula.net.GameSession;
import emu.nebula.net.HandlerId;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.SoldierStepOut.SoldierStepOutReq;
@HandlerId(NetMsgId.soldier_step_out_req)
public class HandlerSoldierStepOutReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) throws Exception {
/*
var req = SoldierStepOutReq.parseFrom(message);
var activity = session.getPlayer().getActivityManager().getFirstActivity(SoldierActivity.class);
if (activity == null || !req.hasDeploy() || !activity.stepOut(req.getDeploy())) {
return session.encodeMsg(NetMsgId.soldier_step_out_failed_ack);
}
return session.encodeMsg(NetMsgId.soldier_step_out_succeed_ack);
*/
return session.encodeMsg(NetMsgId.soldier_step_out_failed_ack);
}
}
@@ -0,0 +1,19 @@
package emu.nebula.server.handlers;
import emu.nebula.net.GameSession;
import emu.nebula.net.HandlerId;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.Public.Bytes;
@HandlerId(NetMsgId.soldier_technology_info_req)
public class HandlerSoldierTechnologyInfoReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) {
// Template response to get rid of errors
var rsp = Bytes.newInstance();
// Encode and send
return session.encodeMsg(NetMsgId.soldier_technology_info_succeed_ack, rsp);
}
}
@@ -0,0 +1,21 @@
package emu.nebula.server.handlers;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.TowerVitaProjectList.TowerVitaProjectListResp;
import emu.nebula.net.HandlerId;
import emu.nebula.net.GameSession;
@HandlerId(NetMsgId.tower_vita_project_list_req)
public class HandlerTowerVitaProjectListReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) throws Exception {
// Build response
var rsp = TowerVitaProjectListResp.newInstance();
// Encode and send
return session.encodeMsg(NetMsgId.tower_vita_project_list_succeed_ack, rsp);
}
}
@@ -15,7 +15,7 @@ public class HandlerTraceHuntApplyReq extends NetHandler {
var req = TraceHuntApplyReq.parseFrom(message);
// Hunt
boolean success = session.getPlayer().getTraceHuntManager().apply(req.getOwnerUID(), req.getBossID(), req.getBuildID());
boolean success = session.getPlayer().getTraceHuntManager().apply(req.getOwnerUID(), req.getBossID(), req.getBuild().getBuildId());
if (!success) {
return session.encodeMsg(NetMsgId.trace_hunt_apply_failed_ack);
@@ -16,7 +16,7 @@ public class HandlerVampireSurvivorApplyReq extends NetHandler {
var req = VampireSurvivorApplyReq.parseFrom(message);
// Apply
var game = session.getPlayer().getVampireSurvivorManager().apply(req.getId(), req.getBuildIds());
var game = session.getPlayer().getVampireSurvivorManager().apply(req.getId(), req.getBuilds());
if (game == null) {
return session.encodeMsg(NetMsgId.vampire_survivor_apply_failed_ack);