mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-15 08:25:21 +01:00
348 lines
11 KiB
Java
348 lines
11 KiB
Java
package emu.grasscutter.data.binout;
|
|
|
|
import com.google.gson.annotations.SerializedName;
|
|
import emu.grasscutter.data.common.DynamicFloat;
|
|
import emu.grasscutter.game.props.ElementType;
|
|
import java.io.Serializable;
|
|
import lombok.ToString;
|
|
|
|
public class AbilityModifier implements Serializable {
|
|
private static final long serialVersionUID = -2001232313615923575L;
|
|
|
|
@SerializedName(
|
|
value = "onAdded",
|
|
alternate = {"KCICDEJLIJD"})
|
|
public AbilityModifierAction[] onAdded;
|
|
|
|
@SerializedName(
|
|
value = "onThinkInterval",
|
|
alternate = {"PBDDACFFPOE"})
|
|
public AbilityModifierAction[] onThinkInterval;
|
|
|
|
public AbilityModifierAction[] onRemoved;
|
|
public AbilityModifierAction[] onBeingHit;
|
|
public AbilityModifierAction[] onAttackLanded;
|
|
public AbilityModifierAction[] onHittingOther;
|
|
public AbilityModifierAction[] onKill;
|
|
public AbilityModifierAction[] onCrash;
|
|
public AbilityModifierAction[] onAvatarIn;
|
|
public AbilityModifierAction[] onAvatarOut;
|
|
public AbilityModifierAction[] onReconnect;
|
|
public AbilityModifierAction[] onChangeAuthority;
|
|
public AbilityModifierAction[] onVehicleIn;
|
|
public AbilityModifierAction[] onVehicleOut;
|
|
public AbilityModifierAction[] onZoneEnter;
|
|
public AbilityModifierAction[] onZoneExit;
|
|
public AbilityModifierAction[] onHeal;
|
|
public AbilityModifierAction[] onBeingHealed;
|
|
public DynamicFloat duration = DynamicFloat.ZERO;
|
|
public DynamicFloat thinkInterval = DynamicFloat.ZERO;
|
|
public String stacking;
|
|
|
|
public AbilityMixinData[] modifierMixins;
|
|
|
|
public ElementType elementType;
|
|
public DynamicFloat elementDurability = DynamicFloat.ZERO;
|
|
|
|
@ToString
|
|
public static class AbilityModifierAction implements Serializable {
|
|
public enum Type {
|
|
ActCameraRadialBlur,
|
|
ActCameraShake,
|
|
AddAvatarSkillInfo,
|
|
AddChargeBarValue,
|
|
AddClimateMeter,
|
|
AddElementDurability,
|
|
AddGlobalValue,
|
|
AddGlobalValueToTarget,
|
|
AddRegionalPlayVarValue,
|
|
ApplyModifier,
|
|
AttachAbilityStateResistance,
|
|
AttachBulletAimPoint,
|
|
AttachEffect,
|
|
AttachEffectFirework,
|
|
AttachElementTypeResistance,
|
|
AttachModifier,
|
|
AttachUIEffect,
|
|
AvatarCameraParam,
|
|
AvatarEnterCameraShot,
|
|
AvatarEnterFocus,
|
|
AvatarEnterViewBias,
|
|
AvatarExitCameraShot,
|
|
AvatarExitClimb,
|
|
AvatarExitFocus,
|
|
AvatarExitViewBias,
|
|
AvatarShareCDSkillStart,
|
|
AvatarSkillStart,
|
|
BroadcastNeuronStimulate,
|
|
CalcDvalinS04RebornPoint,
|
|
CallLuaTask,
|
|
ChangeEnviroWeather,
|
|
ChangeFollowDampTime,
|
|
ChangeGadgetUIInteractHint,
|
|
ChangePlayMode,
|
|
ChangeTag,
|
|
ChangeUGCRayTag,
|
|
ClearEndura,
|
|
ClearGlobalPos,
|
|
ClearGlobalValue,
|
|
ClearLocalGadgets,
|
|
ClearLockTarget,
|
|
ClearPos,
|
|
ConfigAbilityAction,
|
|
ControlEmotion,
|
|
CopyGlobalValue,
|
|
CreateGadget,
|
|
CreateMovingPlatform,
|
|
CreateTile,
|
|
DamageByAttackValue,
|
|
DebugLog,
|
|
DestroyTile,
|
|
DoBlink,
|
|
DoTileAction,
|
|
DoWatcherSystemAction,
|
|
DoWidgetSystemAction,
|
|
DropSubfield,
|
|
DummyAction,
|
|
DungeonFogEffects,
|
|
ElementAttachForActivityGacha,
|
|
EnableAIStealthy,
|
|
EnableAfterImage,
|
|
EnableAvatarFlyStateTrail,
|
|
EnableAvatarMoveOnWater,
|
|
EnableBulletCollisionPluginTrigger,
|
|
EnableGadgetIntee,
|
|
EnableHeadControl,
|
|
EnableHitBoxByName,
|
|
EnableMainInterface,
|
|
EnablePartControl,
|
|
EnablePositionSynchronization,
|
|
EnablePushColliderName,
|
|
EnableRocketJump,
|
|
EnableSceneTransformByName,
|
|
EnterCameraLock,
|
|
EntityDoSkill,
|
|
EquipAffixStart,
|
|
ExecuteGadgetLua,
|
|
FireAISoundEvent,
|
|
FireChargeBarEffect,
|
|
FireEffect,
|
|
FireEffectFirework,
|
|
FireEffectForStorm,
|
|
FireFishingEvent,
|
|
FireHitEffect,
|
|
FireSubEmitterEffect,
|
|
FireUIEffect,
|
|
FixedMonsterRushMove,
|
|
ForceAirStateFly,
|
|
ForceEnableShakeOffButton,
|
|
GenerateElemBall,
|
|
GetFightProperty,
|
|
GetInteractIdToGlobalValue,
|
|
GetPos,
|
|
HealHP,
|
|
HideUIBillBoard,
|
|
IgnoreMoveColToRockCol,
|
|
KillGadget,
|
|
KillPlayEntity,
|
|
KillSelf,
|
|
KillServerGadget,
|
|
LoseHP,
|
|
ModifyAvatarSkillCD,
|
|
ModifyVehicleSkillCD,
|
|
PlayEmoSync,
|
|
Predicated,
|
|
PushDvalinS01Process,
|
|
PushInterActionByConfigPath,
|
|
PushPos,
|
|
Randomed,
|
|
ReTriggerAISkillInitialCD,
|
|
RefreshUICombatBarLayout,
|
|
RegisterAIActionPoint,
|
|
ReleaseAIActionPoint,
|
|
RemoveAvatarSkillInfo,
|
|
RemoveModifier,
|
|
RemoveModifierByAbilityStateResistanceID,
|
|
RemoveServerBuff,
|
|
RemoveUniqueModifier,
|
|
RemoveVelocityForce,
|
|
Repeated,
|
|
ResetAIAttackTarget,
|
|
ResetAIResistTauntLevel,
|
|
ResetAIThreatBroadcastRange,
|
|
ResetAnimatorTrigger,
|
|
ReviveDeadAvatar,
|
|
ReviveElemEnergy,
|
|
ReviveStamina,
|
|
SectorCityManeuver,
|
|
SendEffectTrigger,
|
|
SendEffectTriggerToLineEffect,
|
|
SendEvtElectricCoreMoveEnterP1,
|
|
SendEvtElectricCoreMoveInterrupt,
|
|
ServerLuaCall,
|
|
ServerLuaTriggerEvent,
|
|
ServerMonsterLog,
|
|
SetAIHitFeeling,
|
|
SetAISkillCDAvailableNow,
|
|
SetAISkillCDMultiplier,
|
|
SetAISkillGCD,
|
|
SetAnimatorBool,
|
|
SetAnimatorFloat,
|
|
SetAnimatorInt,
|
|
SetAnimatorTrigger,
|
|
SetAvatarCanShakeOff,
|
|
SetAvatarHitBuckets,
|
|
SetCanDieImmediately,
|
|
SetChargeBarValue,
|
|
SetDvalinS01FlyState,
|
|
SetEmissionScaler,
|
|
SetEntityScale,
|
|
SetExtraAbilityEnable,
|
|
SetExtraAbilityState,
|
|
SetGlobalDir,
|
|
SetGlobalPos,
|
|
SetGlobalValue,
|
|
SetGlobalValueByTargetDistance,
|
|
SetGlobalValueToOverrideMap,
|
|
SetKeepInAirVelocityForce,
|
|
SetMaterialParamFloatByTransform,
|
|
SetNeuronEnable,
|
|
SetOverrideMapValue,
|
|
SetPartControlTarget,
|
|
SetPoseBool,
|
|
SetPoseFloat,
|
|
SetPoseInt,
|
|
SetRandomOverrideMapValue,
|
|
SetRegionalPlayVarValue,
|
|
SetSelfAttackTarget,
|
|
SetSkillAnchor,
|
|
SetSpecialCamera,
|
|
SetSurroundAnchor,
|
|
SetSystemValueToOverrideMap,
|
|
SetTargetNumToGlobalValue,
|
|
SetUICombatBarAsh,
|
|
SetUICombatBarSpark,
|
|
SetVelocityIgnoreAirGY,
|
|
SetWeaponAttachPointRealName,
|
|
SetWeaponBindState,
|
|
ShowExtraAbility,
|
|
ShowProgressBarAction,
|
|
ShowReminder,
|
|
ShowScreenEffect,
|
|
ShowTextMap,
|
|
ShowUICombatBar,
|
|
StartDither,
|
|
SumTargetWeightToSelfGlobalValue,
|
|
Summon,
|
|
SyncToStageScript,
|
|
TriggerAbility,
|
|
TriggerAttackEvent,
|
|
TriggerAttackTargetMapEvent,
|
|
TriggerAudio,
|
|
TriggerAuxWeaponTrans,
|
|
TriggerBullet,
|
|
TriggerCreateGadgetToEquipPart,
|
|
TriggerDropEquipParts,
|
|
TriggerFaceAnimation,
|
|
TriggerGadgetInteractive,
|
|
TriggerHideWeapon,
|
|
TriggerSetCastShadow,
|
|
TriggerSetPassThrough,
|
|
TriggerSetRenderersEnable,
|
|
TriggerSetShadowRamp,
|
|
TriggerSetVisible,
|
|
TriggerTaunt,
|
|
TriggerThrowEquipPart,
|
|
TriggerUGCGadgetMove,
|
|
TryFindBlinkPoint,
|
|
TryFindBlinkPointByBorn,
|
|
TryTriggerPlatformStartMove,
|
|
TurnDirection,
|
|
TurnDirectionToPos,
|
|
UpdateReactionDamage,
|
|
UseSkillEliteSet,
|
|
WidgetSkillStart;
|
|
}
|
|
|
|
@SerializedName("$type")
|
|
public Type type;
|
|
|
|
public String target;
|
|
|
|
@SerializedName(
|
|
value = "amount",
|
|
alternate = {"PDLLIFICICJ", "cdRatio"})
|
|
public DynamicFloat amount = DynamicFloat.ZERO;
|
|
|
|
@SerializedName(value = "amountByTargetCurrentHPRatio")
|
|
public DynamicFloat amountByCasterAttackRatio = DynamicFloat.ZERO;
|
|
|
|
@SerializedName(value = "unused")
|
|
public DynamicFloat amountByCasterCurrentHPRatio = DynamicFloat.ZERO;
|
|
|
|
@SerializedName(
|
|
value = "unknown",
|
|
alternate = {"HFNJHOGGFKB", "GEJGGCIOLKN"})
|
|
public DynamicFloat amountByCasterMaxHPRatio = DynamicFloat.ZERO;
|
|
|
|
public DynamicFloat amountByGetDamage = DynamicFloat.ZERO;
|
|
|
|
@SerializedName(value = "amountByTargetMaxHPRatio")
|
|
public DynamicFloat amountByTargetCurrentHPRatio = DynamicFloat.ZERO;
|
|
|
|
@SerializedName(value = "amountByCasterMaxHPRatio")
|
|
public DynamicFloat amountByTargetMaxHPRatio = DynamicFloat.ZERO;
|
|
|
|
public DynamicFloat limboByTargetMaxHPRatio = DynamicFloat.ZERO;
|
|
|
|
public DynamicFloat healRatio = DynamicFloat.ONE;
|
|
|
|
@SerializedName(value = "ignoreAbilityProperty", alternate = "HHFGADCJJDI")
|
|
public boolean ignoreAbilityProperty;
|
|
|
|
public String modifierName;
|
|
|
|
public boolean enableLockHP;
|
|
public boolean disableWhenLoading;
|
|
public boolean lethal = true;
|
|
|
|
public boolean muteHealEffect = false;
|
|
|
|
public boolean byServer;
|
|
public boolean lifeByOwnerIsAlive;
|
|
public String campTargetType;
|
|
public int campID;
|
|
public int gadgetID;
|
|
public boolean ownerIsTarget;
|
|
|
|
public boolean isFromOwner;
|
|
public String globalValueKey;
|
|
public String abilityFormula;
|
|
public String srcTarget, dstTarget;
|
|
public String srcKey, dstKey;
|
|
|
|
public int skillID;
|
|
|
|
public AbilityModifierAction[] actions;
|
|
public AbilityModifierAction[] successActions;
|
|
public AbilityModifierAction[] failActions;
|
|
|
|
public int dropType;
|
|
public DynamicFloat baseEnergy;
|
|
public DynamicFloat ratio = DynamicFloat.ONE;
|
|
public int configID;
|
|
|
|
public int param1;
|
|
public int param2;
|
|
public int param3;
|
|
}
|
|
|
|
// The following should be implemented into DynamicFloat if older resource formats need to be
|
|
// supported
|
|
// public static class AbilityModifierValue {
|
|
// public boolean isFormula;
|
|
// public boolean isDynamic;
|
|
// public String dynamicKey;
|
|
// }
|
|
}
|