ConfigAbility (#18)

* ConfigAbility_Gadget part 1

* ConfigAbility_Gadget part 2 (end)

* misc ConfigAbility, Rename BaseAction to ConfigAbilityAction

* ConfigAbility_MonsterAffix

* ConfigAbility_Activity

* ConfigAbility_Monster

* ConfigAbility
This commit is contained in:
akatatsu27 2022-12-17 21:58:55 +02:00 committed by GitHub
parent 7e4c2492f4
commit 9a1ccf82c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
475 changed files with 3820 additions and 216 deletions

4
.editorconfig Normal file
View File

@ -0,0 +1,4 @@
[*.cs]
# CS0649: Field 'AbilityGroupData.abilityGroupSourceType' is never assigned to, and will always have its default value
dotnet_diagnostic.CS0649.severity = silent

View File

@ -15,6 +15,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GameServer", "src\GameServe
{017075AB-199D-4E93-8E9B-C74BBD01E73D} = {017075AB-199D-4E93-8E9B-C74BBD01E73D}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{723413FA-3DCE-4665-861D-ABF4588BE841}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU

View File

@ -0,0 +1,9 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AddAvatarInCDMixin : BaseAbilityMixin
{
[JsonProperty] public readonly float increasedDuration;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
using Weedwacker.GameServer.Enums;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AirFlowMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int gadgetID;
[JsonProperty] public readonly TargetType campTargetType;
[JsonProperty] public readonly BaseBornType born;
}
}

View File

@ -0,0 +1,11 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AnimatorRotationCompensateMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string[] animatorStateIDs;
[JsonProperty] public readonly float animationRotate;
[JsonProperty] public readonly float angleLimit;
}
}

View File

@ -0,0 +1,9 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ApplyModifierWithSharedDurabilityMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string modifierName;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachActionToModifierMixin : BaseAbilityMixin
{
[JsonProperty] public readonly ConfigAbilityAction[] onAdded;
[JsonProperty] public readonly ConfigAbilityAction[] onRemoved;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachModifierByActivityGachaStageMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int[] stageIDs;
[JsonProperty] public readonly string[] modifierNameSteps;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachModifierByNeuronMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string[] neuronNameList;
[JsonProperty] public readonly string modifierName;
[JsonProperty] public readonly bool authorityOnly;
[JsonProperty] public readonly string removeOperator;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachModifierToClimateMeterMixin : BaseAbilityMixin
{
[JsonProperty] public readonly float[] valueSteps;
[JsonProperty] public readonly string[] modifierNameSteps;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachModifierToElementDurabilityMixin : BaseAbilityMixin
{
[JsonProperty] public readonly object[] valueSteps;
[JsonProperty] public readonly string[] modifierNameSteps;
}
}

View File

@ -0,0 +1,11 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachModifierToGlobalValueMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string globalValueKey;
[JsonProperty] public readonly float[] valueSteps;
[JsonProperty] public readonly string[] modifierNameSteps;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachModifierToHPPercentMixin : BaseAbilityMixin
{
[JsonProperty] public readonly object[] valueSteps;
[JsonProperty] public readonly string[] modifierNameSteps;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachModifierToHPPercentMixinV2 : BaseAbilityMixin
{
[JsonProperty] public readonly float[] valueSteps;
[JsonProperty] public readonly string[] modifierNameSteps;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachModifierToSelfGlobalValueAndTalkStateMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string globalValueKey;
[JsonProperty] public readonly float[] valueSteps;
[JsonProperty] public readonly bool removeAppliedModifier;
[JsonProperty] public readonly string[] modifierNameSteps;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachModifierToSelfGlobalValueAndTalkStateNoInitMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string globalValueKey;
[JsonProperty] public readonly float[] valueSteps;
[JsonProperty] public readonly bool removeAppliedModifier;
[JsonProperty] public readonly string[] modifierNameSteps;
}
}

View File

@ -6,7 +6,7 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
[JsonProperty] public readonly string globalValueKey;
[JsonProperty] public readonly float defaultGlobalValueOnCreate;
[JsonProperty] public readonly float[] valueSteps;
[JsonProperty] public readonly object[] valueSteps;
[JsonProperty] public readonly string[] modifierNameSteps;
}
}

View File

@ -0,0 +1,11 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachModifierToSelfGlobalValueNoInitMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string globalValueKey;
[JsonProperty] public readonly float[] valueSteps;
[JsonProperty] public readonly string[] modifierNameSteps;
}
}

View File

@ -0,0 +1,17 @@
using Newtonsoft.Json;
using Weedwacker.GameServer.Enums;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachModifierToSurfaceTypeMixin : BaseAbilityMixin
{
[JsonProperty] public readonly ElementType surfaceType;
[JsonProperty] public readonly ModifierWithPredicates[] modifiersWithPredicates;
public class ModifierWithPredicates
{
[JsonProperty] public readonly string modifierName;
[JsonProperty] public readonly BasePredicate[] predicates;
}
}
}

View File

@ -0,0 +1,15 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachModifierToTargetDistanceMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int[] targetIDs;
[JsonProperty] public readonly bool byserver;
[JsonProperty] public readonly object[] valueSteps;
[JsonProperty] public readonly string[] modifierNameSteps;
[JsonProperty] public readonly string BlendParam;
[JsonProperty] public readonly string effectPattern;
[JsonProperty] public readonly int[] BlendDistance;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachToAIAlertnessMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int[] alertness;
[JsonProperty] public readonly string modifierName;
}
}

View File

@ -0,0 +1,11 @@
using Newtonsoft.Json;
using Weedwacker.GameServer.Enums;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachToElementTypeMixin : BaseAbilityMixin
{
[JsonProperty] public readonly ElementType[] elementTypes;
[JsonProperty] public readonly string modifierName;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachToGadgetStateMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int gadgetState;
[JsonProperty] public readonly string modifierName;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachToGadgetStateMutexMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int[] gadgetStates;
[JsonProperty] public readonly string[][] modifierNames;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachToPlayStageMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int stage;
[JsonProperty] public readonly ConfigAbilityAction[] actions;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachToPoseIDMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int[] poseIDs;
[JsonProperty] public readonly string modifierName;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttachToWidgetStateMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int targetWidgetMaterialId;
[JsonProperty] public readonly ConfigAbilityAction[] onActive;
[JsonProperty] public readonly ConfigAbilityAction[] onDisable;
[JsonProperty] public readonly ConfigAbilityAction[] onRemoved;
}
}

View File

@ -0,0 +1,13 @@
using Newtonsoft.Json;
using Weedwacker.GameServer.Enums;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttackCostElementMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string strikeType;
[JsonProperty] public readonly float strikeCostRatio;
[JsonProperty] public readonly ElementType costElementType;
[JsonProperty] public readonly string costType;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AttackHittingSceneMixin : BaseAbilityMixin
{
[JsonProperty] public readonly object[] animEventIDs;
[JsonProperty] public readonly ConfigAbilityAction[] onHittingScene;
}
}

View File

@ -9,7 +9,7 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
[JsonProperty] public readonly float maxValue;
[JsonProperty] public readonly float minValue;
[JsonProperty] public readonly float addValue;
[JsonProperty] public readonly BaseAction reviveAction;
[JsonProperty] public readonly Dictionary<ElementType, BaseAction> fireEffectActions;
[JsonProperty] public readonly ConfigAbilityAction reviveAction;
[JsonProperty] public readonly Dictionary<ElementType, ConfigAbilityAction> fireEffectActions;
}
}

View File

@ -6,7 +6,7 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
internal class AutoDefenceMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string[] stateIDs;
[JsonProperty] public readonly TriggerID defendTriggerID;
[JsonProperty] public readonly string defendTriggerID;
[JsonProperty] public readonly float defendProbability;
[JsonProperty] public readonly float defendProbabilityDelta;
[JsonProperty] public readonly string defendTimeInterval;

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class AvatarLockForwardFlyMixin : BaseAbilityMixin
{
[JsonProperty] public readonly Dictionary<string, float> worldForward;
[JsonProperty] public readonly float flySpeedScale;
[JsonProperty] public readonly float flyBackSpeedScale;
[JsonProperty] public readonly Dictionary<string, float> eularRawInput;
}
}

View File

@ -0,0 +1,9 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class BillboardFixedMarkMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string prefabName;
}
}

View File

@ -0,0 +1,9 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class BillboardMarkMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string iconName;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class BoxClampWindZoneMixin : BaseAbilityMixin
{
[JsonProperty] public readonly Dictionary<string, float> size;
[JsonProperty] public readonly BaseBornType born;
[JsonProperty] public readonly float attracForceStrength;
[JsonProperty] public readonly float maxStrengthRange;
}
}

View File

@ -7,11 +7,11 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
[JsonProperty] public readonly int overtime;
[JsonProperty] public readonly float chargeTime;
[JsonProperty] public readonly object secondChargeTime;
[JsonProperty] public readonly BaseAction[]? OnBeginUncharged;
[JsonProperty] public readonly BaseAction[]? OnReleaseUncharged;
[JsonProperty] public readonly BaseAction[]? OnBeginCharged;
[JsonProperty] public readonly BaseAction[]? OnReleaseCharged;
[JsonProperty] public readonly BaseAction[]? OnBeginSecondCharged;
[JsonProperty] public readonly ConfigAbilityAction[]? OnBeginUncharged;
[JsonProperty] public readonly ConfigAbilityAction[]? OnReleaseUncharged;
[JsonProperty] public readonly ConfigAbilityAction[]? OnBeginCharged;
[JsonProperty] public readonly ConfigAbilityAction[]? OnReleaseCharged;
[JsonProperty] public readonly ConfigAbilityAction[]? OnBeginSecondCharged;
[JsonProperty] public readonly string[] chargeStateIDs;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ChangeLockTypeMixin : BaseAbilityMixin
{
[JsonProperty] public readonly float overrideRange;
[JsonProperty] public readonly string lockType;
}
}

View File

@ -0,0 +1,13 @@
using Newtonsoft.Json;
using Weedwacker.GameServer.Enums;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ChargeBarMixin : BaseAbilityMixin
{
[JsonProperty] public readonly ElementType chargeBarElementType;
[JsonProperty] public readonly int chargeBarIconID;
[JsonProperty] public readonly int initialValue;
[JsonProperty] public readonly object maxValue;
}
}

View File

@ -0,0 +1,17 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class CircleBarrageMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int bulletID;
[JsonProperty] public readonly int innerRadius;
[JsonProperty] public readonly int cutNum;
[JsonProperty] public readonly int waveNum;
[JsonProperty] public readonly float waveCD;
[JsonProperty] public readonly int wavebulletNum;
[JsonProperty] public readonly int waveangle;
[JsonProperty] public readonly float triggerCD;
[JsonProperty] public readonly string shootPoint;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ClampDamageReceivedMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string clampType;
[JsonProperty] public readonly float maxValue;
}
}

View File

@ -0,0 +1,21 @@
using Newtonsoft.Json;
using Weedwacker.GameServer.Enums;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class CollisionMixin : BaseAbilityMixin
{
[JsonProperty] public readonly float minShockSpeed;
[JsonProperty] public readonly float cd;
[JsonProperty] public readonly Collision collision;
[JsonProperty] public readonly ConfigAbilityAction[] onCollision;
public class Collision
{
[JsonProperty] public readonly string triggerType;
[JsonProperty] public readonly float triggerCD;
[JsonProperty] public readonly TargetType targetType;
[JsonProperty] public readonly bool ignoreScene;
}
}
}

View File

@ -0,0 +1,11 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ConnectLineMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string RepeaterModifier;
[JsonProperty] public readonly string CollectorModifier;
[JsonProperty] public readonly string CollectorGlobalvalueKey;
}
}

View File

@ -5,6 +5,6 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
internal class CostStaminaMixin : BaseAbilityMixin
{
[JsonProperty] public readonly object costStaminaDelta;
[JsonProperty] public readonly BaseAction[] onStaminaEmpty;
[JsonProperty] public readonly ConfigAbilityAction[] onStaminaEmpty;
}
}

View File

@ -0,0 +1,6 @@
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DebugMixin : BaseAbilityMixin
{
}
}

View File

@ -0,0 +1,23 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DiePatternSwitchMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string priority;
[JsonProperty] public readonly bool startDieEndAtOnce;
[JsonProperty] public readonly bool ignoreElementDie;
[JsonProperty] public readonly bool notSendDieTrigger;
[JsonProperty] public readonly string dieDisappearEffect;
[JsonProperty] public readonly float dieDisappearEffectDelay;
[JsonProperty] public readonly float dieEndTime;
[JsonProperty] public readonly float dieForceDisappearTime;
[JsonProperty] public readonly float dieModelFadeDelay;
[JsonProperty] public readonly bool muteHitBox;
[JsonProperty] public readonly bool dieDenyLockOn;
[JsonProperty] public readonly bool dieIsGhostToEnemy;
[JsonProperty] public readonly bool dieIgnoreTriggerBullet;
[JsonProperty] public readonly bool muteBillboard;
[JsonProperty] public readonly bool mutePushCollider;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DigAttachModifierToTargetDistanceMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int targetID;
[JsonProperty] public readonly float distance;
[JsonProperty] public readonly ConfigAbilityAction[] foundActionArray;
[JsonProperty] public readonly ConfigAbilityAction[] unfoundActionArray;
}
}

View File

@ -5,6 +5,6 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
internal class DoActionByAnimatorStateIDMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string[] stateIDs;
[JsonProperty] public readonly BaseAction[] enterActions;
[JsonProperty] public readonly ConfigAbilityAction[] enterActions;
}
}

View File

@ -4,6 +4,6 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DoActionByCreateGadgetMixin : BaseAbilityMixin
{
[JsonProperty] public readonly BaseAction[] actionQueue;
[JsonProperty] public readonly ConfigAbilityAction[] actionQueue;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DoActionByDamageReceivedMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string paramType;
[JsonProperty] public readonly float valueMin;
[JsonProperty] public readonly float valueMax;
[JsonProperty] public readonly ConfigAbilityAction[] actionQueue;
}
}

View File

@ -7,6 +7,6 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
[JsonProperty] public readonly EntityType[] entityTypes;
[JsonProperty] public readonly ReactionType[] reactionTypes;
[JsonProperty] public readonly BaseAction[]? actions;
[JsonProperty] public readonly ConfigAbilityAction[]? actions;
}
}

View File

@ -7,6 +7,6 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
[JsonProperty] public readonly ElementType[] elementTypes;
[JsonProperty] public readonly bool doWhenEnergyMax;
[JsonProperty] public readonly BaseAction[] onGainEnergyByBall;
[JsonProperty] public readonly ConfigAbilityAction[] onGainEnergyByBall;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DoActionByEntityKillMixin : BaseAbilityMixin
{
[JsonProperty] public readonly BasePredicate[] predicates;
[JsonProperty] public readonly ConfigAbilityAction[] actionQueue;
}
}

View File

@ -8,6 +8,6 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
[JsonProperty] public readonly AvatarEventType onEvent;
[JsonProperty] public readonly string type;
[JsonProperty] public readonly BasePredicate[] predicates;
[JsonProperty] public readonly BaseAction[] actions;
[JsonProperty] public readonly ConfigAbilityAction[] actions;
}
}

View File

@ -7,6 +7,6 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
[JsonProperty] public readonly ElementType[] elementTypes;
[JsonProperty] public readonly bool doOffStage;
[JsonProperty] public readonly BaseAction[] actions;
[JsonProperty] public readonly ConfigAbilityAction[] actions;
}
}

View File

@ -5,6 +5,6 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
internal class DoActionByKillingMixin : BaseAbilityMixin
{
[JsonProperty] public readonly double detectWindow;
[JsonProperty] public readonly BaseAction[] onKill;
[JsonProperty] public readonly ConfigAbilityAction[] onKill;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DoActionByPoseIDMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int[] poseIDs;
[JsonProperty] public readonly ConfigAbilityAction[] enterActions;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DoActionByRayTagMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string[] UGCRayTriggerDirections;
[JsonProperty] public readonly float raycastInterval;
[JsonProperty] public readonly int[] rayTags;
[JsonProperty] public readonly string[] modifierToTags;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DoActionBySelfModifierElementDurabilityRatioMixin : BaseAbilityMixin
{
[JsonProperty] public readonly float[] valueSteps;
[JsonProperty] public readonly ConfigAbilityAction[] actionQueues;
}
}

View File

@ -5,6 +5,6 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
internal class DoActionByStateIDMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string[] stateIDs;
[JsonProperty] public readonly BaseAction[] enterActions;
[JsonProperty] public readonly ConfigAbilityAction[] enterActions;
}
}

View File

@ -4,6 +4,6 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DoActionByTeamStatusMixin : BaseAbilityMixin
{
[JsonProperty] public readonly BaseAction[] actions;
[JsonProperty] public readonly ConfigAbilityAction[] actions;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DoActionOnGlobalValueChangeMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string globalValueKey;
[JsonProperty] public readonly ConfigAbilityAction[] actions;
}
}

View File

@ -4,6 +4,6 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DoReviveMixin : BaseAbilityMixin
{
[JsonProperty] public readonly BaseAction[] onReviveActions;
[JsonProperty] public readonly ConfigAbilityAction[] onReviveActions;
}
}

View File

@ -0,0 +1,13 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DoTileActionManagerMixin : BaseAbilityMixin
{
[JsonProperty] public readonly float duration;
[JsonProperty] public readonly string actionID;
[JsonProperty] public readonly string actionPosKey;
[JsonProperty] public readonly string actionRadiusKey;
[JsonProperty] public readonly ConfigAbilityAction[] actions;
}
}

View File

@ -0,0 +1,9 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DummyMixin : BaseAbilityMixin
{
[JsonProperty] public readonly ConfigAbilityAction[] actionList;
}
}

View File

@ -0,0 +1,6 @@
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DvalinS01BoxMoxeMixin : BaseAbilityMixin
{
}
}

View File

@ -0,0 +1,25 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DvalinS01PathEffsMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int effectStart;
[JsonProperty] public readonly int effectEnd;
[JsonProperty] public readonly DvalinS01PathEffsInfo[] effInfos;
}
internal class DvalinS01PathEffsInfo
{
[JsonProperty] public readonly int flyState;
[JsonProperty] public readonly string effectName;
[JsonProperty] public readonly float intervalMax;
[JsonProperty] public readonly float intervalMin;
[JsonProperty] public readonly int numMax;
[JsonProperty] public readonly int numMin;
[JsonProperty] public readonly float rangeMax;
[JsonProperty] public readonly float rangeMin;
[JsonProperty] public readonly float eularMax;
[JsonProperty] public readonly float eularMin;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class DynamicCollisionMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string[] tags;
[JsonProperty] public readonly bool isChecker;
}
}

View File

@ -0,0 +1,11 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ElectricCoreLineMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string activateSkillKey;
[JsonProperty] public readonly BaseSelectTargetType otherTargets;
[JsonProperty] public readonly BasePredicate[] predicates;
}
}

View File

@ -0,0 +1,17 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ElectricCoreMoveMixin : BaseAbilityMixin
{
[JsonProperty] public readonly float stageOnceVelocity;
[JsonProperty] public readonly float stageOneAccelerate;
[JsonProperty] public readonly float stageTwoVelocity;
[JsonProperty] public readonly float stageTwoAttenuation;
[JsonProperty] public readonly float maxAbsorbTime;
[JsonProperty] public readonly BaseBornType toPos;
[JsonProperty] public readonly ConfigAbilityAction[] onCoreEnter;
[JsonProperty] public readonly ConfigAbilityAction[] onInterrupted;
[JsonProperty] public readonly ConfigAbilityAction[] onStartSuccess;
}
}

View File

@ -0,0 +1,9 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ElementConvertToChargeBarValueMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string group;
}
}

View File

@ -11,7 +11,7 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
public class ElementPredicateds
{
[JsonProperty] public readonly ElementType[] elementTypeArr;
[JsonProperty] public readonly BaseAction[] successActions;
[JsonProperty] public readonly ConfigAbilityAction[] successActions;
}
}
}

View File

@ -0,0 +1,6 @@
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ElementOuterGlowEffectMixin : BaseAbilityMixin
{
}
}

View File

@ -0,0 +1,11 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ElementReactionShockMixin : BaseAbilityMixin
{
[JsonProperty] public readonly float thinkInterval;
[JsonProperty] public readonly ConfigAbilityAction attackAction;
[JsonProperty] public readonly ConfigAbilityAction conductAction;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
using Weedwacker.GameServer.Enums;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ElementShieldMixin : BaseAbilityMixin
{
[JsonProperty] public readonly ElementType elementType;
[JsonProperty] public readonly float shieldHPRatio;
[JsonProperty] public readonly object damageRatio;
}
}

View File

@ -9,6 +9,6 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
[JsonProperty] public readonly object shieldHPRatio;
[JsonProperty] public readonly object shieldHP;
[JsonProperty] public readonly string showDamageText;
[JsonProperty] public readonly BaseAction[] onShieldBroken;
[JsonProperty] public readonly ConfigAbilityAction[] onShieldBroken;
}
}

View File

@ -0,0 +1,6 @@
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class EnableCharacterMoveOnWaterMixin : BaseAbilityMixin
{
}
}

View File

@ -0,0 +1,6 @@
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class EnableSprintInBlackMudMixin : BaseAbilityMixin
{
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class EntityDisplacementMixin : BaseAbilityMixin
{
[JsonProperty] public readonly float triggerDistance;
[JsonProperty] public readonly ConfigAbilityAction[] actionList;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class EntityDitherMixin : BaseAbilityMixin
{
[JsonProperty] public readonly BasePredicate[] predicates;
[JsonProperty] public readonly float ditherValue;
[JsonProperty] public readonly float cutInTime;
[JsonProperty] public readonly float cutOutTime;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class EntityInVisibleMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string reason;
[JsonProperty] public readonly bool disableAudio;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class EnviroFollowRotateMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string deactiveOnCutsecneName;
[JsonProperty] public readonly Dictionary<string, float> selfRotateOffSet;
}
}

View File

@ -0,0 +1,6 @@
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ExcludeGravityMixin : BaseAbilityMixin
{
}
}

View File

@ -7,8 +7,8 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
[JsonProperty] public readonly TargetType campTargetType;
[JsonProperty] public readonly BasePredicate[] targetPredicates;
[JsonProperty] public readonly BaseAction[] onFieldEnter;
[JsonProperty] public readonly BaseAction[] onFieldExit;
[JsonProperty] public readonly ConfigAbilityAction[] onFieldEnter;
[JsonProperty] public readonly ConfigAbilityAction[] onFieldExit;
}
}

View File

@ -0,0 +1,11 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class FireworksLauncherMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string startCountDownModifier;
[JsonProperty] public readonly ConfigAbilityAction[] OnEvtStartCountDown;
[JsonProperty] public readonly ConfigAbilityAction[] OnAllBulletsFired;
}
}

View File

@ -0,0 +1,14 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class FishingAimParabolaMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string globalValueKey;
[JsonProperty] public readonly float minAngle;
[JsonProperty] public readonly float maxAngle;
[JsonProperty] public readonly float minRange;
[JsonProperty] public readonly float maxRange;
[JsonProperty] public readonly BaseSelectTargetType otherTargets;
}
}

View File

@ -0,0 +1,6 @@
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class FixDvalinS04MoveMixin : BaseAbilityMixin
{
}
}

View File

@ -0,0 +1,11 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class FollowAttachPointEffectMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string modifierName;
[JsonProperty] public readonly string attachPriority;
[JsonProperty] public readonly bool refreshOnAvatarIn;
}
}

View File

@ -0,0 +1,17 @@
using Newtonsoft.Json;
using Weedwacker.GameServer.Enums;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class GadgetChargeMixin : BaseAbilityMixin
{
[JsonProperty] public readonly ElementType chargeType;
[JsonProperty] public readonly float chargeRatio;
[JsonProperty] public readonly float chargeValue;
[JsonProperty] public readonly float maxChargeValue;
[JsonProperty] public readonly float[] valueSteps;
[JsonProperty] public readonly string[] modifierNameSteps;
[JsonProperty] public readonly string globalValueKey;
[JsonProperty] public readonly string ratioGlobalValueKey;
}
}

View File

@ -0,0 +1,9 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class GadgetUpgradeChainMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string globalValueKey;
}
}

View File

@ -0,0 +1,9 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class HideAvatarSkillMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int[] skillID;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class HomeworldEnterEditorMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string[] editorModifierNames;
[JsonProperty] public readonly string[] worldModifierNames;
}
}

View File

@ -0,0 +1,10 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class HomeworldServerEventMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string[] editorModifierNames;
[JsonProperty] public readonly string[] worldModifierNames;
}
}

View File

@ -0,0 +1,11 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class IceFloorMixin : BaseAbilityMixin
{
[JsonProperty] public readonly float width;
[JsonProperty] public readonly float height;
[JsonProperty] public readonly ConfigAbilityAction doAction;
}
}

View File

@ -0,0 +1,9 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class InteractTriggerAbilityMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string abilityName;
}
}

View File

@ -0,0 +1,9 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class LocalAvatarsMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string modifierName;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ModifyCameraMaxDistanceMixin : BaseAbilityMixin
{
[JsonProperty] public readonly int MaxDistance;
[JsonProperty] public readonly bool ResetToMaxOnStart;
[JsonProperty] public readonly float LerpInDuration;
[JsonProperty] public readonly float LerpOutDuration;
}
}

View File

@ -7,8 +7,8 @@ namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
[JsonProperty] public readonly string[] attackTags;
[JsonProperty] public readonly object damageExtra;
[JsonProperty] public readonly object maxModifyCount;
[JsonProperty] public readonly BaseAction[] successActions;
[JsonProperty] public readonly BaseAction[] maxCountActions;
[JsonProperty] public readonly ConfigAbilityAction[] successActions;
[JsonProperty] public readonly ConfigAbilityAction[] maxCountActions;
[JsonProperty] public readonly BasePredicate[] predicates;
}
}

View File

@ -0,0 +1,9 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class ModifyElementDecrateMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string group;
}
}

View File

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class MonsterDefendMixin : BaseAbilityMixin
{
[JsonProperty] public readonly float defendAngle;
[JsonProperty] public readonly string defendTriggerID;
[JsonProperty] public readonly string[] stateIDs;
[JsonProperty] public readonly ConfigAbilityAction[] onDefendSucceded;
}
}

View File

@ -0,0 +1,14 @@
using Newtonsoft.Json;
namespace Weedwacker.GameServer.Data.BinOut.Ability.Temp.AbilityMixins
{
internal class MonsterLandMixin : BaseAbilityMixin
{
[JsonProperty] public readonly string dropToPos;
[JsonProperty] public readonly int launchSpeedBezierType;
[JsonProperty] public readonly bool hasDropPos;
[JsonProperty] public readonly float dropTime;
[JsonProperty] public readonly float dropSpeed;
[JsonProperty] public readonly ConfigAbilityAction[] onMotionChange;
}
}

Some files were not shown because too many files have changed in this diff Show More