Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
ziqian zhang
Grasscutter
Commits
929bb38f
Commit
929bb38f
authored
Apr 24, 2022
by
Melledy
Committed by
GitHub
Apr 24, 2022
Browse files
Merge pull request #180 from Yazawazi/development
Fix the property prompt issue in fetter system
parents
edd0bccf
23f0406b
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/main/java/emu/grasscutter/command/commands/SetFetterLevelCommand.java
View file @
929bb38f
...
...
@@ -35,7 +35,9 @@ public final class SetFetterLevelCommand implements CommandHandler {
GenshinAvatar
avatar
=
sender
.
getTeamManager
().
getCurrentAvatarEntity
().
getAvatar
();
avatar
.
setFetterLevel
(
fetterLevel
);
avatar
.
setFetterExp
(
GenshinData
.
getAvatarFetterLevelDataMap
().
get
(
fetterLevel
).
getExp
());
if
(
fetterLevel
!=
10
)
{
avatar
.
setFetterExp
(
GenshinData
.
getAvatarFetterLevelDataMap
().
get
(
fetterLevel
).
getExp
());
}
avatar
.
save
();
sender
.
sendPacket
(
new
PacketAvatarFetterDataNotify
(
avatar
));
...
...
src/main/java/emu/grasscutter/game/avatar/GenshinAvatar.java
View file @
929bb38f
...
...
@@ -743,9 +743,14 @@ public class GenshinAvatar {
}
public
AvatarInfo
toProto
()
{
int
fetterLevel
=
this
.
getFetterLevel
();
AvatarFetterInfo
.
Builder
avatarFetter
=
AvatarFetterInfo
.
newBuilder
()
.
setExpLevel
(
this
.
getFetterLevel
())
.
setExpNumber
(
this
.
getFetterExp
());
.
setExpLevel
(
fetterLevel
);
if
(
fetterLevel
!=
10
)
{
avatarFetter
.
setExpNumber
(
this
.
getFetterExp
());
}
if
(
this
.
getFetterList
()
!=
null
)
{
for
(
int
i
=
0
;
i
<
this
.
getFetterList
().
size
();
i
++)
{
...
...
@@ -757,11 +762,10 @@ public class GenshinAvatar {
}
}
int
rewardId
=
this
.
getNameCardRewardId
();
int
cardId
=
this
.
getNameCardId
();
if
(
this
.
getPlayer
().
getNameCardList
().
contains
(
cardId
))
{
avatarFetter
.
addRewardedFetterLevelList
(
rewardId
);
avatarFetter
.
addRewardedFetterLevelList
(
10
);
}
AvatarInfo
.
Builder
avatarInfo
=
AvatarInfo
.
newBuilder
()
...
...
src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarFetterLevelRewardReq.java
View file @
929bb38f
...
...
@@ -9,6 +9,7 @@ import emu.grasscutter.net.packet.Opcodes;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.AvatarFetterLevelRewardReqOuterClass.AvatarFetterLevelRewardReq
;
import
emu.grasscutter.server.game.GameSession
;
import
emu.grasscutter.server.packet.send.PacketAvatarDataNotify
;
import
emu.grasscutter.server.packet.send.PacketAvatarFetterDataNotify
;
import
emu.grasscutter.server.packet.send.PacketAvatarFetterLevelRewardRsp
;
import
emu.grasscutter.server.packet.send.PacketItemAddHintNotify
;
...
...
@@ -46,8 +47,9 @@ public class HandlerAvatarFetterLevelRewardReq extends PacketHandler {
session
.
getPlayer
().
getInventory
().
addItem
(
item
);
session
.
getPlayer
().
sendPacket
(
new
PacketItemAddHintNotify
(
item
,
ActionReason
.
FetterLevelReward
));
session
.
getPlayer
().
sendPacket
(
new
PacketUnlockNameCardNotify
(
cardId
));
session
.
send
(
new
PacketAvatarFetterLevelRewardRsp
(
avatarGuid
,
req
.
getFetterLevel
(),
rewardId
));
session
.
send
(
new
PacketAvatarFetterDataNotify
(
avatar
));
session
.
send
(
new
PacketAvatarDataNotify
(
avatar
.
getPlayer
()));
session
.
send
(
new
PacketAvatarFetterLevelRewardRsp
(
avatarGuid
,
req
.
getFetterLevel
(),
rewardId
));
}
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFetterDataNotify.java
View file @
929bb38f
...
...
@@ -13,9 +13,14 @@ public class PacketAvatarFetterDataNotify extends GenshinPacket {
public
PacketAvatarFetterDataNotify
(
GenshinAvatar
avatar
)
{
super
(
PacketOpcodes
.
AvatarFetterDataNotify
);
int
fetterLevel
=
avatar
.
getFetterLevel
();
AvatarFetterInfo
.
Builder
avatarFetter
=
AvatarFetterInfo
.
newBuilder
()
.
setExpLevel
(
avatar
.
getFetterLevel
())
.
setExpNumber
(
avatar
.
getFetterExp
());
.
setExpLevel
(
avatar
.
getFetterLevel
());
if
(
fetterLevel
!=
10
)
{
avatarFetter
.
setExpNumber
(
avatar
.
getFetterExp
());
}
if
(
avatar
.
getFetterList
()
!=
null
)
{
for
(
int
i
=
0
;
i
<
avatar
.
getFetterList
().
size
();
i
++)
{
...
...
@@ -27,11 +32,10 @@ public class PacketAvatarFetterDataNotify extends GenshinPacket {
}
}
int
rewardId
=
avatar
.
getNameCardRewardId
();
int
cardId
=
avatar
.
getNameCardId
();
if
(
avatar
.
getPlayer
().
getNameCardList
().
contains
(
cardId
))
{
avatarFetter
.
addRewardedFetterLevelList
(
rewardId
);
avatarFetter
.
addRewardedFetterLevelList
(
10
);
}
AvatarFetterInfo
avatarFetterInfo
=
avatarFetter
.
build
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment