Skip to content

Commit 5b9d386

Browse files
committed
fix(AbilityModifier.java): Always parse param[1-3] as DynamicFloats
1 parent 5167253 commit 5b9d386

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

src/main/java/emu/grasscutter/data/binout/AbilityModifier.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -345,9 +345,10 @@ public enum Type {
345345
public DynamicFloat valueRangeMax;
346346
public String overrideMapKey;
347347

348-
public int param1;
349-
public int param2;
350-
public int param3;
348+
public DynamicFloat
349+
param1 = DynamicFloat.ZERO,
350+
param2 = DynamicFloat.ZERO,
351+
param3 = DynamicFloat.ZERO;
351352

352353
public String funcName;
353354
public LuaCallType luaCallType;

src/main/java/emu/grasscutter/data/common/DynamicFloat.java

+4
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ public float get(Ability ability) {
5757
return this.get(ability.getAbilitySpecials(), 0f);
5858
}
5959

60+
public int getInt(Ability ability) {
61+
return (int) this.get(ability.getAbilitySpecials(), 0f);
62+
}
63+
6064
public float get(Object2FloatMap<String> props, float defaultValue) {
6165
if (!this.dynamic) return constant;
6266

src/main/java/emu/grasscutter/game/ability/actions/ActionExecuteGadgetLua.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,13 @@ public boolean execute(
1515
// Investigate if we need to use target
1616

1717
if (owner.getEntityController() != null) {
18+
var param1 = action.param1.getInt(ability);
19+
var param2 = action.param2.getInt(ability);
20+
var param3 = action.param3.getInt(ability);
21+
1822
owner
1923
.getEntityController()
20-
.onClientExecuteRequest(owner, action.param1, action.param2, action.param3);
24+
.onClientExecuteRequest(owner, param1, param2, param3);
2125
return true;
2226
}
2327

0 commit comments

Comments
 (0)