Example #1
0
        public UltimaMoongate_Frame(UltimaMoongate gate, MoongateFrame frame = MoongateFrame.Frame8, bool reverse = false, int itemid = 0x0F6C) : base(itemid)
        {
            m_baseGate             = gate;
            m_Frame                = frame;
            m_baseGate.currentGate = this;
            m_reverse              = reverse;

            Movable = false;
            Visible = true;
            Light   = LightType.Circle300;

            if (m_Frame == MoongateFrame.Frame8)
            {
                m_baseGate.gateOpened = true;

                if (gate.OpenTime > 0)
                {
                    GateTimer = new TransitionTimer(gate, this, true, gate.OpenTime);
                    GateTimer.Start();
                }
            }
            else
            {
                GateTimer = new TransitionTimer(gate, this, reverse);
                GateTimer.Start();
            }
        }
Example #2
0
        // Returns the ItemID of an animation frame for a moongate colour. Frame 8 is the pulsating 'open gate'.
        public static int GetMoongateFrameID(MoongateColour colour, MoongateFrame frame)
        {
            if (colour == MoongateColour.Blue)
            {
                switch (frame)
                {
                case MoongateFrame.Frame0: return(0x1AF4);

                case MoongateFrame.Frame1: return(0x1AF5);

                case MoongateFrame.Frame2: return(0x1AF6);

                case MoongateFrame.Frame3: return(0x1AF7);

                case MoongateFrame.Frame4: return(0x1AF8);

                case MoongateFrame.Frame5: return(0x1AF9);

                case MoongateFrame.Frame6: return(0x1AFA);

                case MoongateFrame.Frame7: return(0x1AFB);

                case MoongateFrame.Frame8: return(0x0F6C);
                }
            }
            else if (colour == MoongateColour.Red)
            {
                switch (frame)
                {
                case MoongateFrame.Frame0: return(0x1AE6);

                case MoongateFrame.Frame1: return(0x1AE7);

                case MoongateFrame.Frame2: return(0x1AE8);

                case MoongateFrame.Frame3: return(0x1AE9);

                case MoongateFrame.Frame4: return(0x1AEA);

                case MoongateFrame.Frame5: return(0x1AEB);

                case MoongateFrame.Frame6: return(0x1AEC);

                case MoongateFrame.Frame7: return(0x1AED);

                case MoongateFrame.Frame8: return(0x0DDA);
                }
            }
            else if (colour == MoongateColour.Black)
            {
                switch (frame)
                {
                case MoongateFrame.Frame0: return(0x1FCC);

                case MoongateFrame.Frame1: return(0x1FCD);

                case MoongateFrame.Frame2: return(0x1FCE);

                case MoongateFrame.Frame3: return(0x1FCF);

                case MoongateFrame.Frame4: return(0x1FD0);

                case MoongateFrame.Frame5: return(0x1FD1);

                case MoongateFrame.Frame6: return(0x1FD2);

                case MoongateFrame.Frame7: return(0x1FD3);

                case MoongateFrame.Frame8: return(0x1FD4);
                }
            }
            else if (colour == MoongateColour.Silver)
            {
                switch (frame)
                {
                case MoongateFrame.Frame0: return(0x1FDF);

                case MoongateFrame.Frame1: return(0x1FE0);

                case MoongateFrame.Frame2: return(0x1FE1);

                case MoongateFrame.Frame3: return(0x1FE2);

                case MoongateFrame.Frame4: return(0x1FE3);

                case MoongateFrame.Frame5: return(0x1FE4);

                case MoongateFrame.Frame6: return(0x1FE5);

                case MoongateFrame.Frame7: return(0x1FE6);

                case MoongateFrame.Frame8: return(0x1FE7);
                }
            }

            return(0);
        }