Implement Resin (#1257)

* Basic resin usage/refresh.

* Honor resin config, move some logic to logon.

* Add resin usage to DungeonChallenge

* Make fragile and transient resin usable.

* Get resin cost from dungeon excel.

* Add ability to unlock combine diagrams.

* Refactor CombineManager to use Inventory.payItems, enabling crafting of condensed resin.

* Refactor ForgingManager to use Inventory.payItems, to prepare for eventually forging Mystic Enhancement Ores using resin.

* Remove comment

* Check resin usage in addResin
This commit is contained in:
ImmuState
2022-06-14 10:14:15 +02:00
committed by GitHub
Unverified
parent 2fd2fab54c
commit 6e955c9fdb
13 changed files with 370 additions and 61 deletions
@@ -0,0 +1,18 @@
package emu.grasscutter.server.packet.send;
import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.CombineDataNotifyOuterClass.CombineDataNotify;
public class PacketCombineDataNotify extends BasePacket {
public PacketCombineDataNotify(Iterable<Integer> unlockedCombines) {
super(PacketOpcodes.CombineDataNotify);
CombineDataNotify proto = CombineDataNotify.newBuilder()
.addAllCombineIdList(unlockedCombines)
.build();
this.setData(proto);
}
}