Inheritance: MonoBehaviour
        public FlagDominationScenario(Scenario_Info info, int tier)
            : base(info, tier)
        {
            foreach (Scenario_Object obj in info.ScenObjects)
            {
                if (obj.Type == "Capture Point")
                {
                    CapturePoint cPoint = new CapturePoint(obj, CaptureValid, OnCapture);
                    _capturePoints.Add(cPoint);
                    Region.AddObject(cPoint, info.MapId);
                }

                else if (obj.Type == "Flag")
                {
                    _flag = new HoldObject(obj.Identifier, obj.ObjectiveName, new Point3D(obj.WorldPosX, obj.WorldPosY, obj.PosZ), 60001, 13000, FlagPickedUp, ObjectDropped, ObjectReset, null, 299, 299);
                    Region.AddObject(_flag, info.MapId);
                    AddTrackedObject(_flag);
                }

                else
                {
                    LoadScenarioObject(obj);
                }
            }

            ZoneMgr curZone = Region.GetZoneMgr(Info.MapId);

            Region.LoadCells((ushort)(curZone.Info.OffX + 8), (ushort)(curZone.Info.OffY + 8), 8);
        }
示例#2
0
        public void FlagPickedUp(HoldObject flag, Player pickedBy)
        {
            ObjectPickedUp(flag, pickedBy);

            if (!EvtInterface.HasEvent(TimerUp))
            {
                SetTimerState(true);
            }
        }
        public void FlagReset(HoldObject b)
        {
            ObjectReset(b);

            if (b.Holder != null)
            {
                b.Holder.BuffInterface.RemoveBuffByEntry(14322);
                b.Holder.BuffInterface.RemoveBuffByEntry(14323);
            }
        }
示例#4
0
    // Update is called once per frame
    void OnTriggerEnter(Collider other)
    {
        canparavb  ticaret   = GameObject.FindWithTag("Player").GetComponent <canparavb>();
        HoldObject kayipobje = GameObject.FindWithTag("Player").GetComponent <HoldObject>();

        if (other.gameObject.tag == "tuco1")
        {
            ticaret.para += 1000;
            Destroy(paket);
            kayipobje.tekdondur = null;
        }
    }
 private void Start()
 {
     animator = transform.parent.GetComponent <Animator>();
     Physics.IgnoreLayerCollision(4, 10);
     Physics.IgnoreLayerCollision(4, 8);
     RefillCharges();
     playerHoldObject            = GameObject.FindGameObjectWithTag("Player").GetComponent <HoldObject>();
     extinguisherSlider          = GameObject.Find("ExtinguisherBar").GetComponent <Slider>();
     extinguisherSlider.maxValue = tankSize;
     particles = transform.Find("Water").GetComponent <ParticleSystem>();
     particles.Stop();
     audioSource = gameObject.AddComponent <AudioSource>() as AudioSource;
 }
        public void BallPickedUp(HoldObject ball, Player pickedBy)
        {
            for (int i = 0; i < 2; ++i)
            {
                foreach (Player plr in Players[i])
                {
                    SendObjectiveStates(plr);
                    plr.SendLocalizeString(new [] { pickedBy.GenderedName, (pickedBy.Realm == Realms.REALMS_REALM_ORDER ? "Order" : "Destruction"), ball.name }, ChatLogFilters.CHATLOGFILTERS_C_WHITE, Localized_text.TEXT_FLAG_PICKUP);
                }
            }

            EvtInterface.AddEvent(UpdateMapPosition, 1000, 0);
        }
        public void BallDropped(HoldObject ball)
        {
            for (int i = 0; i < 2; ++i)
            {
                foreach (Player plr in Players[i])
                {
                    SendObjectiveStates(plr);
                    plr.SendLocalizeString(ball.name, ChatLogFilters.CHATLOGFILTERS_C_WHITE, Localized_text.TEXT_FLAG_DROP);
                }
            }

            _murderballTicks[ball] = 0;

            EvtInterface.RemoveEvent(UpdateMapPosition);
        }
        public CaptureTheFlagScenario(Scenario_Info info, byte tier) : base(info, tier)
        {
            foreach (Scenario_Object obj in info.ScenObjects)
            {
                if (obj.Type == "Flag")
                {
                    HoldObject flag = new HoldObject(obj.Identifier, obj.ObjectiveName, new Point3D(obj.WorldPosX, obj.WorldPosY, obj.PosZ), 60001, 13000, ObjectPickedUp, FlagDropped, FlagReset, FlagBuffAssigned, 3442, 3442);

                    if (obj.ObjectiveName == "Order Flag")
                    {
                        flag.VfxState = 2;
                        _captureScore = obj.PointGain;
                        flag.SetActive(Realms.REALMS_REALM_DESTRUCTION);
                    }

                    else if (obj.ObjectiveName == "Destruction Flag")
                    {
                        flag.VfxState = 5;
                        _captureScore = obj.PointGain;
                        flag.SetActive(Realms.REALMS_REALM_ORDER);
                    }

                    else
                    {
                        flag.SetActive(0);
                        flag.HoldResetTimeSeconds = 180;
                        _captureScore             = obj.PointGain;
                    }

                    flag.ObjectType = 1;

                    _flags.Add(flag);
                    Region.AddObject(flag, info.MapId);
                    AddTrackedObject(flag);
                }
                else
                {
                    LoadScenarioObject(obj);
                }

                ZoneMgr curZone = Region.GetZoneMgr(Info.MapId);

                Region.LoadCells((ushort)(curZone.Info.OffX + 8), (ushort)(curZone.Info.OffY + 8), 8);
            }
        }
        public MurderballScenario(Scenario_Info info, int tier)
            : base(info, tier)
        {
            foreach (Scenario_Object obj in info.ScenObjects)
            {
                HoldObject ball;

                if (obj.ProtoEntry != 0)
                {
                    GameObject_proto proto = GameObjectService.GetGameObjectProto(obj.ProtoEntry);

                    ball = new HoldObject(obj.Identifier, obj.ObjectiveName, new Point3D(obj.WorldPosX, obj.WorldPosY, obj.PosZ), 14031, 30000, BallPickedUp, BallDropped, ObjectReset, BallBuffAssigned, proto.DisplayID, proto.DisplayID);
                }
                else
                {
                    ball = new HoldObject(obj.Identifier, obj.ObjectiveName, new Point3D(obj.WorldPosX, obj.WorldPosY, obj.PosZ), 14031, 30000, BallPickedUp, BallDropped, ObjectReset, BallBuffAssigned, 235, 233);
                }

                _murderballTicks.Add(ball, 0);
                Region.AddObject(ball, info.MapId);
            }
        }
示例#10
0
 public FlexibleInputDisplay(HoldObject script)
 {
     this.script = script;
 }
示例#11
0
 // Use this for initialization
 void Start()
 {
     mainCamera = GameObject.FindWithTag("MainCamera");
     holdObject = GameObject.Find("FPSController").GetComponent <HoldObject>();
 }
示例#12
0
 // Use this for initialization
 void Start()
 {
     holdScript = GetComponent <HoldObject>();
 }
        private void CheckCapture(GameObject flagBase, Player capturer)
        {
            if (flagBase == _flagBases[0])
            {
                if (capturer.Realm == Realms.REALMS_REALM_DESTRUCTION)
                {
                    capturer.SendClientMessage("This is the enemy realm's flag return point", ChatLogFilters.CHATLOGFILTERS_C_ABILITY_ERROR);
                    return;
                }
            }

            else if (flagBase == _flagBases[1])
            {
                if (capturer.Realm == Realms.REALMS_REALM_ORDER)
                {
                    capturer.SendClientMessage("This is the enemy realm's flag return point", ChatLogFilters.CHATLOGFILTERS_C_ABILITY_ERROR);
                    return;
                }
            }

            else
            {
                return;
            }

            HoldObject destFlag = null;

            foreach (HoldObject flag in _flags)
            {
                if (flag.Holder == capturer)
                {
                    destFlag = flag;
                }

                else if (flag.HeldState != EHeldState.Home)
                {
                    capturer.SendClientMessage("You cannot capture the enemy flag if your own is held", ChatLogFilters.CHATLOGFILTERS_C_ABILITY_ERROR);
                    return;
                }
            }

            if (destFlag == null)
            {
                capturer.SendClientMessage("You must be holding the flag to capture", ChatLogFilters.CHATLOGFILTERS_C_ABILITY_ERROR);
                return;
            }

            GivePoints((int)capturer.Realm, _captureScore);

            PacketOut Out = new PacketOut((byte)Opcodes.F_PLAY_SOUND);

            Out.WriteByte(0);
            Out.WriteUInt16(capturer.Realm == Realms.REALMS_REALM_ORDER ? (ushort)0x0C : (ushort)0x332);
            Out.Fill(0, 10);

            for (int i = 0; i < 2; ++i)
            {
                foreach (Player player in Players[i])
                {
                    player.SendLocalizeString(new[] { capturer.Name, capturer.Realm == Realms.REALMS_REALM_ORDER ? "Order" : "Destruction", destFlag.name }, ChatLogFilters.CHATLOGFILTERS_C_WHITE, Localized_text.TEXT_FLAG_CAPTURE);
                    player.SendPacket(Out);
                }
            }

            foreach (HoldObject flag in _flags)
            {
                flag.ResetTo(EHeldState.Home);
            }
        }
示例#14
0
 // Use this for initialization
 void Start()
 {
     holdObject = GetComponent <HoldObject>();
     itemObject = holdObject.Item;
 }
        private void CheckDropOff(GameObject flagDrop, Player capturer)
        {
            if (flagDrop == _flagDrops[0])
            {
                if (capturer.Realm == Realms.REALMS_REALM_DESTRUCTION)
                {
                    capturer.SendClientMessage("This is the enemy realm's flag drop off point", ChatLogFilters.CHATLOGFILTERS_C_ABILITY_ERROR);
                    return;
                }
            }

            else if (flagDrop == _flagDrops[1])
            {
                if (capturer.Realm == Realms.REALMS_REALM_ORDER)
                {
                    capturer.SendClientMessage("This is the enemy realm's flag drop off point", ChatLogFilters.CHATLOGFILTERS_C_ABILITY_ERROR);
                    return;
                }
            }

            else
            {
                return;
            }

            HoldObject destFlag = null;

            foreach (HoldObject flag in _flags)
            {
                if (flag.Holder == capturer)
                {
                    destFlag = flag;
                }

                else if (flag.HeldState != EHeldState.Carried)
                {
                    capturer.SendClientMessage("You can only drop off the enemy flag if both flags are held", ChatLogFilters.CHATLOGFILTERS_C_ABILITY_ERROR);
                    return;
                }
            }

            if (destFlag == null)
            {
                capturer.SendClientMessage("You are not holding a flag", ChatLogFilters.CHATLOGFILTERS_C_ABILITY_ERROR);
                return;
            }

            GivePoints((int)capturer.Realm, 50);

            PacketOut Out = new PacketOut((byte)Opcodes.F_PLAY_SOUND);

            Out.WriteByte(0);
            Out.WriteUInt16(capturer.Realm == Realms.REALMS_REALM_ORDER ? (ushort)0x0C : (ushort)0x332);
            Out.Fill(0, 10);

            for (int i = 0; i < 2; ++i)
            {
                foreach (Player player in Players[i])
                {
                    player.SendClientMessage($"{capturer.Name} of {(capturer.Realm == Realms.REALMS_REALM_ORDER ? "Order" : "Destruction")} has dropped off the {destFlag.name}!", ChatLogFilters.CHATLOGFILTERS_C_WHITE);
                    player.SendPacket(Out);
                }
            }

            foreach (HoldObject flag in _flags)
            {
                flag.ResetTo(EHeldState.Home);
            }
        }
示例#16
0
 public void ReleasedBy(HoldObject holdObject)
 {
     Debug.Log(this.name + " released by " + holdObject.name);
     transform.position = originalPosition;
 }
示例#17
0
 public void HeldBy(HoldObject holdObject)
 {
     Debug.Log(this.name + " being held by " + holdObject.name);
 }