Example #1
0
 public void StartRecordInvokeEntry(int instancedAbilityID, int instancedModifierID, uint targetRuntimeID, int localID, out RecordInvokeEntryContext entry)
 {
     entry = new RecordInvokeEntryContext();
     entry.instancedAbilityID = (byte)instancedAbilityID;
     entry.instanceModifierID = (byte)instancedModifierID;
     entry.targetID           = (targetRuntimeID != base._owner.runtimeID) ? targetRuntimeID : 0;
     entry.localID            = (byte)localID;
     entry.builder            = this._invokeTableBuilder;
     entry.outOffsetLs        = this._invokeTableOffsets;
 }
Example #2
0
        public void ApplyLevelBuff_AuthorityHandler(ConfigAbilityAction actionConfig, ActorAbility instancedAbility, ActorModifier instancedModifier, BaseAbilityActor target, BaseEvent evt, ref RecordInvokeEntryContext context)
        {
            LevelBuffSide  overrideCurSide;
            ApplyLevelBuff config    = (ApplyLevelBuff)actionConfig;
            float          duration  = base._Internal_CalculateApplyLevelBuffDuration(config, instancedAbility, evt);
            uint           runtimeID = instancedAbility.caster.runtimeID;

            if (config.UseOverrideCurSide)
            {
                overrideCurSide = config.OverrideCurSide;
            }
            else
            {
                overrideCurSide = base.CalculateLevelBuffSide(instancedAbility.caster.runtimeID);
            }
            MPSendPacketContainer pc = Singleton <MPManager> .Instance.CreateSendPacket <Packet_Level_RequestLevelBuff>();

            Packet_Level_RequestLevelBuff.StartPacket_Level_RequestLevelBuff(pc.builder);
            Packet_Level_RequestLevelBuff.AddLevelBuffType(pc.builder, (byte)config.LevelBuff);
            Packet_Level_RequestLevelBuff.AddEnteringSlow(pc.builder, config.EnteringTimeSlow);
            Packet_Level_RequestLevelBuff.AddAllowRefresh(pc.builder, config.LevelBuffAllowRefresh);
            Packet_Level_RequestLevelBuff.AddSide(pc.builder, (byte)overrideCurSide);
            Packet_Level_RequestLevelBuff.AddOwnerRuntimeID(pc.builder, runtimeID);
            Packet_Level_RequestLevelBuff.AddNotStartEffect(pc.builder, config.NotStartEffect);
            Packet_Level_RequestLevelBuff.AddDuration(pc.builder, duration);
            Packet_Level_RequestLevelBuff.AddInstancedAbilityID(pc.builder, (byte)instancedAbility.instancedAbilityID);
            Packet_Level_RequestLevelBuff.AddActionLocalID(pc.builder, (byte)config.localID);
            pc.Finish <Packet_Level_RequestLevelBuff>(Packet_Level_RequestLevelBuff.EndPacket_Level_RequestLevelBuff(pc.builder));
            Singleton <MPManager> .Instance.SendReliableToPeer(0x21800001, 1, pc);

            Singleton <MPLevelManager> .Instance.levelActor.GetPlugin <MPLevelAbilityHelperPlugin>().AttachPendingModifiersToNextLevelBuff(config, base._owner.runtimeID, instancedAbility.instancedAbilityID, (target != null) ? target.runtimeID : 0);
        }
Example #3
0
 public void TriggerAbility_AuthorityHandler(ConfigAbilityAction actionConfig, ActorAbility instancedAbility, ActorModifier instancedModifier, BaseAbilityActor target, BaseEvent evt, ref RecordInvokeEntryContext context)
 {
     base.TriggerAbilityHandler(actionConfig, instancedAbility, instancedModifier, target, evt);
     context.Finish(true);
 }
Example #4
0
 public static void STUB_AuthorityMute(ConfigAbilityAction actionConfig, ActorAbility instancedAbility, ActorModifier instancedModifier, BaseAbilityActor target, BaseEvent evt, ref RecordInvokeEntryContext context)
 {
     context.Finish(false);
 }
Example #5
0
 public void RemoveModifier_AuthorityHandler(ConfigAbilityAction actionConfig, ActorAbility instancedAbility, ActorModifier instancedModifier, BaseAbilityActor target, BaseEvent evt, ref RecordInvokeEntryContext context)
 {
     MoleMole.Config.RemoveModifier modifier = (MoleMole.Config.RemoveModifier)actionConfig;
     if (target == base._owner)
     {
         base._owner.abilityPlugin.TryRemoveModifier(instancedAbility, modifier.ModifierName);
     }
     else if (Singleton <MPEventManager> .Instance.IsIdentityAuthority(target.runtimeID))
     {
         target.abilityPlugin.TryRemoveModifier(instancedAbility, modifier.ModifierName);
     }
     else
     {
         context.Finish(true);
     }
 }
Example #6
0
 public void Predicated_AuthorityHandler(ConfigAbilityAction actionConfig, ActorAbility instancedAbility, ActorModifier instancedModifier, BaseAbilityActor target, BaseEvent evt, ref RecordInvokeEntryContext context)
 {
     base.PredicatedHandler(actionConfig, instancedAbility, instancedModifier, target, evt);
 }
Example #7
0
 public void HealSP_AuthorityHandler(ConfigAbilityAction actionConfig, ActorAbility instancedAbility, ActorModifier instancedModifier, BaseAbilityActor target, BaseEvent evt, ref RecordInvokeEntryContext context)
 {
     this.HealSP_Common((HealSP)actionConfig, instancedAbility, target);
     context.Finish(true);
 }
Example #8
0
 public void DamageByAttackValue_AuthorityHandler(ConfigAbilityAction actionConfig, ActorAbility instancedAbility, ActorModifier instancedModifier, BaseAbilityActor target, BaseEvent evt, ref RecordInvokeEntryContext context)
 {
     base.DamageByAttackValueHandler(actionConfig, instancedAbility, instancedModifier, target, evt);
 }
Example #9
0
 protected void StartRecordMixinInvokeEntry(out RecordInvokeEntryContext context, uint targetID = 0)
 {
     this.actor.mpAbilityPlugin.StartRecordInvokeEntry(this.instancedAbility.instancedAbilityID, (this.instancedModifier == null) ? 0 : this.instancedModifier.instancedModifierID, (targetID != 0) ? targetID : this.actor.runtimeID, this.mixinLocalID, out context);
 }