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
9133742e
Commit
9133742e
authored
Apr 28, 2022
by
Kengxxiao
Committed by
Melledy
Apr 28, 2022
Browse files
fix companionship exp
my IDEA lint is not happy on my change
parent
7bacd8ab
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/main/java/emu/grasscutter/game/inventory/Inventory.java
View file @
9133742e
...
...
@@ -242,6 +242,9 @@ public class Inventory implements Iterable<GameItem> {
case
102
:
// Adventure exp
getPlayer
().
addExpDirectly
(
count
);
break
;
case
105
:
// Companionship exp
getPlayer
().
getServer
().
getInventoryManager
().
upgradeAvatarFetterLevel
(
player
,
getPlayer
().
getTeamManager
().
getCurrentAvatarEntity
().
getAvatar
(),
count
);
break
;
case
201
:
// Primogem
getPlayer
().
setPrimogems
(
player
.
getPrimogems
()
+
count
);
break
;
...
...
src/main/java/emu/grasscutter/game/managers/InventoryManager.java
View file @
9133742e
...
...
@@ -23,23 +23,7 @@ import emu.grasscutter.game.player.Player;
import
emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam
;
import
emu.grasscutter.net.proto.MaterialInfoOuterClass.MaterialInfo
;
import
emu.grasscutter.server.game.GameServer
;
import
emu.grasscutter.server.packet.send.PacketAbilityChangeNotify
;
import
emu.grasscutter.server.packet.send.PacketAvatarPromoteRsp
;
import
emu.grasscutter.server.packet.send.PacketAvatarPropNotify
;
import
emu.grasscutter.server.packet.send.PacketAvatarSkillChangeNotify
;
import
emu.grasscutter.server.packet.send.PacketAvatarSkillUpgradeRsp
;
import
emu.grasscutter.server.packet.send.PacketAvatarUnlockTalentNotify
;
import
emu.grasscutter.server.packet.send.PacketAvatarUpgradeRsp
;
import
emu.grasscutter.server.packet.send.PacketDestroyMaterialRsp
;
import
emu.grasscutter.server.packet.send.PacketProudSkillChangeNotify
;
import
emu.grasscutter.server.packet.send.PacketProudSkillExtraLevelNotify
;
import
emu.grasscutter.server.packet.send.PacketReliquaryUpgradeRsp
;
import
emu.grasscutter.server.packet.send.PacketSetEquipLockStateRsp
;
import
emu.grasscutter.server.packet.send.PacketStoreItemChangeNotify
;
import
emu.grasscutter.server.packet.send.PacketUnlockAvatarTalentRsp
;
import
emu.grasscutter.server.packet.send.PacketWeaponAwakenRsp
;
import
emu.grasscutter.server.packet.send.PacketWeaponPromoteRsp
;
import
emu.grasscutter.server.packet.send.PacketWeaponUpgradeRsp
;
import
emu.grasscutter.server.packet.send.*
;
import
emu.grasscutter.utils.Utils
;
import
it.unimi.dsi.fastutil.ints.Int2IntMap
;
import
it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap
;
...
...
@@ -659,7 +643,7 @@ public class InventoryManager {
// Level up
upgradeAvatar
(
player
,
avatar
,
promoteData
,
expGain
);
}
public
void
upgradeAvatar
(
Player
player
,
Avatar
avatar
,
int
expGain
)
{
AvatarPromoteData
promoteData
=
GameData
.
getAvatarPromoteData
(
avatar
.
getAvatarData
().
getAvatarPromoteId
(),
avatar
.
getPromoteLevel
());
if
(
promoteData
==
null
)
{
...
...
@@ -668,14 +652,14 @@ public class InventoryManager {
upgradeAvatar
(
player
,
avatar
,
promoteData
,
expGain
);
}
public
void
upgradeAvatar
(
Player
player
,
Avatar
avatar
,
AvatarPromoteData
promoteData
,
int
expGain
)
{
int
maxLevel
=
promoteData
.
getUnlockMaxLevel
();
int
level
=
avatar
.
getLevel
();
int
oldLevel
=
level
;
int
exp
=
avatar
.
getExp
();
int
reqExp
=
GameData
.
getAvatarLevelExpRequired
(
level
);
while
(
expGain
>
0
&&
reqExp
>
0
&&
level
<
maxLevel
)
{
// Do calculations
int
toGain
=
Math
.
min
(
expGain
,
reqExp
-
exp
);
...
...
@@ -690,7 +674,7 @@ public class InventoryManager {
reqExp
=
GameData
.
getAvatarLevelExpRequired
(
level
);
}
}
// Old map for packet
Map
<
Integer
,
Float
>
oldPropMap
=
avatar
.
getFightProperties
();
if
(
oldLevel
!=
level
)
{
...
...
@@ -734,6 +718,7 @@ public class InventoryManager {
avatar
.
save
();
player
.
sendPacket
(
new
PacketAvatarPropNotify
(
avatar
));
player
.
sendPacket
(
new
PacketAvatarFetterDataNotify
(
avatar
));
}
public
void
upgradeAvatarSkill
(
Player
player
,
long
guid
,
int
skillId
)
{
...
...
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