From 9c4ec1b0950c657860c7b808a76539505f146cc6 Mon Sep 17 00:00:00 2001 From: Shtoyan Date: Sat, 22 Jan 2022 20:42:34 +0400 Subject: [PATCH] NiceMonsterController SetEnemy newEnemy none fix --- sources/Zeds/NiceMonsterController.uc | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/sources/Zeds/NiceMonsterController.uc b/sources/Zeds/NiceMonsterController.uc index f0165d7..60b680c 100644 --- a/sources/Zeds/NiceMonsterController.uc +++ b/sources/Zeds/NiceMonsterController.uc @@ -414,36 +414,47 @@ Begin: } WhatToDoNext(99); } + function bool SetEnemy( pawn newEnemy, optional bool bHateMonster, - optional float MonsterHateChanceOverride){ + optional float MonsterHateChanceOverride) +{ local NiceMonster niceZed; local NiceZombieFleshpound niceFP; local bool bCanForceFight; + // Can we fight anything? niceZed = NiceMonster(pawn); niceFP = NiceZombieFleshpound(niceZed); - if(niceZed != none) - bCanForceFight = + + if (niceZed != none) + { + bCanForceFight = KFMonster(pawn).HeadHealth <= 0 || KFMonster(pawn).bDecapitated - || newEnemy.Health <= 15; + || (newEnemy != none && newEnemy.Health <= 15); + } + if (niceFP != none && niceFP.IsInState('RageCharging')) bCanForceFight = false; - if(newEnemy != none) - bCanForceFight = bCanForceFight - && newEnemy.Health > 0 && newEnemy != enemy; + + if (newEnemy != none) + bCanForceFight = bCanForceFight && newEnemy.Health > 0 && newEnemy != enemy; else bCanForceFight = false; + // Do fight if we can - if(bCanForceFight){ + if(bCanForceFight) + { ChangeEnemy(newEnemy, true); FightEnemy(false); return true; } + // Otherwise - do the usual stupid stuff return super.SetEnemy(newEnemy, bHateMonster, monsterHateChanceOverride); } + simulated function AddKillAssistant(Controller PC, float damage){ local bool bIsalreadyAssistant; local int i;