Ejemplo n.º 1
0
        public World(ProtoWorld proto)
        {
            Setup();
            Id            = proto.id;
            Name          = proto.name;
            SBName        = proto.sbName;
            Difficulty    = proto.difficulty;
            Background    = proto.background;
            IsLimbo       = proto.isLimbo;
            Persist       = proto.persist;
            AllowTeleport = !proto.restrictTp;
            ShowDisplays  = proto.showDisplays;
            Blocking      = proto.blocking;
            Opener        = "";

            var rnd = new Random();

            if (proto.music != null)
            {
                Music = proto.music[rnd.Next(0, proto.music.Length)];
            }
            else
            {
                Music = "Test";
            }
        }
Ejemplo n.º 2
0
        private void AddWorld(ProtoWorld proto, bool actAsNexus = false)
        {
            int id;

            if (actAsNexus)
            {
                id = World.Nexus;
            }
            else
            {
                id = (proto.id < 0)
                    ? proto.id
                    : Interlocked.Increment(ref _nextWorldId);
            }

            World world;

            DynamicWorld.TryGetWorld(proto, null, out world);
            if (world != null)
            {
                AddWorld(id, world);
                return;
            }

            AddWorld(id, new World(proto));
        }
Ejemplo n.º 3
0
        private void AddWorld(ProtoWorld proto, bool actAsNexus = false)
        {
            int id;

            if (actAsNexus)
            {
                id = World.Nexus;
            }
            else
            {
                id = (proto.id < 0)
                    ? proto.id
                    : Interlocked.Increment(ref _nextWorldId);
            }

            DynamicWorld.TryGetWorld(proto, null, out var world);
            if (world != null)
            {
                if (world is Marketplace && !Config.serverSettings.enableMarket)
                {
                    return;
                }

                AddWorld(id, world);
                return;
            }

            AddWorld(id, new World(proto));
        }
Ejemplo n.º 4
0
 public DeathArena(ProtoWorld proto, Client client = null)
     : base(proto)
 {
     Instance = this;
     WorldLoot.Add(new ItemLoot("Oryx's Arena Key", 0));
     _arenaState = ArenaState.NotStarted;
     _wave       = 1;
 }
Ejemplo n.º 5
0
 public Vault(ProtoWorld proto, Client client = null) : base(proto)
 {
     if (client != null)
     {
         _client   = client;
         AccountId = _client.Account.AccountId;
         vaults    = new LinkedList <Container>();
     }
 }
Ejemplo n.º 6
0
        public GuildHall(ProtoWorld proto, Client client = null) : base(proto)
        {
            if (client == null)
            {
                return;
            }

            GuildId = client.Account.GuildId;
        }
Ejemplo n.º 7
0
        public PetYard(ProtoWorld proto, Client client = null) : base(proto)
        {
            if (client == null)
            {
                return;
            }

            _client    = client;
            _accountId = _client.Account.AccountId;
        }
Ejemplo n.º 8
0
 public World(ProtoWorld proto)
 {
     Setup();
     Id            = proto.id;
     Name          = proto.name;
     SBName        = proto.sbName;
     Difficulty    = proto.difficulty;
     Background    = proto.background;
     IsLimbo       = proto.isLimbo;
     Persist       = proto.persist;
     AllowTeleport = !proto.restrictTp;
     ShowDisplays  = proto.showDisplays;
     Blocking      = proto.blocking;
 }
Ejemplo n.º 9
0
        public static void TryGetWorld(ProtoWorld wData, Client client, out World world)
        {
            world = null;

            foreach (var type in Worlds)
            {
                if (!type.Name.Equals(wData.name))
                {
                    continue;
                }

                world = (World)Activator.CreateInstance(type, wData, client);
                return;
            }
        }
Ejemplo n.º 10
0
        public static void RenderFromProto(World world, IntPoint pos, ProtoWorld proto)
        {
            var manager = world.Manager;

            // get map stream
            int map = 0;

            if (proto.maps != null && proto.maps.Length > 1)
            {
                var rnd = new Random();
                map = rnd.Next(0, proto.maps.Length);
            }
            var ms = new MemoryStream(proto.wmap[map]);

            var sp = new Wmap(manager.Resources.GameData);

            sp.Load(ms, 0);
            sp.ProjectOntoWorld(world, pos);
        }
Ejemplo n.º 11
0
        public Tower(ProtoWorld proto, int id, int maxfloor) : base(proto)
        {
            _proto  = proto;
            towerId = id;

            if (Manager.Database.TowerExist(id) == false)
            {
                Manager.Database.CreateTower(id, maxfloor);
                CurrentFloor = 0;
            }
            else
            {
                var currenttower = Manager.Database.GetTower(id);

                CurrentFloor = currenttower.CurrentFloor;
            }

            _maxfloor = maxfloor;
            proto     = _proto;
        }
Ejemplo n.º 12
0
        public Vault(ProtoWorld proto, Client client = null) : base(proto)
        {
            if (client != null)
            {
                _client   = client;
                AccountId = _client.Account.AccountId;
                ExtraXML  = ExtraXML.Concat(new[]
                {
                    @"	<Objects>
		                    <Object type=""0x0504"" id=""Vault Chest"">
			                    <Class>Container</Class>
			                    <Container/>
			                    <CanPutNormalObjects/>
			                    <CanPutSoulboundObjects/>
			                    <ShowName/>
			                    <Texture><File>lofiObj2</File><Index>0x0e</Index></Texture>
			                    <SlotTypes>0, 0, 0, 0, 0, 0, 0, 0</SlotTypes>
		                    </Object>
	                    </Objects>"
                }).ToArray();
                vaults = new LinkedList <Container>();
            }
        }
Ejemplo n.º 13
0
 public DemonTower(ProtoWorld proto) : base(proto, DemonTower, 4) // 5
 {
 }
Ejemplo n.º 14
0
 public Test(ProtoWorld proto, Client client = null) : base(proto)
 {
 }
Ejemplo n.º 15
0
 public Candyland(ProtoWorld proto, Client client = null) : base(proto)
 {
 }
Ejemplo n.º 16
0
 public Realm(ProtoWorld proto, Client client = null) : base(proto)
 {
     _oryxPresent = true;
     _mapId       = 1;
 }
Ejemplo n.º 17
0
 public Nexus(ProtoWorld proto, Client client = null) : base(proto)
 {
     Proto = proto;
 }
Ejemplo n.º 18
0
 public Nontridus(ProtoWorld proto, Client client = null) : base(proto)
 {
 }
Ejemplo n.º 19
0
 public ArenaSolo(ProtoWorld proto, Client client = null)
     : base(proto)
 {
     _arenaState = ArenaState.CountDown;
     _wave       = 1;
 }
Ejemplo n.º 20
0
 public Davy(ProtoWorld proto, Client client = null) : base(proto)
 {
 }
Ejemplo n.º 21
0
 public Castle(ProtoWorld proto, Client client = null, int playersEntering = 100) : base(proto)
 {
     PlayersEntering = playersEntering;
 }
Ejemplo n.º 22
0
 public KeepingUltra(ProtoWorld proto, Client client = null) : base(proto)
 {
 }
Ejemplo n.º 23
0
 public Marketplace(ProtoWorld proto, Client client = null)
     : base(proto)
 {
 }
Ejemplo n.º 24
0
 public Arena(ProtoWorld proto, Client client = null) : base(proto)
 {
     CurrentState = ArenaState.NotStarted;
     _wave        = 1;
     Instance     = this;
 }
Ejemplo n.º 25
0
 public Castle(ProtoWorld proto, Client client = null) : base(proto)
 {
     // this is to get everyone in one spawn when the Castle comes from quaking
     PlayersEntering = 0;
 }
Ejemplo n.º 26
0
 public KrakenLair(ProtoWorld proto, Client client = null) : base(proto)
 {
 }