Exemple #1
0
        public void PreInitialize()
        {
            _logger.MakeLog("HealthSystem is loading!");

            var stats = _ecsWorld.AddComponent <HealthStatsComponent>(GunshotWound2Script.StatsContainerEntity);

            stats.DamageMultiplier = 1f;
            stats.DamageDeviation  = 0.2f;

            var pedStats = _ecsWorld.AddComponent <PedHealthStatsComponent>(GunshotWound2Script.StatsContainerEntity);

            pedStats.PlayerHealth = 100f;
            pedStats.PedHealth    = new MinMax
            {
                Min = 50,
                Max = 100
            };

            foreach (int i in _loadedConfigs)
            {
                LoadedConfigComponent config = _loadedConfigs.Components1[i];
                XElement xmlRoot             = config.ElementRoot;

                XElement multElement = xmlRoot.Element("OverallDamageMultiplier");
                if (multElement != null)
                {
                    stats.DamageMultiplier = multElement.GetFloat();
                }

                XElement devElement = xmlRoot.Element("OverallDamageDeviation");
                if (devElement != null)
                {
                    stats.DamageDeviation = devElement.GetFloat();
                }

                XElement pedElement = xmlRoot.Element("PedHealth");
                if (pedElement != null)
                {
                    var health = pedElement.GetMinMax();
                    if (!health.IsDisabled())
                    {
                        pedStats.PedHealth = health;
                    }
                }

                XElement playerElement = xmlRoot.Element("PlayerHealth");
                if (playerElement != null)
                {
                    pedStats.PlayerHealth = playerElement.GetFloat();
                }
            }

            _logger.MakeLog(stats.ToString());
            _logger.MakeLog(pedStats.ToString());
            _logger.MakeLog("HealthSystem loaded!");
        }
        public void PreInitialize()
        {
            _logger.MakeLog("BleedingSystem is loading!");

            var stats = _ecsWorld.AddComponent <BleedingStatsComponent>(GunshotWound2Script.StatsContainerEntity);

            stats.BleedingMultiplier = 1f;
            stats.BleedingMultiplier = 0.2f;

            var pedStats = _ecsWorld.AddComponent <PedBleedingStatsComponent>(GunshotWound2Script.StatsContainerEntity);

            pedStats.PedBleedingHealRate = new MinMax
            {
                Min = 0.5f,
                Max = 1
            };

            foreach (int i in _loadedConfigs)
            {
                LoadedConfigComponent config = _loadedConfigs.Components1[i];
                XElement xmlRoot             = config.ElementRoot;

                XElement multElement = xmlRoot.Element("OverallBleedingMultiplier");
                if (multElement != null)
                {
                    stats.BleedingMultiplier = multElement.GetFloat();
                }

                XElement devElement = xmlRoot.Element("OverallBleedingDeviation");
                if (devElement != null)
                {
                    stats.BleedingDeviation = devElement.GetFloat();
                }

                XElement pedElement = xmlRoot.Element("PedBleedingHealRate");
                if (pedElement != null)
                {
                    var bleeding = pedElement.GetMinMax();
                    if (!bleeding.IsDisabled())
                    {
                        pedStats.PedBleedingHealRate = bleeding;
                    }
                }

                XElement playerElement = xmlRoot.Element("PlayerBleedingHealRate");
                if (playerElement != null)
                {
                    pedStats.PlayerBleedingHealRate = playerElement.GetFloat();
                }
            }

            _logger.MakeLog(stats.ToString());
            _logger.MakeLog(pedStats.ToString());
            _logger.MakeLog("BleedingSystem loaded!");
        }
        public void PreInitialize()
        {
            var stats = EcsWorld.AddComponent <WeaponDropStatsComponent>(GunshotWound3.StatsContainerEntity);

            stats.PlayerCanDropWeapon = true;

            foreach (int i in _loadedConfigs)
            {
                LoadedConfigComponent config = _loadedConfigs.Components1[i];
                XElement xmlRoot             = config.ElementRoot;

                XElement playerCanDrop = xmlRoot.Element("PlayerCanDropWeapon");
                if (playerCanDrop != null)
                {
                    stats.PlayerCanDropWeapon = playerCanDrop.GetBool();
                }
            }
        }
Exemple #4
0
        public void PreInitialize()
        {
            foreach (int i in _loadedConfigs)
            {
                LoadedConfigComponent config = _loadedConfigs.Components1[i];
                XElement xmlRoot             = config.ElementRoot;

                XElement listElement = xmlRoot.Element("WeaponList");
                if (listElement != null)
                {
                    foreach (XElement weaponRoot in listElement.Elements("Weapon"))
                    {
                        CreateWeapon(weaponRoot);
                    }
                }
            }

            _logger.MakeLog("WeaponList loaded!");
        }
        public void PreInitialize()
        {
            _logger.MakeLog("GswWorld is loading!");

            var world = _ecsWorld.AddComponent <GswWorldComponent>(GunshotWound2Script.StatsContainerEntity);

            FillWithDefaultValues(world);

            foreach (int i in _loadedConfigs)
            {
                LoadedConfigComponent config = _loadedConfigs.Components1[i];
                XElement xmlRoot             = config.ElementRoot;

                XElement targetsElement = xmlRoot.Element(DETECTING_TARGETS);
                if (targetsElement != null)
                {
                    world.HumanDetectingEnabled  = targetsElement.GetBool("Humans");
                    world.AnimalDetectingEnabled = targetsElement.GetBool("Animals");
                }

                XElement accuracyElement = xmlRoot.Element(ACCURACY);
                if (accuracyElement != null)
                {
                    world.HumanAccuracy = accuracyElement.GetMinMax();
                }

                XElement shootRateElement = xmlRoot.Element(SHOOT_RATE);
                if (shootRateElement != null)
                {
                    world.HumanShootRate = shootRateElement.GetMinMax();
                }

                XElement onlyDamagedElement = xmlRoot.Element(SCAN_ONLY_DAMAGED);
                if (onlyDamagedElement != null)
                {
                    world.ScanOnlyDamaged = onlyDamagedElement.GetBool();
                }
            }

            _logger.MakeLog(world.ToString());
            _logger.MakeLog("GswWorld loaded!");
        }
        public void PreInitialize()
        {
            foreach (int i in _loadedConfigs)
            {
                LoadedConfigComponent config = _loadedConfigs.Components1[i];
                XElement xmlRoot             = config.ElementRoot;
                XElement listElement         = xmlRoot.Element("WoundList");
                if (listElement == null)
                {
                    continue;
                }

                foreach (XElement woundRoot in listElement.Elements("Wound"))
                {
                    CreateWound(woundRoot);
                }
            }

            _logger.MakeLog("WoundList loaded!");
        }
        public void PreInitialize()
        {
            _logger.MakeLog("Pain State list is loading!");

            foreach (int i in _loadedConfigs)
            {
                LoadedConfigComponent config = _loadedConfigs.Components1[i];
                XElement xmlRoot             = config.ElementRoot;

                XElement listElement = xmlRoot.Element(PAIN_STATE_LIST);
                if (listElement == null)
                {
                    continue;
                }

                foreach (XElement stateRoot in listElement.Elements("PainState"))
                {
                    CreatePainState(stateRoot);
                }
            }

            _logger.MakeLog("Pain State list loaded!");
        }
Exemple #8
0
        public void PreInitialize()
        {
            _logger.MakeLog("BodyPart list is loading!");

            foreach (int i in _loadedConfigs)
            {
                LoadedConfigComponent config = _loadedConfigs.Components1[i];
                XElement xmlRoot             = config.ElementRoot;

                var listElement = xmlRoot.Element(BODY_PART_LIST);
                if (listElement == null)
                {
                    continue;
                }

                foreach (XElement bodyPartRoot in listElement.Elements("BodyPart"))
                {
                    CreateBodyPart(bodyPartRoot);
                }
            }

            _logger.MakeLog("BodyPart list loaded!");
        }
Exemple #9
0
        public void PreInitialize()
        {
            var world = _ecsWorld.AddComponent <GswWorldComponent>(GunshotWound3.StatsContainerEntity);

            world.HumanDetectingEnabled  = true;
            world.AnimalDetectingEnabled = true;
            world.HumanAccuracy          = new MinMax
            {
                Min = 10,
                Max = 30
            };
            world.HumanShootRate = new MinMax
            {
                Min = 10,
                Max = 30
            };
            world.ScanOnlyDamaged     = false;
            world.MaxPedCountPerFrame = 5;

            foreach (int i in _loadedConfigs)
            {
                LoadedConfigComponent config = _loadedConfigs.Components1[i];
                XElement xmlRoot             = config.ElementRoot;

                XElement targetsElement = xmlRoot.Element("DetectingTargets");
                if (targetsElement != null)
                {
                    world.HumanDetectingEnabled  = targetsElement.GetBool("Humans");
                    world.AnimalDetectingEnabled = targetsElement.GetBool("Animals");
                }

                XElement accuracyElement = xmlRoot.Element("PedAccuracy");
                if (accuracyElement != null)
                {
                    world.HumanAccuracy = accuracyElement.GetMinMax();
                }

                XElement shootRateElement = xmlRoot.Element("PedShootRate");
                if (shootRateElement != null)
                {
                    world.HumanShootRate = shootRateElement.GetMinMax();
                }

                XElement onlyDamagedElement = xmlRoot.Element("ScanOnlyDamaged");
                if (onlyDamagedElement != null)
                {
                    world.ScanOnlyDamaged = onlyDamagedElement.GetBool();
                }

                XElement pedsPerFrame = xmlRoot.Element("MaxPedsPerFrame");
                if (pedsPerFrame != null)
                {
                    world.MaxPedCountPerFrame = pedsPerFrame.GetInt();
                }
            }

#if DEBUG
            _logger.MakeLog(world.ToString());
#endif
            _logger.MakeLog("GswWorld loaded!");
        }
Exemple #10
0
        public void PreInitialize()
        {
            _logger.MakeLog("PainSystem is loading!");

            var stats = _ecsWorld.AddComponent <PainStatsComponent>(GunshotWound2Script.StatsContainerEntity);

            stats.PainMultiplier = 1f;
            stats.PainDeviation  = 0.2f;

            var pedStats = _ecsWorld.AddComponent <PedPainStatsComponent>(GunshotWound2Script.StatsContainerEntity);

            pedStats.PlayerUnbearablePain    = 100f;
            pedStats.PlayerPainRecoverySpeed = 1f;
            pedStats.PedUnbearablePain       = new MinMax
            {
                Min = 50,
                Max = 100
            };
            pedStats.PedPainRecoverySpeed = new MinMax
            {
                Min = 0.5f,
                Max = 1f
            };

            foreach (int i in _loadedConfigs)
            {
                LoadedConfigComponent config = _loadedConfigs.Components1[i];
                XElement xmlRoot             = config.ElementRoot;

                XElement multElement = xmlRoot.Element("OverallPainMultiplier");
                if (multElement != null)
                {
                    stats.PainMultiplier = multElement.GetFloat();
                }

                XElement devElement = xmlRoot.Element("OverallPainDeviation");
                if (devElement != null)
                {
                    stats.PainDeviation = devElement.GetFloat();
                }

                XElement pedPainElement = xmlRoot.Element("PedUnbearablePain");
                if (pedPainElement != null)
                {
                    var pain = pedPainElement.GetMinMax();
                    if (!pain.IsDisabled())
                    {
                        pedStats.PedUnbearablePain = pain;
                    }
                }

                XElement pedSpeedElement = xmlRoot.Element("PedPainRecoverySpeed");
                if (pedSpeedElement != null)
                {
                    var speed = pedSpeedElement.GetMinMax();
                    if (!speed.IsDisabled())
                    {
                        pedStats.PedPainRecoverySpeed = speed;
                    }
                }

                XElement playerPainElement = xmlRoot.Element("PlayerUnbearablePain");
                if (playerPainElement != null)
                {
                    pedStats.PlayerUnbearablePain = playerPainElement.GetFloat();
                }

                XElement playerSpeedElement = xmlRoot.Element("PlayerPainRecoverySpeed");
                if (playerSpeedElement != null)
                {
                    pedStats.PlayerPainRecoverySpeed = playerSpeedElement.GetFloat();
                }
            }

            _logger.MakeLog(stats.ToString());
            _logger.MakeLog(pedStats.ToString());
            _logger.MakeLog("PainSystem loaded!");
        }
Exemple #11
0
        public void PreInitialize()
        {
            EcsEntity mainEntity = GunshotWound3.StatsContainerEntity;
            var       stats      = _ecsWorld.AddComponent <HealthStatsComponent>(mainEntity);

            stats.DamageMultiplier = 1f;
            stats.DamageDeviation  = 0.2f;
            stats.SelfHealingRate  = 0.01f;

            var pedStats = _ecsWorld.AddComponent <PedHealthStatsComponent>(mainEntity);

            pedStats.PlayerHealth = 100f;
            pedStats.AnimalMult   = 1f;
            pedStats.PedHealth    = new MinMax
            {
                Min = 50,
                Max = 100
            };

            foreach (int i in _loadedConfigs)
            {
                LoadedConfigComponent config = _loadedConfigs.Components1[i];
                XElement xmlRoot             = config.ElementRoot;

                XElement multElement = xmlRoot.Element("OverallDamageMultiplier");
                if (multElement != null)
                {
                    stats.DamageMultiplier = multElement.GetFloat();
                }

                XElement devElement = xmlRoot.Element("OverallDamageDeviation");
                if (devElement != null)
                {
                    stats.DamageDeviation = devElement.GetFloat();
                }

                XElement healingRate = xmlRoot.Element("SelfHealingRate");
                if (healingRate != null)
                {
                    stats.SelfHealingRate = healingRate.GetFloat();
                }

                XElement pedElement = xmlRoot.Element("PedHealth");
                if (pedElement != null)
                {
                    var health = pedElement.GetMinMax();
                    if (!health.IsDisabled())
                    {
                        pedStats.PedHealth = health;
                    }

                    pedStats.AnimalMult = pedElement.GetFloat("AnimalMult");
                }

                XElement playerElement = xmlRoot.Element("PlayerHealth");
                if (playerElement != null)
                {
                    pedStats.PlayerHealth = playerElement.GetFloat();
                }
            }

#if DEBUG
            _logger.MakeLog(stats.ToString());
            _logger.MakeLog(pedStats.ToString());
#endif
            _logger.MakeLog("HealthSystem loaded!");
        }