Beispiel #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);
 }
 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);
         }
     }
 }
Beispiel #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();
 }
Beispiel #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);
        }