コード例 #1
0
ファイル: ModSlime.cs プロジェクト: Boboo99/SoG-Modding
        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;
            }
            }
        }
コード例 #2
0
ファイル: ModSlime.cs プロジェクト: Boboo99/SoG-Modding
        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);
            }
        }