Example #1
0
        private static void CreateHashes(Spacemap map)
        {
            var       chars       = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
            var       stringChars = new char[4];
            const int HASHES      = 1000;

            for (int entry = 0; entry < HASHES; entry++)
            {
NEWHASH:
                for (int i = 0; i < stringChars.Length; i++)
                {
                    stringChars[i] = chars[Random.Next(chars.Length)];
                }

                var hash = new String(stringChars);
                if (map.HashedObjects.ContainsKey(hash))
                {
                    goto NEWHASH;
                }
                map.HashedObjects.TryAdd(hash, null);
            }
            map.Objects.TryAdd(0, null);
            if (Properties.Server.DEBUG)
            {
                Console.WriteLine($"Created {HASHES - 1} hashes.");
            }
        }
Example #2
0
        public override void Reward()
        {
            AlmostNoNpcsLeft -= LowGate_AlmostNoNpcsLeft;
            Finished          = true;

            var hit = Random.Next(0, 100);

            foreach (var joined in JoinedPlayers.Values)
            {
                var currencyReward = new Reward(new Dictionary <RewardType, int> {
                    { RewardType.CREDITS, 2500000 }, { RewardType.URIDIUM, 25000 }
                });
                var ammoReward    = new Reward(RewardType.AMMO, new Item(-1, "ammunition_laser_ucb-100", 25000), 25000);
                var specialReward = new characters.Reward(RewardType.ITEM, new Item(-1, "equipment_weapon_laser_lf-4", 1), 1);
                if (joined?.GetGameSession() == null)
                {
                    continue;
                }
                var joinedSession = joined.GetGameSession();
                if (hit == 15)
                {
                    //Packet.Builder.LegacyModule(joinedSession, "0|A|STD|You've won a LF4!");
                    specialReward.ParseRewards(joined);
                }
                //TODO
                MoveOut(joined);
                ammoReward.ParseRewards(joined);
                currencyReward.ParseRewards(joined);
            }
            JoinedPlayers.Clear();
        }
Example #3
0
        private int RandomizeDamage(int baseDmg, double missProbability = 1.00)
        {
            var randNums = Random.Next(0, 6);

            if (missProbability == 0)
            {
                randNums = Random.Next(0, 3) | Random.Next(4, 7);
            }
            if (missProbability < 1.00 && missProbability != 0)
            {
                randNums = Random.Next(0, 7);
            }
            if (missProbability > 1.00 && missProbability < 2.00)
            {
                randNums = Random.Next(0, 4);
            }
            if (missProbability >= 2.00)
            {
                randNums = Random.Next(2, 4);
            }

            switch (randNums)
            {
            case 0:
                return((int)(baseDmg * 1.10));

            case 1:
                return((int)(baseDmg * 0.98));

            case 2:
                return((int)(baseDmg * 1.02));

            case 3:
                return(0);

            case 4:
                return((int)(baseDmg * 0.92));

            case 5:
                return((int)(baseDmg * 0.99));

            default:
                return(baseDmg);
            }
        }
Example #4
0
        private int RandomizeDamage(int damage)
        {
            if (damage <= 0)
            {
                return(0);
            }

            int max = damage + 1000;
            int min = damage - 1000;

            if (min < 0)
            {
                min = 0;
            }

            int calculatedDamage = Random.Next(max - min) + min;

            return(calculatedDamage);
        }