public override void ChangeModifierConfig(ConfigAbilityModifier modifier) { AvatarTiedMixin element = new AvatarTiedMixin { UntieSteerAmount = this.UntieSteerAmount }; Miscs.ArrayAppend <ConfigAbilityMixin>(ref modifier.ModifierMixins, element); }
public override void ChangeModifierConfig(ConfigAbilityModifier modifier) { ModifyDamageByAttackeeMixin element = new ModifyDamageByAttackeeMixin { AddedDamageTakeRatio = this.TakeExtraDamageRatio, Predicates = new ConfigAbilityPredicate[0] }; Miscs.ArrayAppend <ConfigAbilityMixin>(ref modifier.ModifierMixins, element); }
public override void ChangeModifierConfig(ConfigAbilityModifier modifier) { modifier.ThinkInterval = this.BleedCD; DamageByAttackValue element = new DamageByAttackValue { Target = AbilityTargetting.Self, DamagePercentage = this.DamagePercentage, AddedDamageValue = this.BleedDamage }; Miscs.ArrayAppend <ConfigAbilityAction>(ref modifier.OnThinkInterval, element); }
public override void ChangeModifierConfig(ConfigAbilityModifier modifier) { modifier.Properties.Add("Animator_MoveSpeedRatio", this.MoveSpeedRatio); }
public override void ChangeModifierConfig(ConfigAbilityModifier modifier) { modifier.Properties.Add("Actor_CriticalChanceDelta", this.CritChanceDelta); }
public override void ChangeModifierConfig(ConfigAbilityModifier modifier) { modifier.Properties.Add("Entity_AttackSpeed", this.AttackSpeedRatio); }
public override void ChangeModifierConfig(ConfigAbilityModifier modifier) { modifier.Properties.Add("Actor_AddedAttackRatio", this.AttackRatio); modifier.Properties.Add("Actor_AniDamageDelta", this.AniDamageRatio); }
public abstract void ChangeModifierConfig(ConfigAbilityModifier modifier);
public void OnLoaded() { if (this.AbilitySpecials != ConfigDynamicArguments.EMPTY) { List <string> list = new List <string>(this.AbilitySpecials.Keys); foreach (string str in list) { if (this.AbilitySpecials[str] is int) { this.AbilitySpecials[str] = (int)this.AbilitySpecials[str]; } } } foreach (KeyValuePair <string, ConfigAbilityModifier> pair in this.Modifiers) { pair.Value.ModifierName = pair.Key; ConfigAbilityModifier modifier = pair.Value; if ((AbilityState.Undamagable | AbilityState.MaxMoveSpeed | AbilityState.Immune | AbilityState.CritUp | AbilityState.Shielded | AbilityState.PowerUp | AbilityState.AttackSpeedUp | AbilityState.MoveSpeedUp | AbilityState.Endure).ContainsState(modifier.State)) { modifier.IsBuff = true; } else if ((AbilityState.Tied | AbilityState.TargetLocked | AbilityState.Fragile | AbilityState.Weak | AbilityState.AttackSpeedDown | AbilityState.MoveSpeedDown | AbilityState.Frozen | AbilityState.Poisoned | AbilityState.Burn | AbilityState.Paralyze | AbilityState.Stun | AbilityState.Bleed).ContainsState(modifier.State)) { modifier.IsDebuff = true; } if (modifier.IsBuff) { if (modifier.Stacking == ConfigAbilityModifier.ModifierStacking.Unique) { modifier.Stacking = ConfigAbilityModifier.ModifierStacking.Refresh; } } else if (modifier.IsDebuff) { } if ((modifier.State != AbilityState.None) && (modifier.StateOption != null)) { modifier.StateOption.ChangeModifierConfig(modifier); } } if (this.DefaultModifier != null) { if (this.Modifiers == EMPTY_MODIFIERS) { this.Modifiers = new Dictionary <string, ConfigAbilityModifier>(); } this.DefaultModifier.ModifierName = "__DEFAULT_MODIFIER"; this.Modifiers.Add("__DEFAULT_MODIFIER", this.DefaultModifier); List <ConfigAbilityAction> list2 = new List <ConfigAbilityAction>(this.OnAdded); ApplyModifier item = new ApplyModifier { ModifierName = "__DEFAULT_MODIFIER", Target = AbilityTargetting.Caster }; list2.Insert(0, item); this.OnAdded = list2.ToArray(); this.DefaultModifier = null; } this.InvokeSites = new List <BaseActionContainer>(); this.AddSubActions(this.OnAdded); this.AddSubActions(this.OnRemoved); this.AddSubActions(this.OnAbilityStart); this.AddSubActions(this.OnKilled); this.AddSubActions(this.OnDestroy); this.AddSubActions(this.OnFieldEnter); this.AddSubActions(this.OnFieldExit); this.AddMixins(this.AbilityMixins); string[] array = new string[this.Modifiers.Count]; this.Modifiers.Keys.CopyTo(array, 0); Array.Sort <string>(array); this.ModifierIDMap = new ConfigAbilityModifier[array.Length]; for (int i = 0; i < array.Length; i++) { ConfigAbilityModifier modifier2 = this.Modifiers[array[i]]; modifier2.localID = i; this.ModifierIDMap[i] = modifier2; this.AddSubActions(modifier2.OnAdded); this.AddSubActions(modifier2.OnRemoved); this.AddSubActions(modifier2.OnBeingHit); this.AddSubActions(modifier2.OnBeingHitResolved); this.AddSubActions(modifier2.OnAttackLanded); this.AddSubActions(modifier2.OnThinkInterval); this.AddSubActions(modifier2.OnEvadeStart); this.AddSubActions(modifier2.OnEvadeSuccess); this.AddSubActions(modifier2.OnMonsterCreated); this.AddSubActions(modifier2.OnAvatarCreated); this.AddSubActions(modifier2.OnKilled); this.AddMixins(modifier2.ModifierMixins); } }
public override void ChangeModifierConfig(ConfigAbilityModifier modifier) { modifier.Properties.Add("Actor_DefenceRatio", this.DefenceRatio); modifier.Properties.Add("Actor_AniDefenceDelta", this.AniDefenceRatio); }