mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-02-09 05:43:01 +08:00
Fix a bit of un-researched action handling
This commit is contained in:
parent
d933ca6d02
commit
1c9f32cbef
@ -1,11 +1,10 @@
|
|||||||
package emu.grasscutter.game.ability.actions;
|
package emu.grasscutter.game.ability.actions;
|
||||||
|
|
||||||
import com.google.protobuf.ByteString;
|
import com.google.protobuf.ByteString;
|
||||||
|
import emu.grasscutter.Grasscutter;
|
||||||
import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction;
|
import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction;
|
||||||
import emu.grasscutter.game.ability.Ability;
|
import emu.grasscutter.game.ability.Ability;
|
||||||
import emu.grasscutter.game.entity.EntityClientGadget;
|
import emu.grasscutter.game.entity.*;
|
||||||
import emu.grasscutter.game.entity.EntityGadget;
|
|
||||||
import emu.grasscutter.game.entity.GameEntity;
|
|
||||||
|
|
||||||
@AbilityAction(AbilityModifierAction.Type.SetGlobalValueToOverrideMap)
|
@AbilityAction(AbilityModifierAction.Type.SetGlobalValueToOverrideMap)
|
||||||
public class ActionSetGlobalValueToOverrideMap extends AbilityActionHandler {
|
public class ActionSetGlobalValueToOverrideMap extends AbilityActionHandler {
|
||||||
@ -23,15 +22,18 @@ public class ActionSetGlobalValueToOverrideMap extends AbilityActionHandler {
|
|||||||
var globalValueKey = action.globalValueKey;
|
var globalValueKey = action.globalValueKey;
|
||||||
var abilityFormula = action.abilityFormula;
|
var abilityFormula = action.abilityFormula;
|
||||||
|
|
||||||
if (!entity.getGlobalAbilityValues().containsKey(globalValueKey)) return false;
|
if (!entity.getGlobalAbilityValues().containsKey(globalValueKey)) {
|
||||||
|
Grasscutter.getLogger().debug("Action does not contains {} global key", globalValueKey);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
var globalValue = entity.getGlobalAbilityValues().getOrDefault(globalValueKey, 0.0f);
|
var globalValue = entity.getGlobalAbilityValues().getOrDefault(globalValueKey, 0.0f);
|
||||||
if (abilityFormula.compareTo("DummyThrowSpeed") == 0) {
|
if (abilityFormula.compareTo("DummyThrowSpeed") == 0) {
|
||||||
globalValue = ((globalValue * 30.0f) / ((float) Math.sin(0.9424778) * 100.0f)) - 1.0f;
|
globalValue = ((globalValue * 30.0f) / ((float) Math.sin(0.9424778) * 100.0f)) - 1.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
entity.getGlobalAbilityValues().put(globalValueKey, globalValue);
|
entity.getGlobalAbilityValues().put(globalValueKey, globalValue); // Research if this is needed.
|
||||||
entity.onAbilityValueUpdate();
|
ability.getAbilitySpecials().put(action.overrideMapKey, globalValue.floatValue()); // Override our own.
|
||||||
|
|
||||||
// TODO: ChangeServerGlobalValueNotify
|
// TODO: ChangeServerGlobalValueNotify
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user