Broadcast global value changes

This commit is contained in:
KingRainbow44
2023-08-27 13:36:39 -04:00
Unverified
parent 01766a0303
commit bd59da8853
4 changed files with 43 additions and 4 deletions
@@ -5,9 +5,10 @@ import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction;
import emu.grasscutter.game.ability.Ability;
import emu.grasscutter.game.entity.*;
import emu.grasscutter.server.packet.send.PacketServerGlobalValueChangeNotify;
@AbilityAction(AbilityModifierAction.Type.SetGlobalValueToOverrideMap)
public class ActionSetGlobalValueToOverrideMap extends AbilityActionHandler {
public final class ActionSetGlobalValueToOverrideMap extends AbilityActionHandler {
@Override
public boolean execute(
Ability ability, AbilityModifierAction action, ByteString abilityData, GameEntity target) {
@@ -36,8 +37,11 @@ public class ActionSetGlobalValueToOverrideMap extends AbilityActionHandler {
ability
.getAbilitySpecials()
.put(action.overrideMapKey, globalValue.floatValue()); // Override our own.
entity.onAbilityValueUpdate();
// TODO: ChangeServerGlobalValueNotify
// Send a value update packet.
entity.getScene().getHost().sendPacket(
new PacketServerGlobalValueChangeNotify(entity, globalValueKey, globalValue));
return true;
}