public void MPResponseHandleLevelBuff(LevelBuffAction action, LevelBuffType type, bool enteringSlow, bool notStartEffect, uint ownerID, LevelBuffSide side, int instancedAbilityID, int actionLocalID) { BaseLevelBuff witchTimeLevelBuff; LevelBuffType type2 = type; if (type2 == LevelBuffType.WitchTime) { witchTimeLevelBuff = base.witchTimeLevelBuff; } else if (type2 == LevelBuffType.StopWorld) { witchTimeLevelBuff = base.stopWorldLevelBuff; } else { witchTimeLevelBuff = null; } switch (action) { case LevelBuffAction.Add: if (type != LevelBuffType.WitchTime) { if (type == LevelBuffType.StopWorld) { base.stopWorldLevelBuff.Setup(enteringSlow, 10f, ownerID); } break; } base.witchTimeLevelBuff.Setup(enteringSlow, 10f, side, notStartEffect); break; case LevelBuffAction.Remove: this.StopLevelBuff(witchTimeLevelBuff); return; case LevelBuffAction.SwitchSide: base.witchTimeLevelBuff.SwitchSide(enteringSlow, 10f, side, ownerID, notStartEffect); this.DestroyLevelBuffEffect(type); this.CreateLevelBuffEffect(type, ownerID, instancedAbilityID, actionLocalID); Singleton <EventManager> .Instance.FireEvent(new EvtLevelBuffState(type, LevelBuffState.Switch, base.witchTimeLevelBuff.levelBuffSide, ownerID), MPEventDispatchMode.Normal); return; case LevelBuffAction.SameSideExtend: witchTimeLevelBuff.ownerID = ownerID; base.witchTimeLevelBuff.ExtendDuration(10f, enteringSlow, true); return; default: return; } witchTimeLevelBuff.ownerID = ownerID; base.AddPlugin(witchTimeLevelBuff); witchTimeLevelBuff.isActive = true; this.CreateLevelBuffEffect(type, ownerID, instancedAbilityID, actionLocalID); Singleton <EventManager> .Instance.FireEvent(new EvtLevelBuffState(type, LevelBuffState.Start, base.witchTimeLevelBuff.levelBuffSide, ownerID), MPEventDispatchMode.Normal); }
private void SendLevelBuffResponse(LevelBuffAction action, LevelBuffType type, bool enteringSlow, bool notStartEffect, uint ownerID, LevelBuffSide side, int instancedAbilityID = 0, int actionLocalID = 0) { MPSendPacketContainer pc = Singleton <MPManager> .Instance.CreateSendPacket <Packet_Level_ResultLevelBuff>(); bool flag = enteringSlow; bool flag2 = notStartEffect; Offset <Packet_Level_ResultLevelBuff> offset = Packet_Level_ResultLevelBuff.CreatePacket_Level_ResultLevelBuff(pc.builder, action, 0, (byte)side, flag, flag2, ownerID, (byte)instancedAbilityID, (byte)actionLocalID); pc.Finish <Packet_Level_ResultLevelBuff>(offset); Singleton <MPManager> .Instance.SendReliableToOthers(0x21800001, pc); }