Пример #1
0
        protected IEnumerator DoAction(Coroutine co, ObjPlayer player)
        {
            // 给怪物加眩晕buff
            PushActionToAllObj(obj =>
            {
                var tempNpc = obj as ObjNPC;
                if (tempNpc == null)
                {
                    return;
                }
                if (!tempNpc.IsMonster())
                {
                    return;
                }

                tempNpc.AddBuff(XuanYunBuffId, 1, tempNpc);
            });

            //给玛雅武器
            var item = -1;

            if (player.GetRole() == 0) // 战士
            {
                item = 600100;
            }
            else if (player.GetRole() == 1) // 法师
            {
                item = 600101;
            }
            else if (player.GetRole() == 2) // 弓手
            {
                item = 600102;
            }
            if (item == -1)
            {
                yield break;
            }

            CoroutineFactory.NewCoroutine(GiveItemCoroutine, player.ObjId, item, 1, player).MoveNext();

            yield break;
        }
Пример #2
0
        public override void OnPlayerLeave(ObjPlayer player)
        {
            if (player == null)
            {
                return;
            }

            base.OnPlayerLeave(player);

            player.Proxy.NotifyStartMaYaFuBenGuide(1);

            // 给主角删除buff
            var buff1 = -1;
            var buff2 = -1;

            if (player.GetRole() == 0)             //战士
            {
                buff1 = 513;
                buff2 = 510;
            }
            else if (player.GetRole() == 1)             //法师
            {
                buff1 = 514;
                buff2 = 511;
            }
            else if (player.GetRole() == 2)             // 弓手
            {
                buff1 = 515;
                buff2 = 512;
            }

            if (buff1 == -1 || buff2 == -1)
            {
                return;
            }
            player.DeleteBuff(buff1, eCleanBuffType.EffectOver);
            player.DeleteBuff(buff2, eCleanBuffType.EffectOver);
        }