Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var config byte MaxPlayersZedHeatlh;
- function SetMonsterDefaults( KFPawn_Monster P )
- {
- local byte i;
- local float HealthMod;
- local float HeadHealthMod;
- local float TotalSpeedMod, StartingSpeedMod;
- local float DamageMod;
- local int LivingPlayerCount;
- DamageMod = 1.0;
- HealthMod = 1.0;
- HeadHealthMod = 1.0;
- if ( MaxPlayersZedHealth > 0 )
- {
- LivingPlayerCount = Min( GetLivingPlayerCount(), MaxPlayersZedHealth );
- }
- else
- {
- LivingPlayerCount = GetLivingPlayerCount();
- }
- if( P.bVersusZed )
- {
- DifficultyInfo.GetVersusHealthModifier(P, LivingPlayerCount, HealthMod, HeadHealthMod);
- HealthMod *= GameConductor.CurrentVersusZedHealthMod;
- HeadHealthMod *= GameConductor.CurrentVersusZedHealthMod;
- P.DifficultyDamageMod = DamageMod * GameConductor.CurrentVersusZedDamageMod;
- StartingSpeedMod = 1.f;
- TotalSpeedMod = 1.f;
- }
- else
- {
- DifficultyInfo.GetAIHealthModifier(P, GameDifficulty, LivingPlayerCount, HealthMod, HeadHealthMod);
- DamageMod = DifficultyInfo.GetAIDamageModifier(P, GameDifficulty,bOnePlayerAtStart);
- P.DifficultyDamageMod = DamageMod;
- StartingSpeedMod = DifficultyInfo.GetAISpeedMod(P, GameDifficulty);
- TotalSpeedMod = GameConductor.CurrentAIMovementSpeedMod * StartingSpeedMod;
- }
- if( P.default.HealthMax == 0 )
- {
- P.HealthMax = P.default.Health * HealthMod;
- }
- else
- {
- P.HealthMax = P.default.HealthMax * HealthMod;
- }
- if (OutbreakEvent != none)
- {
- OutbreakEvent.AdjustMonsterDefaults(P);
- }
- for( i=0; i<4; ++i )
- {
- KFPawn_MonsterBoss(P).SummonWaves[i].PhaseOneWave = BossHelperSquadOne;
- KFPawn_MonsterBoss(P).SummonWaves[i].PhaseTwoWave = BossHelperSquadTwo;
- KFPawn_MonsterBoss(P).SummonWaves[i].PhaseThreeWave = BossHelperSquadThree;
- }
- P.GroundSpeed = P.default.GroundSpeed * TotalSpeedMod;
- P.SprintSpeed = P.default.SprintSpeed * TotalSpeedMod;
- P.NormalGroundSpeed = P.GroundSpeed;
- P.NormalSprintSpeed = P.SprintSpeed;
- P.InitialGroundSpeedModifier = StartingSpeedMod;
- P.Health = P.default.Health * HealthMod;
- P.ApplySpecialZoneHealthMod(HeadHealthMod);
- P.GameResistancePct = DifficultyInfo.GetDamageResistanceModifier(LivingPlayerCount);
- `log("==== SetMonsterDefaults for pawn: " @P @"====",bLogAIDefaults);
- `log("HealthMod: " @HealthMod @ "Original Health: " @P.default.Health @" Final Health = " @P.Health, bLogAIDefaults);
- `log("HeadHealthMod: " @HeadHealthMod @ "Original Head Health: " @P.default.HitZones[HZI_HEAD].GoreHealth @" Final Head Health = " @P.HitZones[HZI_HEAD].GoreHealth, bLogAIDefaults);
- `log("GroundSpeedMod: " @TotalSpeedMod @" Final Ground Speed = " @P.GroundSpeed, bLogAIDefaults);
- `log("SprintSpeedMod: " @TotalSpeedMod @" Final Sprint Speed = " @P.SprintSpeed, bLogAIDefaults);
- `log("DamageMod: " @DamageMod @" Final Melee Damage = " @P.MeleeAttackHelper.BaseDamage * DamageMod, bLogAIDefaults);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement