public override void InstructionsFromServer(byte byInstructionID, params float[] afParams) { switch (byInstructionID) { case 0: AddHitEffect(); break; case 1: { ushort iID = (ushort)afParams[0]; int iDuration = 420; if (bIsElite) { iDuration = 450; } if (xOwner.enType == EnemyCodex.EnemyTypes.RedSlime) { SlowSlime mos2 = Utils.GetTheGame()._EntityMaster_AddDynamicEnvironment(iID, DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeSmall_Red, xOwner.xTransform.v2Pos, 0f, 0) as SlowSlime; mos2.iDeath = iDuration; } else if (xOwner.enType == EnemyCodex.EnemyTypes.GreenSlime) { SlowSlime mos = Utils.GetTheGame()._EntityMaster_AddDynamicEnvironment(iID, DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeSmall, xOwner.xTransform.v2Pos, 0f, 0) as SlowSlime; mos.iDeath = iDuration; } break; } } }
public override void OnAnimationCallback(AnimationInstruction xIns) { if (xIns.xEvent.afAlterableValues[0] != 0f || CAS.NetworkRole == NetworkHelperInterface.NetworkRole.Client) { return; } int iDuration = 420; if (bIsElite) { iDuration = 450; } if (xOwner.enType == EnemyCodex.EnemyTypes.RedSlime) { SlowSlime mos2 = Utils.GetTheGame()._EntityMaster_AddDynamicEnvironment(DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeSmall_Red, xOwner.xTransform.v2Pos) as SlowSlime; if (bIsElite) { mos2.fMoveSpeedDebuff = Math.Max(0.15f - (float)(CAS.DifficultySetting + 1) * 0.02f, 0.07f); } mos2.iDeath = iDuration; SendClientInstruction(1, (int)mos2.iID); } else if (xOwner.enType == EnemyCodex.EnemyTypes.GreenSlime) { SlowSlime mos = Utils.GetTheGame()._EntityMaster_AddDynamicEnvironment(DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeSmall, xOwner.xTransform.v2Pos) as SlowSlime; if (CAS.CurrentZone == Level.ZoneEnum.GhostShip_FXTopLeftHouse) { mos.iDeath = 120; } if (bIsElite) { mos.fMoveSpeedDebuff = Math.Max(0.32f - (float)(CAS.DifficultySetting + 1) * 0.04f, 0.13f); } mos.iDeath = iDuration; SendClientInstruction(1, (int)mos.iID); } }