Пример #1
0
 public CargoLoot(int id, string hash, Vector pos, DropableRewards dropableRewards, Character killer) : base(id, hash, Types.SHIP_LOOT, pos, killer.Spacemap, null, false)
 {
     Rewards   = dropableRewards;
     Killer    = killer;
     Temporary = true;
     DelayedDispose(15000);
 }
Пример #2
0
 public void CreateShipLoot(Vector position, DropableRewards content, Character killer)
 {
     //Console.WriteLine($"Created ship loot (content)->{content}");
     if (content != null)
     {
         var id   = GetNextObjectId();
         var hash = HashedObjects.Keys.ToList()[id];
         var box  = new CargoLoot(id, hash, position, content, killer);
         HashedObjects[hash] = box;
         if (AddObject(box))
         {
             Out.WriteLog($"Created cargo loot ({position.X},{position.Y}) on mapId " + Id);
         }
     }
 }
Пример #3
0
 public Ship(int id, string name, string lootId, int health, int nanohull, int speed, int shield, double shieldAbsorb, int minDamage, int maxDamage, bool neutral, int laserColor,
             int batteries, int rockets, int cargo, Reward reward, DropableRewards cargoDrop, int ai)
 {
     Id               = id;
     Name             = name;
     LootId           = lootId;
     Health           = health;
     Nanohull         = nanohull;
     Speed            = speed;
     Shield           = shield;
     ShieldAbsorption = shieldAbsorb;
     MinDamage        = minDamage;
     MaxDamage        = maxDamage;
     IsNeutral        = neutral;
     LaserColor       = laserColor;
     Batteries        = batteries;
     Rockets          = rockets;
     Cargo            = cargo;
     Reward           = reward;
     CargoDrop        = cargoDrop;
     AI               = ai;
     Damage           = CalculateDamage();
 }
Пример #4
0
        public void Reward(DropableRewards dropableRewards)
        {
            var addedPalladium = TryAdd(8, (int)(dropableRewards.Palladium * (1 + Player.BoostedResources)));
            var addedSeprom    = TryAdd(7, (int)(dropableRewards.Seprom * (1 + Player.BoostedResources)));
            var addedPromerium = TryAdd(6, (int)(dropableRewards.Promerium * (1 + Player.BoostedResources)));
            var addedXenomit   = (int)(dropableRewards.Xenomit * (1 + Player.BoostedResources));

            Xenomit += addedXenomit;
            var addedDuranium  = TryAdd(4, (int)(dropableRewards.Duranium * (1 + Player.BoostedResources)));
            var addedPrometid  = TryAdd(3, (int)(dropableRewards.Prometid * (1 + Player.BoostedResources)));
            var addedTerbium   = TryAdd(2, (int)(dropableRewards.Terbium * (1 + Player.BoostedResources)));
            var addedEndurium  = TryAdd(1, (int)(dropableRewards.Endurium * (1 + Player.BoostedResources)));
            var addedPrometium = TryAdd(0, (int)(dropableRewards.Prometium * (1 + Player.BoostedResources)));

            World.DatabaseManager.SaveCargo(Player, this);
            var session = Player.GetGameSession();

            if (session == null)
            {
                return;
            }
            Packet.Builder.AttributeOreCountUpdateCommand(session, this);
            Packet.Builder.LMCollectResourcesCommand(session, addedPalladium, addedSeprom, addedPromerium, addedXenomit, addedDuranium, addedPrometid, addedTerbium, addedEndurium, addedPrometium);
        }