master
linbin 2024-05-18 00:50:22 +08:00
parent 97ebc9f35e
commit 2a23c6f229
7 changed files with 120 additions and 9 deletions

View File

@ -5,7 +5,7 @@
# 一次只能填写一个功能可以填写的功能有BOSS套装,解锁全部NPC,解锁全部地图,解锁全部卡片,token
#升级到60,巅峰100级,熔铸雕像,删除傀儡角色,打印信息,完成全部赛季任务,领取祝福
#完成今日任务,打印角色,升级算力等级,投影箱子开启,创建用户
功能: 强化
功能: 测试
执行方案: 野猪王护手,智力大巫师套装,黑煞之心-重型弹药,火龙王岐角
投影箱子开启:
地图: 废旧城堡
@ -34,8 +34,8 @@
背包: 6
金币: 5000 # 单位是 K
物品:
黑煞结晶:
机械碎片: 30
黑煞结晶: 100
机械碎片:
风化石:
磨炼石:
羽毛:

View File

@ -61,7 +61,7 @@ public class App
private String checksum = "";
private static final int delay = 200;
//设备 id
private final String x_unique_id = randomDeviceId();
private final String x_unique_id = "016938b72d176c5d";
private String cookie;
private volatile String gameRevision;
private volatile String revision;
@ -240,7 +240,7 @@ public class App
public CharacterData fetchSelectCharacter()
{
String s = httpRequestS2("/Character/Fetch", null);
log.trace("获取角色信息响应:{}", s);
log.debug("获取角色信息响应:{}", s);
CharacterData characterData = Dson.fromString(CharacterData.class, s);
revision = characterData.getRevision();
return characterData;
@ -295,6 +295,8 @@ public class App
public EnterAddressDTO intoNormalBoss(int mapId)
{
String s1 = httpRequestS2("/Scene/PrepareSceneEnter", SceneEnterParam.intoNormalDungeon(mapId).setStageType(4));
log.debug("准备进入:{}", s1);
String s = httpRequestS2("/Scene/SceneEnterV2", SceneEnterParam.intoNormalDungeon(mapId).setStageType(4));
log.trace("进入地图响应:{}", s);
return Dson.fromString(EnterAddressDTO.class, s);
@ -304,8 +306,10 @@ public class App
{
try
{
String s = httpRequestS2("/Scene/SceneEnterV2", SceneEnterParam.intoNormalDungeon(sceneAreaType));
log.trace("进入地图响应:{}", s);
// String s1 = httpRequestS2("/Scene/PrepareSceneEnter", SceneEnterParam.intoNormalDungeon(sceneAreaType).setStageType(4));
// log.debug("准备进入:{}", s1);
String s = httpRequestS2("/Scene/SceneEnter", SceneEnterParam.intoNormalDungeon(sceneAreaType));
log.debug("进入地图响应:{}", s);
return Dson.fromString(EnterAddressDTO.class, s);
}
catch (Throwable e)
@ -2417,6 +2421,42 @@ public class App
return result;
}
public void test2()
{
List<Item> packages = fetchSelectCharacter().getPackages();
Queue<Integer> emptyIndexs = new LinkedList<>();
for (int i = 0; i < packages.size(); i++)
{
if (packages.get(i) == null)
{
emptyIndexs.add(i);
}
}
GetShopItemParam getShopItemParam = new GetShopItemParam().setLayer(2).setShopAreaType(11);
String s = httpRequestS2("/Shop996/GetShopItem", getShopItemParam);
GetShopItemDTO o = Dson.fromString(GetShopItemDTO.class, s);
List<Item> items = o.getItems();
items.forEach(item -> log.debug("物品:{}", item));
List<String> buyIds = new ArrayList<>();
for (Item item : items)
{
if (item.isEquip() == false)
{
continue;
}
if (emptyIndexs.isEmpty() == false)
{
Integer index = emptyIndexs.poll();
String s1 = httpRequestS2("/Shop996/BuyItem", new BuyItemParam().setGuid(item.getItemId()).setPackageSlotId(index).setRevision(Integer.valueOf(revision)));
BuyItemDTO o1 = Dson.fromString(BuyItemDTO.class, s1);
buyIds.add(item.getItemId());
log.debug("购买结果:{}", s1);
revision = o1.getRevision();
}
}
decompose(buyIds);
}
public void test()
{
Integer machinePart = null;
@ -2682,7 +2722,7 @@ public class App
case "领取祝福" -> app.fetchAllBoons();
case "领取爬塔奖励" -> app.claimInfinityAllRewards();
case "执行方案" -> app.programme((String) config.get("执行方案"), sessionFactory);
case "测试" -> app.test();
case "测试" -> app.test2();
case "寻找未知装备" -> app.findUnknowEquip((Map<String, Object>) config.get("寻找未知装备"));
case "升级算力等级" -> app.updateProjectionDungeonMaxComplexLevel();
case "投影箱子开启" -> app.openChipBox(Integer.parseInt(AddressMap.NAME_TO_ID_MAP.get(config.get("投影箱子开启.地图"))));

View File

@ -0,0 +1,17 @@
package org.example.dto;
import com.jfirer.dson.util.JsonRename;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@NoArgsConstructor
@Data
@Accessors(chain = true)
public class BuyItemDTO
{
@JsonRename("gold")
private Integer gold;
@JsonRename("revision")
private String revision;
}

View File

@ -0,0 +1,14 @@
package org.example.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import org.example.Item;
import java.util.List;
@Data
@Accessors(chain = true)
public class GetShopItemDTO
{
private List<Item> items;
}

View File

@ -0,0 +1,20 @@
package org.example.param;
import com.jfirer.dson.util.JsonRename;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@NoArgsConstructor
@Data
@Accessors(chain = true)
public class BuyItemParam
{
@JsonRename("guid")
private String guid;
@JsonRename("packageSlotId")
private Integer packageSlotId;
@JsonRename("revision")
private Integer revision;
private int todayFruit=17;
}

View File

@ -0,0 +1,19 @@
package org.example.param;
import com.jfirer.dson.util.JsonRename;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@NoArgsConstructor
@Data
@Accessors(chain = true)
public class GetShopItemParam
{
@JsonRename("shopAreaType")
private Integer shopAreaType;
@JsonRename("layer")
private Integer layer;
@JsonRename("shopMarks")
private String[] shopMarks = new String[0];
}

View File

@ -23,7 +23,8 @@ public class PackageAddParam
*
*/
private Settlement settlement;
private String Checksum = "";
private String checksum = "";
// private String antiData2 = "";
@Data
@Accessors(chain = true)