Skip to content

Commit

Permalink
Merge pull request #20 from ShiroySan/main
Browse files Browse the repository at this point in the history
Multi mob rewards not found fix | Missing sceneTag Execs | Healing items by HP %
  • Loading branch information
Kei-Luna authored May 29, 2024
2 parents 966d365 + 5d946e0 commit f280308
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ public synchronized boolean addBuff(int buffId, float duration, Avatar target) {

var maxHp = target.getFightProperty(FightProperty.FIGHT_PROP_MAX_HP);
var amount =
ability.amount.get() + ability.amountByTargetMaxHPRatio.get() * maxHp;
ability.amount.get() + ability.amountByCasterMaxHPRatio.get() * maxHp;

target.getAsEntity().heal(amount);
shouldHeal = true;
Expand Down
20 changes: 20 additions & 0 deletions src/main/java/emu/grasscutter/game/quest/exec/ExecAddSceneTag.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package emu.grasscutter.game.quest.exec;

import emu.grasscutter.data.excels.quest.QuestData;
import emu.grasscutter.game.quest.*;
import emu.grasscutter.game.quest.enums.QuestExec;
import emu.grasscutter.game.quest.handlers.QuestExecHandler;
import emu.grasscutter.scripts.ScriptLib;
import java.util.Arrays;

@QuestValueExec(QuestExec.QUEST_EXEC_ADD_SCENE_TAG)
public final class ExecAddSceneTag extends QuestExecHandler {
@Override
public boolean execute(GameQuest quest, QuestData.QuestExecParam condition, String... paramStr) {
var param =
Arrays.stream(paramStr).filter(i -> !i.isBlank()).mapToInt(Integer::parseInt).toArray();
quest.getOwner().getProgressManager().addSceneTag(param[0], param[1]);

return true;
}
}
19 changes: 19 additions & 0 deletions src/main/java/emu/grasscutter/game/quest/exec/ExecDelSceneTag.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package emu.grasscutter.game.quest.exec;

import emu.grasscutter.data.excels.quest.QuestData;
import emu.grasscutter.game.quest.*;
import emu.grasscutter.game.quest.enums.QuestExec;
import emu.grasscutter.game.quest.handlers.QuestExecHandler;
import java.util.Arrays;

@QuestValueExec(QuestExec.QUEST_EXEC_DEL_SCENE_TAG)
public final class ExecDelSceneTag extends QuestExecHandler {
@Override
public boolean execute(GameQuest quest, QuestData.QuestExecParam condition, String... paramStr) {
var param =
Arrays.stream(paramStr).filter(i -> !i.isBlank()).mapToInt(Integer::parseInt).toArray();
quest.getOwner().getProgressManager().delSceneTag(param[0], param[1]);

return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public RewardPreviewData getRewardByBossId(int monsterId) {
var investigationMonsterData =
GameData.getInvestigationMonsterDataMap().values().parallelStream()
.filter(imd -> imd.getMonsterIdList() != null && !imd.getMonsterIdList().isEmpty())
.filter(imd -> imd.getMonsterIdList().get(0) == monsterId)
.filter(imd -> imd.getMonsterIdList().contains(monsterId))
.findFirst();

return investigationMonsterData
Expand Down

0 comments on commit f280308

Please sign in to comment.