Esempio n. 1
0
    public void tryAddItem(int id, int amount)
    {
        if (ItemWeight.getWeight(id) != -1000)
        {
            ServerItem serverItem = new ServerItem(id, ItemAmount.getAmount(id), ItemState.getState(id), Vector3.zero);
            Vector3    position   = base.transform.position;

            if (base.GetComponent <Player>().vehicle != null)
            {
                position = base.GetComponent <Player>().vehicle.getPosition();
            }

            for (int i = 0; i < amount; i++)
            {
                if (this.hasSpace(serverItem) != 0)
                {
                    SpawnItems.dropItem(id, position);
                }
                else
                {
                    this.addItem(serverItem);
                }
            }
        }
    }
Esempio n. 2
0
 public void onReady()
 {
     SpawnItems.tool    = this;
     SpawnItems.model   = GameObject.Find(Application.loadedLevelName).transform.FindChild("items").gameObject;
     SpawnItems.regions = new ItemsRegion[NetworkRegions.REGION_X, NetworkRegions.REGION_Y];
     for (int i = 0; i < NetworkRegions.REGION_X; i++)
     {
         for (int j = 0; j < NetworkRegions.REGION_Y; j++)
         {
             SpawnItems.regions[i, j] = new ItemsRegion();
         }
     }
     if (Network.isServer)
     {
         int num = 0;
         for (int k = 0; k < SpawnItems.model.transform.FindChild("spawns").childCount; k++)
         {
             if (ServerSettings.mode == 0 && UnityEngine.Random.@value > Loot.NORMAL_ITEM_CHANCE || ServerSettings.mode == 1 && UnityEngine.Random.@value > Loot.BAMBI_ITEM_CHANCE || ServerSettings.mode == 2 && UnityEngine.Random.@value > Loot.HARDCORE_ITEM_CHANCE || ServerSettings.mode == 3 && UnityEngine.Random.@value > Loot.GOLD_ITEM_CHANCE)
             {
                 Transform child  = SpawnItems.model.transform.FindChild("spawns").GetChild(k);
                 Point2    region = NetworkRegions.getRegion(child.position);
                 int       loot   = Loot.getLoot(child.name);
                 int       type   = ItemType.getType(loot);
                 if (ItemWeight.getWeight(loot) != -1000 || type == 30)
                 {
                     if (type == 10)
                     {
                         SpawnItems.regions[region.x, region.y].items.Add(new ServerItem(loot, UnityEngine.Random.Range(1, ItemAmount.getAmount(loot) + 1), ItemState.getState(loot), child.position));
                         num++;
                     }
                     else if (type == 25)
                     {
                         for (int l = 0; l < UnityEngine.Random.Range(3, 6); l++)
                         {
                             SpawnItems.regions[region.x, region.y].items.Add(new ServerItem(loot, ItemAmount.getAmount(loot), ItemState.getState(loot), child.position + new Vector3(UnityEngine.Random.Range(-0.5f, 0.5f), 0f, UnityEngine.Random.Range(-0.5f, 0.5f))));
                             num++;
                         }
                     }
                     else if (loot == 30000)
                     {
                         SpawnItems.regions[region.x, region.y].items.Add(new ServerItem(11, 1, ItemState.getState(11), child.position));
                         SpawnItems.regions[region.x, region.y].items.Add(new ServerItem(4017, 1, ItemState.getState(4017), child.position));
                         SpawnItems.regions[region.x, region.y].items.Add(new ServerItem(5017, 1, ItemState.getState(5017), child.position));
                         num = num + 3;
                     }
                     else if (loot != 30001)
                     {
                         SpawnItems.regions[region.x, region.y].items.Add(new ServerItem(loot, ItemAmount.getAmount(loot), ItemState.getState(loot), child.position));
                         num++;
                     }
                     else
                     {
                         SpawnItems.regions[region.x, region.y].items.Add(new ServerItem(12, 1, ItemState.getState(12), child.position));
                         SpawnItems.regions[region.x, region.y].items.Add(new ServerItem(4018, 1, ItemState.getState(4018), child.position));
                         SpawnItems.regions[region.x, region.y].items.Add(new ServerItem(5018, 1, ItemState.getState(5018), child.position));
                         num = num + 3;
                     }
                 }
             }
         }
         if (ServerSettings.map != 0)
         {
             base.InvokeRepeating("respawn", 5f, Loot.getRespawnRate() * (ServerSettings.mode != 3 ? 1f : 0.5f));
         }
     }
 }
Esempio n. 3
0
 public static void spawnItem(int id, int amount, Vector3 position)
 {
     SpawnItems.spawn(id, amount, ItemState.getState(id), position);
 }
Esempio n. 4
0
 public static void dropItem(int id, Vector3 position)
 {
     SpawnItems.drop(id, ItemAmount.getAmount(id), ItemState.getState(id), position);
 }