Example #1
0
        public override void OnPrepareNewGame()
        {
            base.OnPrepareNewGame();

            m_boss = Game.CreateBoss(bossID, 888, 590, -1, 0);
            m_boss.SetRelateDemagemRect(-41, -187, 83, 140);
            m_boss.FallFrom(888, 690, "fall", 0, 2, 1000);
            m_front.PlayMovie("in", 2000, 0);
            m_kingMoive.PlayMovie("in", 1000, 0);
            m_kingMoive.PlayMovie("out", 4800, 0);

            m_boss.AddDelay(16);

            Game.BossCardCount = 1;

            //再试一次跳过剧情动画
            if (Game.WantTryAgain == 1)
            {
                return;
            }

            m_boss.SetRect(-191, -226, 44, 58);
            m_king.ChangeDirection(1, 5000);

            m_boss.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1277.msg13"), 2, 6000);
            m_boss.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1277.msg14"), 2, 10000);
            m_boss.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1277.msg15"), 2, 14000);
            m_boss.PlayMovie("cast", 18500, 0);
            m_boss.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1277.msg16"), 2, 18000);

            Game.AddAction(new FocusAction(m_king.X, m_king.Y - 30, 0, 22000, 0));
            m_king.ChangeDirection(-1, 22000);
            m_king.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1277.msg17"), 2, 23000);
            m_king.ChangeDirection(1, 25000);
            m_king.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1277.msg18"), 2, 27000);

            if (m_king.ShootPoint(m_boss.X, m_boss.Y, 61, 1000, 10000, 1, 1, 28300))
            {
                m_king.PlayMovie("beat2", 27500, 0, new LivingCallBack(Game.SendSyncLifeTime));
            }
            m_king.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1277.msg19"), 2, 31000);


            Game.AddAction(new FocusAction(736, 515, 0, 29500, 0));
            m_boss.PlayMovie("beatA", 28300, 0);
            m_boss.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1277.msg20"), 2, 28500);
            m_boss.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1277.msg21"), 2, 36000);
            m_boss.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1277.msg22"), 2, 40000);

            m_boss.PlayMovie("mantra", 46000, 0);
            m_boss.Seal(m_king, 2, 48000);
            m_boss.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1277.msg23"), 2, 44000);

            m_king.ChangeDirection(-1, 50000);
            m_king.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1277.msg24"), 2, 51000);
            m_king.PlayMovie("out", 55000, 0);
            m_king.OffSeal(m_king, 55000);

            Game.AddAction(new PlayBackgroundSoundAction(true, 55000));
        }
Example #2
0
        public override bool CanGameOver()
        {
            base.CanGameOver();
            if (m_king.IsLiving == false)
            {
                if (m_state == firstBossID)
                {
                    m_state++;
                }
            }

            if (m_state == secondBossID && m_secondKing == null)
            {
                //m_kingMoive = Game.Createlayer(0, 0, "moive", "game.asset.living.BossBgAsset", "out", 1, 1, 0);
                m_secondKing = Game.CreateBoss(m_state, m_king.X, m_king.Y, m_king.Direction, 1);
                Game.RemoveLiving(m_king.Id);

                if (m_secondKing.Direction == 1)
                {
                    m_secondKing.SetRect(-40, -112, 115, 96);
                }

                m_secondKing.SetRelateDemagemRect(-21, -87, 72, 59);
                m_secondKing.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1176.msg3"), 0, 3000);
                //m_kingMoive.PlayMovie("in", 5000, 0);
                //m_kingMoive.PlayMovie("out", 9000, 0);

                List <Player> players      = Game.GetAllFightPlayers();
                Player        RandomPlayer = Game.FindRandomPlayer();

                int minDelay = 0;

                if (RandomPlayer != null)
                {
                    minDelay = RandomPlayer.Delay;
                }

                foreach (Player player in players)
                {
                    if (player.Delay < minDelay)
                    {
                        minDelay = player.Delay;
                    }
                }

                m_secondKing.AddDelay(minDelay - 2000);
                turn = Game.TurnIndex;
            }

            if (m_secondKing != null && m_secondKing.IsLiving == false)
            {
                Game.CreatePhysicalObj(m_secondKing.X, m_secondKing.Y, "king", "game.living.LivingRecover005", "0", 0, 0, 0);
                m_kill++;
                return(true);
            }

            return(false);
        }
Example #3
0
        public override bool CanGameOver()
        {
            base.CanGameOver();
            if (m_king.IsLiving == false)
            {
                if (m_state == firstBossID)
                {
                    m_state++;
                }
            }

            if (m_state == secondBossID && m_secondKing == null)
            {
                m_secondKing = Game.CreateBoss(m_state, m_king.X, m_king.Y, m_king.Direction, 2);
                Game.RemoveLiving(m_king.Id);


                if (m_secondKing.Direction == 1)
                {
                    m_secondKing.SetRect(-40, -112, 115, 96);
                }
                m_secondKing.SetRelateDemagemRect(-21, -87, 72, 59);

                m_secondKing.Say(LanguageMgr.GetTranslation("GameServerScript.AI.Messions.CHM1276.msg3"), 0, 3000);

                List <Player> players      = Game.GetAllFightPlayers();
                Player        RandomPlayer = Game.FindRandomPlayer();

                int minDelay = 0;

                if (RandomPlayer != null)
                {
                    minDelay = RandomPlayer.Delay;
                }

                foreach (Player player in players)
                {
                    if (player.Delay < minDelay)
                    {
                        minDelay = player.Delay;
                    }
                }

                m_secondKing.AddDelay(minDelay - 2000);
                turn = Game.TurnIndex;
            }

            if (m_secondKing != null && m_secondKing.IsLiving == false)
            {
                m_kill++;
                direction = m_secondKing.Direction;
                return(true);
            }

            return(false);
        }
Example #4
0
        public override void OnNewTurnStarted()
        {
            base.OnNewTurnStarted();
            if (m_boss.State == 0)
            {
                m_boss.SetRelateDemagemRect(-41, -187, 83, 140);
            }

            if (m_king != null)
            {
                Game.RemoveLiving(m_king.Id);
                m_king.Die();
                m_king = null;
                Game.AddAction(new LockFocusAction(true, 0, 0));
                m_boss.SetRect(m_boss.NpcInfo.X, m_boss.NpcInfo.Y, m_boss.NpcInfo.Width, m_boss.NpcInfo.Height);
            }
        }