public static MultiTickEcsSystems AddHitDetectSystems(this MultiTickEcsSystems systems) { return(systems .Add(new HitDetectSystem()) .Add(new BaseWeaponHitSystem()) .Add(new BodyHitSystem()) .Add(new HitCleanSystem())); }
public static MultiTickEcsSystems AddPainStateSystems(this MultiTickEcsSystems systems) { return(systems .Add(new IncreasePainSystem()) .Add(new NoPainStateSystem()) .Add(new MildPainStateSystem()) .Add(new AveragePainStateSystem()) .Add(new IntensePainStateSystem()) .Add(new UnbearablePainStateSystem()) .Add(new DeadlyPainStateSystem())); }
public static MultiTickEcsSystems AddWoundSystems(this MultiTickEcsSystems systems) { return(systems .Add(new WoundSystem()) .Add(new HeartCriticalSystem()) .Add(new LungsCriticalSystem()) .Add(new NervesCriticalSystem()) .Add(new ArmsCriticalSystem()) .Add(new LegsCriticalSystem()) .Add(new GutsCriticalSystem()) .Add(new StomachCriticalSystem())); }
public static MultiTickEcsSystems AddDamageProcessingSystems(this MultiTickEcsSystems systems) { return(systems .Add(new SmallCaliberDamageSystem()) .Add(new ShotgunDamageSystem()) .Add(new LightImpactDamageSystem()) .Add(new HeavyImpactDamageSystem()) .Add(new MediumCaliberDamageSystem()) .Add(new HighCaliberDamageSystem()) .Add(new CuttingDamageSystem()) .Add(new ExplosionDamageSystem())); }
public static MultiTickEcsSystems AddHitDetectSystems(this MultiTickEcsSystems systems) { return(systems .Add(new HitDetectSystem()) .Add(new LightImpactHitSystem()) .Add(new CuttingHitSystem()) .Add(new HeavyImpactHitSystem()) .Add(new SmallCaliberHitSystem()) .Add(new ShotgunHitSystem()) .Add(new MediumCaliberHitSystem()) .Add(new HighCaliberHitSystem()) .Add(new ExplosionHitSystem()) .Add(new BodyHitSystem()) .Add(new HitCleanSystem())); }
private void GunshotWoundInit() { _ecsWorld = new EcsWorld(); _mainConfig = EcsFilterSingle <MainConfig> .Create(_ecsWorld); _localeConfig = EcsFilterSingle <LocaleConfig> .Create(_ecsWorld); _gswWorld = EcsFilterSingle <GswWorld> .Create(_ecsWorld); _gswWorld.GswPeds = new Dictionary <Ped, int>(); try { TryToLoadConfigsFromXml(); _configLoaded = true; } catch (Exception e) { LoadDefaultConfigs(); _configLoaded = false; #if DEBUG UI.Notify(e.ToString()); #endif } try { TryToLoadLocalization(); _localizationLoaded = true; } catch (Exception e) { LoadDefaultLocalization(); _localizationReason = e.Message; _localizationLoaded = false; #if DEBUG UI.Notify(e.ToString()); #endif } _everyFrameSystems = new EcsSystems(_ecsWorld); _commonSystems = new MultiTickEcsSystems(_ecsWorld, MultiTickEcsSystems.RestrictionModes.MILLISECONDS, 10); if (_mainConfig.NpcConfig.AddingPedRange > MINIMAL_RANGE_FOR_WOUNDED_PEDS) { _commonSystems .Add(new NpcFindSystem()) .Add(new ConvertPedToNpcGswPedSystem()) .Add(new RemoveWoundedPedSystem()); } if (_mainConfig.PlayerConfig.WoundedPlayerEnabled) { _everyFrameSystems .Add(new PlayerSystem()) .Add(new SpecialAbilityLockSystem()); if (_mainConfig.PlayerConfig.MaximalSlowMo < 1f) { _everyFrameSystems .Add(new AdrenalineSystem()); } } _everyFrameSystems .Add(new InstantHealSystem()) .Add(new HelmetRequestSystem()) .Add(new RagdollSystem()) .Add(new SwitchAnimationSystem()) .Add(new DebugInfoSystem()) .Add(new CameraShakeSystem()) .Add(new FlashSystem()) .Add(new PainRecoverySystem()) .Add(new BleedingSystem()) .Add(new BandageSystem()) .Add(new SelfHealingSystem()); _commonSystems .Add(new ArmorSystem()) .AddHitDetectSystems() .AddDamageProcessingSystems() .AddWoundSystems() .AddPainStateSystems() .Add(new CheckSystem()) .Add(new NotificationSystem()); _everyFrameSystems.Initialize(); _commonSystems.Initialize(); Tick += OnTick; KeyUp += OnKeyUp; _isPaused = false; }
private void GunshotWoundInit() { Function.Call(Hash._SET_CAM_EFFECT, 0); _ecsWorld = new EcsWorld(); _mainConfig = EcsFilterSingle <MainConfig> .Create(_ecsWorld); _localeConfig = EcsFilterSingle <LocaleConfig> .Create(_ecsWorld); _gswWorld = EcsFilterSingle <GswWorld> .Create(_ecsWorld); _gswWorld.GswPeds = new Dictionary <Ped, int>(); (_configLoaded, _configReason) = MainConfig.TryToLoadFromXml(_mainConfig); (_localizationLoaded, _localizationReason) = LocaleConfig.TryToLoadLocalization(_localeConfig, _mainConfig.Language); _everyFrameSystems = new EcsSystems(_ecsWorld); _commonSystems = new MultiTickEcsSystems(_ecsWorld, MultiTickEcsSystems.RestrictionModes.MILLISECONDS, 10); if (_mainConfig.NpcConfig.AddingPedRange > MinimalRangeForWoundedPeds) { _commonSystems .Add(new NpcFindSystem()) .Add(new ConvertPedToNpcGswPedSystem()) .Add(new RemoveWoundedPedSystem()); } if (_mainConfig.PlayerConfig.WoundedPlayerEnabled) { _everyFrameSystems .Add(new PlayerSystem()) .Add(new SpecialAbilityLockSystem()); if (_mainConfig.PlayerConfig.MaximalSlowMo < 1f) { _everyFrameSystems.Add(new AdrenalineSystem()); } } _everyFrameSystems .Add(new InstantHealSystem()) .Add(new HelmetRequestSystem()) .Add(new RagdollSystem()) .Add(new MoveSetSwitchSystem()) .Add(new DebugInfoSystem()) .Add(new CameraShakeSystem()) .Add(new FlashSystem()) .Add(new PainRecoverySystem()) .Add(new BleedingSystem()) .Add(new BandageSystem()) .Add(new SelfHealingSystem()); _commonSystems .Add(new ArmorSystem()) .AddHitDetectSystems() .AddDamageProcessingSystems() .AddWoundSystems() .AddPainStateSystems() .Add(new CheckSystem()) .Add(new NotificationSystem()); _everyFrameSystems.Initialize(); _commonSystems.Initialize(); Tick += OnTick; KeyUp += OnKeyUp; _isPaused = false; }