Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class PITSTOP_Monsters_Werewolf_Base extends ZombieMaleBase
- {
- override bool FightLogic(int pCurrentCommandID, DayZInfectedInputController pInputController, float pDt)
- {
- if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_MOVE )
- {
- // we attack only in chase & fight state
- int mindState = pInputController.GetMindState();
- if( mindState == DayZInfectedConstants.MINDSTATE_CHASE )
- {
- return ChaseAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- else if( mindState == DayZInfectedConstants.MINDSTATE_FIGHT )
- {
- return FightAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- }
- else if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_ATTACK )
- {
- DayZInfectedCommandAttack attackCommand = GetCommand_Attack();
- if( attackCommand && attackCommand.WasHit() )
- {
- if( m_ActualTarget != NULL )
- {
- if (m_ActualTarget.GetMeleeTargetType() == EMeleeTargetType.NONALIGNABLE )
- {
- return false;
- }
- bool playerInBlockStance = false;
- vector targetPos = m_ActualTarget.GetPosition();
- vector hitPosWS = targetPos;
- PlayerBase playerTarget = PlayerBase.Cast(m_ActualTarget);
- if( playerTarget )
- {
- playerInBlockStance = playerTarget.GetMeleeFightLogic() && playerTarget.GetMeleeFightLogic().IsInBlock();
- }
- if( vector.DistanceSq(targetPos, this.GetPosition()) <= m_ActualAttackType.m_Distance * m_ActualAttackType.m_Distance )
- {
- //! player is in block stance
- if( playerInBlockStance )
- {
- //! infected is playing heavy attack - decrease the dmg to light
- if( m_ActualAttackType.m_IsHeavy != 0 )
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleeWerewolfPitstop", hitPosWS);
- }
- else
- {
- //! infected is playing light attack - do not send damage, play animation instead
- if( GetGame().IsServer() )
- {
- hitPosWS = m_ActualTarget.GetDefaultHitPosition(); //! override hit pos by pos defined in type
- m_ActualTarget.EEHitBy(null, 0, this, -1, m_ActualTarget.GetDefaultHitComponent(), "MeleeWerewolfPitstop", hitPosWS, 1.0);
- }
- }
- }
- else
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleeWerewolfPitstop", hitPosWS);
- }
- }
- }
- }
- return true;
- }
- return false;
- }
- override bool EvaluateDamageHitAnimation(EntityAI pSource, string pComponent, string pAmmoType, out bool pHeavyHit, out int pAnimType, out float pAnimHitDir)
- {
- return false;
- }
- };
- class PITSTOP_Monsters_Werewolf_Skin extends PITSTOP_Monsters_Werewolf_Base {};
- class PITSTOP_Monsters_Werewolf_White extends PITSTOP_Monsters_Werewolf_Base {};
- class PITSTOP_Monsters_Werewolf_Black extends PITSTOP_Monsters_Werewolf_Base {};
- class PITSTOP_Monsters_Werebear_Base extends ZombieMaleBase
- {
- override bool FightLogic(int pCurrentCommandID, DayZInfectedInputController pInputController, float pDt)
- {
- if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_MOVE )
- {
- // we attack only in chase & fight state
- int mindState = pInputController.GetMindState();
- if( mindState == DayZInfectedConstants.MINDSTATE_CHASE )
- {
- return ChaseAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- else if( mindState == DayZInfectedConstants.MINDSTATE_FIGHT )
- {
- return FightAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- }
- else if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_ATTACK )
- {
- DayZInfectedCommandAttack attackCommand = GetCommand_Attack();
- if( attackCommand && attackCommand.WasHit() )
- {
- if( m_ActualTarget != NULL )
- {
- if (m_ActualTarget.GetMeleeTargetType() == EMeleeTargetType.NONALIGNABLE )
- {
- return false;
- }
- bool playerInBlockStance = false;
- vector targetPos = m_ActualTarget.GetPosition();
- vector hitPosWS = targetPos;
- PlayerBase playerTarget = PlayerBase.Cast(m_ActualTarget);
- if( playerTarget )
- {
- playerInBlockStance = playerTarget.GetMeleeFightLogic() && playerTarget.GetMeleeFightLogic().IsInBlock();
- }
- if( vector.DistanceSq(targetPos, this.GetPosition()) <= m_ActualAttackType.m_Distance * m_ActualAttackType.m_Distance )
- {
- //! player is in block stance
- if( playerInBlockStance )
- {
- //! infected is playing heavy attack - decrease the dmg to light
- if( m_ActualAttackType.m_IsHeavy != 0 )
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleeWerebearPitstop", hitPosWS);
- }
- else
- {
- //! infected is playing light attack - do not send damage, play animation instead
- if( GetGame().IsServer() )
- {
- hitPosWS = m_ActualTarget.GetDefaultHitPosition(); //! override hit pos by pos defined in type
- m_ActualTarget.EEHitBy(null, 0, this, -1, m_ActualTarget.GetDefaultHitComponent(), "MeleeWerebearPitstop", hitPosWS, 1.0);
- }
- }
- }
- else
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleeWerebearPitstop", hitPosWS);
- }
- }
- }
- }
- return true;
- }
- return false;
- }
- override bool EvaluateDamageHitAnimation(EntityAI pSource, string pComponent, string pAmmoType, out bool pHeavyHit, out int pAnimType, out float pAnimHitDir)
- {
- return false;
- }
- };
- class PITSTOP_Monsters_Yeti_Base extends ZombieMaleBase
- {
- override bool FightLogic(int pCurrentCommandID, DayZInfectedInputController pInputController, float pDt)
- {
- if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_MOVE )
- {
- // we attack only in chase & fight state
- int mindState = pInputController.GetMindState();
- if( mindState == DayZInfectedConstants.MINDSTATE_CHASE )
- {
- return ChaseAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- else if( mindState == DayZInfectedConstants.MINDSTATE_FIGHT )
- {
- return FightAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- }
- else if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_ATTACK )
- {
- DayZInfectedCommandAttack attackCommand = GetCommand_Attack();
- if( attackCommand && attackCommand.WasHit() )
- {
- if( m_ActualTarget != NULL )
- {
- if (m_ActualTarget.GetMeleeTargetType() == EMeleeTargetType.NONALIGNABLE )
- {
- return false;
- }
- bool playerInBlockStance = false;
- vector targetPos = m_ActualTarget.GetPosition();
- vector hitPosWS = targetPos;
- PlayerBase playerTarget = PlayerBase.Cast(m_ActualTarget);
- if( playerTarget )
- {
- playerInBlockStance = playerTarget.GetMeleeFightLogic() && playerTarget.GetMeleeFightLogic().IsInBlock();
- }
- if( vector.DistanceSq(targetPos, this.GetPosition()) <= m_ActualAttackType.m_Distance * m_ActualAttackType.m_Distance )
- {
- //! player is in block stance
- if( playerInBlockStance )
- {
- //! infected is playing heavy attack - decrease the dmg to light
- if( m_ActualAttackType.m_IsHeavy != 0 )
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleeWerebearPitstop", hitPosWS);
- }
- else
- {
- //! infected is playing light attack - do not send damage, play animation instead
- if( GetGame().IsServer() )
- {
- hitPosWS = m_ActualTarget.GetDefaultHitPosition(); //! override hit pos by pos defined in type
- m_ActualTarget.EEHitBy(null, 0, this, -1, m_ActualTarget.GetDefaultHitComponent(), "MeleeWerebearPitstop", hitPosWS, 1.0);
- }
- }
- }
- else
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleeWerebearPitstop", hitPosWS);
- }
- }
- }
- }
- return true;
- }
- return false;
- }
- override bool EvaluateDamageHitAnimation(EntityAI pSource, string pComponent, string pAmmoType, out bool pHeavyHit, out int pAnimType, out float pAnimHitDir)
- {
- return false;
- }
- };
- class PITSTOP_Monsters_Wendigo_Base extends ZombieMaleBase
- {
- override bool FightLogic(int pCurrentCommandID, DayZInfectedInputController pInputController, float pDt)
- {
- if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_MOVE )
- {
- // we attack only in chase & fight state
- int mindState = pInputController.GetMindState();
- if( mindState == DayZInfectedConstants.MINDSTATE_CHASE )
- {
- return ChaseAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- else if( mindState == DayZInfectedConstants.MINDSTATE_FIGHT )
- {
- return FightAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- }
- else if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_ATTACK )
- {
- DayZInfectedCommandAttack attackCommand = GetCommand_Attack();
- if( attackCommand && attackCommand.WasHit() )
- {
- if( m_ActualTarget != NULL )
- {
- if (m_ActualTarget.GetMeleeTargetType() == EMeleeTargetType.NONALIGNABLE )
- {
- return false;
- }
- bool playerInBlockStance = false;
- vector targetPos = m_ActualTarget.GetPosition();
- vector hitPosWS = targetPos;
- PlayerBase playerTarget = PlayerBase.Cast(m_ActualTarget);
- if( playerTarget )
- {
- playerInBlockStance = playerTarget.GetMeleeFightLogic() && playerTarget.GetMeleeFightLogic().IsInBlock();
- }
- if( vector.DistanceSq(targetPos, this.GetPosition()) <= m_ActualAttackType.m_Distance * m_ActualAttackType.m_Distance )
- {
- //! player is in block stance
- if( playerInBlockStance )
- {
- //! infected is playing heavy attack - decrease the dmg to light
- if( m_ActualAttackType.m_IsHeavy != 0 )
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleeWendigoPitstop", hitPosWS);
- }
- else
- {
- //! infected is playing light attack - do not send damage, play animation instead
- if( GetGame().IsServer() )
- {
- hitPosWS = m_ActualTarget.GetDefaultHitPosition(); //! override hit pos by pos defined in type
- m_ActualTarget.EEHitBy(null, 0, this, -1, m_ActualTarget.GetDefaultHitComponent(), "MeleeWendigoPitstop", hitPosWS, 1.0);
- }
- }
- }
- else
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleeWendigoPitstop", hitPosWS);
- }
- }
- }
- }
- return true;
- }
- return false;
- }
- override bool EvaluateDamageHitAnimation(EntityAI pSource, string pComponent, string pAmmoType, out bool pHeavyHit, out int pAnimType, out float pAnimHitDir)
- {
- return false;
- }
- };
- class PITSTOP_Monsters_Lechen_Base extends ZombieMaleBase
- {
- override bool FightLogic(int pCurrentCommandID, DayZInfectedInputController pInputController, float pDt)
- {
- if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_MOVE )
- {
- // we attack only in chase & fight state
- int mindState = pInputController.GetMindState();
- if( mindState == DayZInfectedConstants.MINDSTATE_CHASE )
- {
- return ChaseAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- else if( mindState == DayZInfectedConstants.MINDSTATE_FIGHT )
- {
- return FightAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- }
- else if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_ATTACK )
- {
- DayZInfectedCommandAttack attackCommand = GetCommand_Attack();
- if( attackCommand && attackCommand.WasHit() )
- {
- if( m_ActualTarget != NULL )
- {
- if (m_ActualTarget.GetMeleeTargetType() == EMeleeTargetType.NONALIGNABLE )
- {
- return false;
- }
- bool playerInBlockStance = false;
- vector targetPos = m_ActualTarget.GetPosition();
- vector hitPosWS = targetPos;
- PlayerBase playerTarget = PlayerBase.Cast(m_ActualTarget);
- if( playerTarget )
- {
- playerInBlockStance = playerTarget.GetMeleeFightLogic() && playerTarget.GetMeleeFightLogic().IsInBlock();
- }
- if( vector.DistanceSq(targetPos, this.GetPosition()) <= m_ActualAttackType.m_Distance * m_ActualAttackType.m_Distance )
- {
- //! player is in block stance
- if( playerInBlockStance )
- {
- //! infected is playing heavy attack - decrease the dmg to light
- if( m_ActualAttackType.m_IsHeavy != 0 )
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleeLechenPitstop", hitPosWS);
- }
- else
- {
- //! infected is playing light attack - do not send damage, play animation instead
- if( GetGame().IsServer() )
- {
- hitPosWS = m_ActualTarget.GetDefaultHitPosition(); //! override hit pos by pos defined in type
- m_ActualTarget.EEHitBy(null, 0, this, -1, m_ActualTarget.GetDefaultHitComponent(), "MeleeLechenPitstop", hitPosWS, 1.0);
- }
- }
- }
- else
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleeLechenPitstop", hitPosWS);
- }
- }
- }
- }
- return true;
- }
- return false;
- }
- override bool EvaluateDamageHitAnimation(EntityAI pSource, string pComponent, string pAmmoType, out bool pHeavyHit, out int pAnimType, out float pAnimHitDir)
- {
- return false;
- }
- };
- class PITSTOP_Monsters_Syther_Base extends ZombieMaleBase
- {
- override bool FightLogic(int pCurrentCommandID, DayZInfectedInputController pInputController, float pDt)
- {
- if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_MOVE )
- {
- // we attack only in chase & fight state
- int mindState = pInputController.GetMindState();
- if( mindState == DayZInfectedConstants.MINDSTATE_CHASE )
- {
- return ChaseAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- else if( mindState == DayZInfectedConstants.MINDSTATE_FIGHT )
- {
- return FightAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- }
- else if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_ATTACK )
- {
- DayZInfectedCommandAttack attackCommand = GetCommand_Attack();
- if( attackCommand && attackCommand.WasHit() )
- {
- if( m_ActualTarget != NULL )
- {
- if (m_ActualTarget.GetMeleeTargetType() == EMeleeTargetType.NONALIGNABLE )
- {
- return false;
- }
- bool playerInBlockStance = false;
- vector targetPos = m_ActualTarget.GetPosition();
- vector hitPosWS = targetPos;
- PlayerBase playerTarget = PlayerBase.Cast(m_ActualTarget);
- if( playerTarget )
- {
- playerInBlockStance = playerTarget.GetMeleeFightLogic() && playerTarget.GetMeleeFightLogic().IsInBlock();
- }
- if( vector.DistanceSq(targetPos, this.GetPosition()) <= m_ActualAttackType.m_Distance * m_ActualAttackType.m_Distance )
- {
- //! player is in block stance
- if( playerInBlockStance )
- {
- //! infected is playing heavy attack - decrease the dmg to light
- if( m_ActualAttackType.m_IsHeavy != 0 )
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleePSSyther", hitPosWS);
- }
- else
- {
- //! infected is playing light attack - do not send damage, play animation instead
- if( GetGame().IsServer() )
- {
- hitPosWS = m_ActualTarget.GetDefaultHitPosition(); //! override hit pos by pos defined in type
- m_ActualTarget.EEHitBy(null, 0, this, -1, m_ActualTarget.GetDefaultHitComponent(), "MeleePSSyther", hitPosWS, 1.0);
- }
- }
- }
- else
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleePSSyther", hitPosWS);
- }
- }
- }
- }
- return true;
- }
- return false;
- }
- override bool EvaluateDamageHitAnimation(EntityAI pSource, string pComponent, string pAmmoType, out bool pHeavyHit, out int pAnimType, out float pAnimHitDir)
- {
- //! anim type
- pAnimType = 0; // belly
- //! direction
- pAnimHitDir = ComputeHitDirectionAngle(pSource);
- //! shock GetDamage
- m_ShockDamage = GetGame().ConfigGetFloat( "CfgAmmo " + pAmmoType + " DamageApplied " + "Shock " + "damage");
- return true;
- }
- };
- //class PITSTOP_Monsters_Syther extends PITSTOP_Monsters_Syther_Base {};
- class PITSTOP_Monsters_Syther extends PITSTOP_Monsters_Syther_Base
- {
- protected float m_Scale = 1.5;
- void PITSTOP_Monsters_Syther()
- {
- SetEventMask(EntityEvent.POSTFRAME);
- RegisterNetSyncVariableFloat("m_Scale");
- }
- override void EOnFrame(IEntity other, float timeSlice) // | EntityEvent.FRAME
- {
- vector rotation = GetYawPitchRoll();
- SetYawPitchRoll(Vector(rotation[0], 0, 0));
- }
- override void EOnPostFrame(IEntity other, int extra) // | EntityEvent.POSTFRAME
- {
- vector mat[4];
- GetTransform(mat);
- mat[0] = mat[0].Normalized() * m_Scale;
- mat[1] = mat[1].Normalized() * m_Scale;
- mat[2] = mat[2].Normalized() * m_Scale;
- SetTransform(mat);
- }
- override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
- {
- super.EEHitBy(damageResult, damageType, source, component, dmgZone, ammo, modelPos, speedCoef);
- m_DamageHitToProcess = false;
- }
- }
- class PITSTOP_Monsters_Reaper_Base extends ZombieMaleBase
- {
- override bool FightLogic(int pCurrentCommandID, DayZInfectedInputController pInputController, float pDt)
- {
- if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_MOVE )
- {
- // we attack only in chase & fight state
- int mindState = pInputController.GetMindState();
- if( mindState == DayZInfectedConstants.MINDSTATE_CHASE )
- {
- return ChaseAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- else if( mindState == DayZInfectedConstants.MINDSTATE_FIGHT )
- {
- return FightAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- }
- else if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_ATTACK )
- {
- DayZInfectedCommandAttack attackCommand = GetCommand_Attack();
- if( attackCommand && attackCommand.WasHit() )
- {
- if( m_ActualTarget != NULL )
- {
- if (m_ActualTarget.GetMeleeTargetType() == EMeleeTargetType.NONALIGNABLE )
- {
- return false;
- }
- bool playerInBlockStance = false;
- vector targetPos = m_ActualTarget.GetPosition();
- vector hitPosWS = targetPos;
- PlayerBase playerTarget = PlayerBase.Cast(m_ActualTarget);
- if( playerTarget )
- {
- playerInBlockStance = playerTarget.GetMeleeFightLogic() && playerTarget.GetMeleeFightLogic().IsInBlock();
- }
- if( vector.DistanceSq(targetPos, this.GetPosition()) <= m_ActualAttackType.m_Distance * m_ActualAttackType.m_Distance )
- {
- //! player is in block stance
- if( playerInBlockStance )
- {
- //! infected is playing heavy attack - decrease the dmg to light
- if( m_ActualAttackType.m_IsHeavy != 0 )
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleePSReaper", hitPosWS);
- }
- else
- {
- //! infected is playing light attack - do not send damage, play animation instead
- if( GetGame().IsServer() )
- {
- hitPosWS = m_ActualTarget.GetDefaultHitPosition(); //! override hit pos by pos defined in type
- m_ActualTarget.EEHitBy(null, 0, this, -1, m_ActualTarget.GetDefaultHitComponent(), "MeleePSReaper", hitPosWS, 1.0);
- }
- }
- }
- else
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleePSReaper", hitPosWS);
- }
- }
- }
- }
- return true;
- }
- return false;
- }
- override bool EvaluateDamageHitAnimation(EntityAI pSource, string pComponent, string pAmmoType, out bool pHeavyHit, out int pAnimType, out float pAnimHitDir)
- {
- //! anim type
- pAnimType = 0; // belly
- //! direction
- pAnimHitDir = ComputeHitDirectionAngle(pSource);
- //! shock GetDamage
- m_ShockDamage = GetGame().ConfigGetFloat( "CfgAmmo " + pAmmoType + " DamageApplied " + "Shock " + "damage");
- return true;
- }
- };
- class PITSTOP_Monsters_Reaper extends PITSTOP_Monsters_Reaper_Base
- {
- protected float m_Scale = 2.5;
- void PITSTOP_Monsters_Reaper()
- {
- SetEventMask(EntityEvent.POSTFRAME);
- RegisterNetSyncVariableFloat("m_Scale");
- }
- override void EOnFrame(IEntity other, float timeSlice) // | EntityEvent.FRAME
- {
- vector rotation = GetYawPitchRoll();
- SetYawPitchRoll(Vector(rotation[0], 0, 0));
- }
- override void EOnPostFrame(IEntity other, int extra) // | EntityEvent.POSTFRAME
- {
- vector mat[4];
- GetTransform(mat);
- mat[0] = mat[0].Normalized() * m_Scale;
- mat[1] = mat[1].Normalized() * m_Scale;
- mat[2] = mat[2].Normalized() * m_Scale;
- SetTransform(mat);
- }
- override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
- {
- super.EEHitBy(damageResult, damageType, source, component, dmgZone, ammo, modelPos, speedCoef);
- m_DamageHitToProcess = false;
- }
- }
- class PITSTOP_Monsters_Gorgund_Base extends ZombieMaleBase
- {
- override bool FightLogic(int pCurrentCommandID, DayZInfectedInputController pInputController, float pDt)
- {
- if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_MOVE )
- {
- // we attack only in chase & fight state
- int mindState = pInputController.GetMindState();
- if( mindState == DayZInfectedConstants.MINDSTATE_CHASE )
- {
- return ChaseAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- else if( mindState == DayZInfectedConstants.MINDSTATE_FIGHT )
- {
- return FightAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- }
- else if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_ATTACK )
- {
- DayZInfectedCommandAttack attackCommand = GetCommand_Attack();
- if( attackCommand && attackCommand.WasHit() )
- {
- if( m_ActualTarget != NULL )
- {
- if (m_ActualTarget.GetMeleeTargetType() == EMeleeTargetType.NONALIGNABLE )
- {
- return false;
- }
- bool playerInBlockStance = false;
- vector targetPos = m_ActualTarget.GetPosition();
- vector hitPosWS = targetPos;
- PlayerBase playerTarget = PlayerBase.Cast(m_ActualTarget);
- if( playerTarget )
- {
- playerInBlockStance = playerTarget.GetMeleeFightLogic() && playerTarget.GetMeleeFightLogic().IsInBlock();
- }
- if( vector.DistanceSq(targetPos, this.GetPosition()) <= m_ActualAttackType.m_Distance * m_ActualAttackType.m_Distance )
- {
- //! player is in block stance
- if( playerInBlockStance )
- {
- //! infected is playing heavy attack - decrease the dmg to light
- if( m_ActualAttackType.m_IsHeavy != 0 )
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleePSGorgund", hitPosWS);
- }
- else
- {
- //! infected is playing light attack - do not send damage, play animation instead
- if( GetGame().IsServer() )
- {
- hitPosWS = m_ActualTarget.GetDefaultHitPosition(); //! override hit pos by pos defined in type
- m_ActualTarget.EEHitBy(null, 0, this, -1, m_ActualTarget.GetDefaultHitComponent(), "MeleePSGorgund", hitPosWS, 1.0);
- }
- }
- }
- else
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleePSGorgund", hitPosWS);
- }
- }
- }
- }
- return true;
- }
- return false;
- }
- override bool EvaluateDamageHitAnimation(EntityAI pSource, string pComponent, string pAmmoType, out bool pHeavyHit, out int pAnimType, out float pAnimHitDir)
- {
- //! anim type
- pAnimType = 0; // belly
- //! direction
- pAnimHitDir = ComputeHitDirectionAngle(pSource);
- //! shock GetDamage
- m_ShockDamage = GetGame().ConfigGetFloat( "CfgAmmo " + pAmmoType + " DamageApplied " + "Shock " + "damage");
- return true;
- }
- };
- class PITSTOP_Monsters_Gorgund extends PITSTOP_Monsters_Gorgund_Base
- {
- protected float m_Scale = 1.7;
- void PITSTOP_Monsters_Gorgund()
- {
- SetEventMask(EntityEvent.POSTFRAME);
- RegisterNetSyncVariableFloat("m_Scale");
- }
- override void EOnFrame(IEntity other, float timeSlice) // | EntityEvent.FRAME
- {
- vector rotation = GetYawPitchRoll();
- SetYawPitchRoll(Vector(rotation[0], 0, 0));
- }
- override void EOnPostFrame(IEntity other, int extra) // | EntityEvent.POSTFRAME
- {
- vector mat[4];
- GetTransform(mat);
- mat[0] = mat[0].Normalized() * m_Scale;
- mat[1] = mat[1].Normalized() * m_Scale;
- mat[2] = mat[2].Normalized() * m_Scale;
- SetTransform(mat);
- }
- override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
- {
- super.EEHitBy(damageResult, damageType, source, component, dmgZone, ammo, modelPos, speedCoef);
- m_DamageHitToProcess = false;
- }
- }
- class PITSTOP_Monsters_Gargoyvile_Base extends ZombieMaleBase
- {
- override bool FightLogic(int pCurrentCommandID, DayZInfectedInputController pInputController, float pDt)
- {
- if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_MOVE )
- {
- // we attack only in chase & fight state
- int mindState = pInputController.GetMindState();
- if( mindState == DayZInfectedConstants.MINDSTATE_CHASE )
- {
- return ChaseAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- else if( mindState == DayZInfectedConstants.MINDSTATE_FIGHT )
- {
- return FightAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- }
- else if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_ATTACK )
- {
- DayZInfectedCommandAttack attackCommand = GetCommand_Attack();
- if( attackCommand && attackCommand.WasHit() )
- {
- if( m_ActualTarget != NULL )
- {
- if (m_ActualTarget.GetMeleeTargetType() == EMeleeTargetType.NONALIGNABLE )
- {
- return false;
- }
- bool playerInBlockStance = false;
- vector targetPos = m_ActualTarget.GetPosition();
- vector hitPosWS = targetPos;
- PlayerBase playerTarget = PlayerBase.Cast(m_ActualTarget);
- if( playerTarget )
- {
- playerInBlockStance = playerTarget.GetMeleeFightLogic() && playerTarget.GetMeleeFightLogic().IsInBlock();
- }
- if( vector.DistanceSq(targetPos, this.GetPosition()) <= m_ActualAttackType.m_Distance * m_ActualAttackType.m_Distance )
- {
- //! player is in block stance
- if( playerInBlockStance )
- {
- //! infected is playing heavy attack - decrease the dmg to light
- if( m_ActualAttackType.m_IsHeavy != 0 )
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleePSGargoyvile", hitPosWS);
- }
- else
- {
- //! infected is playing light attack - do not send damage, play animation instead
- if( GetGame().IsServer() )
- {
- hitPosWS = m_ActualTarget.GetDefaultHitPosition(); //! override hit pos by pos defined in type
- m_ActualTarget.EEHitBy(null, 0, this, -1, m_ActualTarget.GetDefaultHitComponent(), "MeleePSGargoyvile", hitPosWS, 1.0);
- }
- }
- }
- else
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleePSGargoyvile", hitPosWS);
- }
- }
- }
- }
- return true;
- }
- return false;
- }
- override bool EvaluateDamageHitAnimation(EntityAI pSource, string pComponent, string pAmmoType, out bool pHeavyHit, out int pAnimType, out float pAnimHitDir)
- {
- //! anim type
- pAnimType = 0; // belly
- //! direction
- pAnimHitDir = ComputeHitDirectionAngle(pSource);
- //! shock GetDamage
- m_ShockDamage = GetGame().ConfigGetFloat( "CfgAmmo " + pAmmoType + " DamageApplied " + "Shock " + "damage");
- return true;
- }
- };
- class PITSTOP_Monsters_Gargoyvile_1 extends PITSTOP_Monsters_Gargoyvile_Base
- {
- protected float m_Scale = 1.6;
- void PITSTOP_Monsters_Gargoyvile_1()
- {
- SetEventMask(EntityEvent.POSTFRAME);
- RegisterNetSyncVariableFloat("m_Scale");
- }
- override void EOnFrame(IEntity other, float timeSlice) // | EntityEvent.FRAME
- {
- vector rotation = GetYawPitchRoll();
- SetYawPitchRoll(Vector(rotation[0], 0, 0));
- }
- override void EOnPostFrame(IEntity other, int extra) // | EntityEvent.POSTFRAME
- {
- vector mat[4];
- GetTransform(mat);
- mat[0] = mat[0].Normalized() * m_Scale;
- mat[1] = mat[1].Normalized() * m_Scale;
- mat[2] = mat[2].Normalized() * m_Scale;
- SetTransform(mat);
- }
- override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
- {
- super.EEHitBy(damageResult, damageType, source, component, dmgZone, ammo, modelPos, speedCoef);
- m_DamageHitToProcess = false;
- }
- }
- class PITSTOP_Monsters_Gargoyvile_2 extends PITSTOP_Monsters_Gargoyvile_Base
- {
- protected float m_Scale = 1.6;
- void PITSTOP_Monsters_Gargoyvile_2()
- {
- SetEventMask(EntityEvent.POSTFRAME);
- RegisterNetSyncVariableFloat("m_Scale");
- }
- override void EOnFrame(IEntity other, float timeSlice) // | EntityEvent.FRAME
- {
- vector rotation = GetYawPitchRoll();
- SetYawPitchRoll(Vector(rotation[0], 0, 0));
- }
- override void EOnPostFrame(IEntity other, int extra) // | EntityEvent.POSTFRAME
- {
- vector mat[4];
- GetTransform(mat);
- mat[0] = mat[0].Normalized() * m_Scale;
- mat[1] = mat[1].Normalized() * m_Scale;
- mat[2] = mat[2].Normalized() * m_Scale;
- SetTransform(mat);
- }
- override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
- {
- super.EEHitBy(damageResult, damageType, source, component, dmgZone, ammo, modelPos, speedCoef);
- m_DamageHitToProcess = false;
- }
- }
- class PITSTOP_Monsters_Gargoyvile_3 extends PITSTOP_Monsters_Gargoyvile_Base
- {
- protected float m_Scale = 1.6;
- void PITSTOP_Monsters_Gargoyvile_3()
- {
- SetEventMask(EntityEvent.POSTFRAME);
- RegisterNetSyncVariableFloat("m_Scale");
- }
- override void EOnFrame(IEntity other, float timeSlice) // | EntityEvent.FRAME
- {
- vector rotation = GetYawPitchRoll();
- SetYawPitchRoll(Vector(rotation[0], 0, 0));
- }
- override void EOnPostFrame(IEntity other, int extra) // | EntityEvent.POSTFRAME
- {
- vector mat[4];
- GetTransform(mat);
- mat[0] = mat[0].Normalized() * m_Scale;
- mat[1] = mat[1].Normalized() * m_Scale;
- mat[2] = mat[2].Normalized() * m_Scale;
- SetTransform(mat);
- }
- override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
- {
- super.EEHitBy(damageResult, damageType, source, component, dmgZone, ammo, modelPos, speedCoef);
- m_DamageHitToProcess = false;
- }
- }
- class PITSTOP_Monsters_MaskedMoose_Base extends AnimalBase
- {
- protected float m_Scale = 1.3;
- void PITSTOP_Monsters_MaskedMoose_Base()
- {
- SetEventMask(EntityEvent.POSTFRAME);
- RegisterNetSyncVariableFloat("m_Scale");
- }
- override void EOnFrame(IEntity other, float timeSlice) // | EntityEvent.FRAME
- {
- vector rotation = GetYawPitchRoll();
- SetYawPitchRoll(Vector(rotation[0], 0, 0));
- }
- override void EOnPostFrame(IEntity other, int extra) // | EntityEvent.POSTFRAME
- {
- vector mat[4];
- GetTransform(mat);
- mat[0] = mat[0].Normalized() * m_Scale;
- mat[1] = mat[1].Normalized() * m_Scale;
- mat[2] = mat[2].Normalized() * m_Scale;
- SetTransform(mat);
- }
- override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
- {
- super.EEHitBy(damageResult, damageType, source, component, dmgZone, ammo, modelPos, speedCoef);
- m_DamageHitToProcess = false;
- }
- override void RegisterHitComponentsForAI()
- {
- m_DefaultHitComponent = "Zone_Chest";
- m_DefaultHitPositionComponent = "Pelvis";
- DayZAIHitComponentHelpers.RegisterHitComponent(m_HitComponentsForAI, "Zone_Head", 2);
- DayZAIHitComponentHelpers.RegisterHitComponent(m_HitComponentsForAI, "Zone_Neck", 65);
- DayZAIHitComponentHelpers.RegisterHitComponent(m_HitComponentsForAI, "Zone_Chest", 50);
- DayZAIHitComponentHelpers.RegisterHitComponent(m_HitComponentsForAI, "Zone_Legs_Back", 75);
- DayZAIHitComponentHelpers.RegisterHitComponent(m_HitComponentsForAI, "Zone_Legs_Front", 70);
- }
- override bool IsDanger()
- {
- return true;
- }
- override string CaptureSound()
- {
- return "DeerRoarLong_SoundSet";
- }
- override string ReleaseSound()
- {
- return "DeerRoarShort_SoundSet";
- }
- }
- class PITSTOP_Monsters_MaskedMoose_Bloody extends PITSTOP_Monsters_MaskedMoose_Base {};
- class PITSTOP_Monsters_MaskedMoose_Clean extends PITSTOP_Monsters_MaskedMoose_Base {};
- class PITSTOP_Monsters_Gharlog_Base extends ZombieMaleBase
- {
- protected float m_Scale = 1.8;
- void PITSTOP_Monsters_Gharlog_Base()
- {
- SetEventMask(EntityEvent.POSTFRAME);
- RegisterNetSyncVariableFloat("m_Scale");
- }
- override void EOnFrame(IEntity other, float timeSlice) // | EntityEvent.FRAME
- {
- vector rotation = GetYawPitchRoll();
- SetYawPitchRoll(Vector(rotation[0], 0, 0));
- }
- override void EOnPostFrame(IEntity other, int extra) // | EntityEvent.POSTFRAME
- {
- vector mat[4];
- GetTransform(mat);
- mat[0] = mat[0].Normalized() * m_Scale;
- mat[1] = mat[1].Normalized() * m_Scale;
- mat[2] = mat[2].Normalized() * m_Scale;
- SetTransform(mat);
- }
- override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
- {
- super.EEHitBy(damageResult, damageType, source, component, dmgZone, ammo, modelPos, speedCoef);
- m_DamageHitToProcess = false;
- }
- override bool FightLogic(int pCurrentCommandID, DayZInfectedInputController pInputController, float pDt)
- {
- if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_MOVE )
- {
- // we attack only in chase & fight state
- int mindState = pInputController.GetMindState();
- if( mindState == DayZInfectedConstants.MINDSTATE_CHASE )
- {
- return ChaseAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- else if( mindState == DayZInfectedConstants.MINDSTATE_FIGHT )
- {
- return FightAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- }
- else if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_ATTACK )
- {
- DayZInfectedCommandAttack attackCommand = GetCommand_Attack();
- if( attackCommand && attackCommand.WasHit() )
- {
- if( m_ActualTarget != NULL )
- {
- if (m_ActualTarget.GetMeleeTargetType() == EMeleeTargetType.NONALIGNABLE )
- {
- return false;
- }
- bool playerInBlockStance = false;
- vector targetPos = m_ActualTarget.GetPosition();
- vector hitPosWS = targetPos;
- PlayerBase playerTarget = PlayerBase.Cast(m_ActualTarget);
- if( playerTarget )
- {
- playerInBlockStance = playerTarget.GetMeleeFightLogic() && playerTarget.GetMeleeFightLogic().IsInBlock();
- }
- if( vector.DistanceSq(targetPos, this.GetPosition()) <= m_ActualAttackType.m_Distance * m_ActualAttackType.m_Distance )
- {
- //! player is in block stance
- if( playerInBlockStance )
- {
- //! infected is playing heavy attack - decrease the dmg to light
- if( m_ActualAttackType.m_IsHeavy != 0 )
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleePSGharlog", hitPosWS);
- }
- else
- {
- //! infected is playing light attack - do not send damage, play animation instead
- if( GetGame().IsServer() )
- {
- hitPosWS = m_ActualTarget.GetDefaultHitPosition(); //! override hit pos by pos defined in type
- m_ActualTarget.EEHitBy(null, 0, this, -1, m_ActualTarget.GetDefaultHitComponent(), "MeleePSGharlog", hitPosWS, 1.0);
- }
- }
- }
- else
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleePSGharlog", hitPosWS);
- }
- }
- }
- }
- return true;
- }
- return false;
- }
- override bool EvaluateDamageHitAnimation(EntityAI pSource, string pComponent, string pAmmoType, out bool pHeavyHit, out int pAnimType, out float pAnimHitDir)
- {
- return false;
- }
- };
- class PITSTOP_Monsters_Gharlog extends PITSTOP_Monsters_Gharlog_Base {};
- class PITSTOP_Monsters_FireDemon_Base extends ZombieMaleBase
- {
- protected float m_Scale = 1.7;
- void PITSTOP_Monsters_FireDemon_Base()
- {
- SetEventMask(EntityEvent.POSTFRAME);
- RegisterNetSyncVariableFloat("m_Scale");
- }
- override void EOnFrame(IEntity other, float timeSlice) // | EntityEvent.FRAME
- {
- vector rotation = GetYawPitchRoll();
- SetYawPitchRoll(Vector(rotation[0], 0, 0));
- }
- override void EOnPostFrame(IEntity other, int extra) // | EntityEvent.POSTFRAME
- {
- vector mat[4];
- GetTransform(mat);
- mat[0] = mat[0].Normalized() * m_Scale;
- mat[1] = mat[1].Normalized() * m_Scale;
- mat[2] = mat[2].Normalized() * m_Scale;
- SetTransform(mat);
- }
- override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
- {
- super.EEHitBy(damageResult, damageType, source, component, dmgZone, ammo, modelPos, speedCoef);
- m_DamageHitToProcess = false;
- }
- override bool FightLogic(int pCurrentCommandID, DayZInfectedInputController pInputController, float pDt)
- {
- if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_MOVE )
- {
- // we attack only in chase & fight state
- int mindState = pInputController.GetMindState();
- if( mindState == DayZInfectedConstants.MINDSTATE_CHASE )
- {
- return ChaseAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- else if( mindState == DayZInfectedConstants.MINDSTATE_FIGHT )
- {
- return FightAttackLogic(pCurrentCommandID, pInputController, pDt);
- }
- }
- else if( pCurrentCommandID == DayZInfectedConstants.COMMANDID_ATTACK )
- {
- DayZInfectedCommandAttack attackCommand = GetCommand_Attack();
- if( attackCommand && attackCommand.WasHit() )
- {
- if( m_ActualTarget != NULL )
- {
- if (m_ActualTarget.GetMeleeTargetType() == EMeleeTargetType.NONALIGNABLE )
- {
- return false;
- }
- bool playerInBlockStance = false;
- vector targetPos = m_ActualTarget.GetPosition();
- vector hitPosWS = targetPos;
- PlayerBase playerTarget = PlayerBase.Cast(m_ActualTarget);
- if( playerTarget )
- {
- playerInBlockStance = playerTarget.GetMeleeFightLogic() && playerTarget.GetMeleeFightLogic().IsInBlock();
- }
- if( vector.DistanceSq(targetPos, this.GetPosition()) <= m_ActualAttackType.m_Distance * m_ActualAttackType.m_Distance )
- {
- //! player is in block stance
- if( playerInBlockStance )
- {
- //! infected is playing heavy attack - decrease the dmg to light
- if( m_ActualAttackType.m_IsHeavy != 0 )
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleePSFireDemon", hitPosWS);
- }
- else
- {
- //! infected is playing light attack - do not send damage, play animation instead
- if( GetGame().IsServer() )
- {
- hitPosWS = m_ActualTarget.GetDefaultHitPosition(); //! override hit pos by pos defined in type
- m_ActualTarget.EEHitBy(null, 0, this, -1, m_ActualTarget.GetDefaultHitComponent(), "MeleePSFireDemon", hitPosWS, 1.0);
- }
- }
- }
- else
- {
- hitPosWS = m_ActualTarget.ModelToWorld(m_ActualTarget.GetDefaultHitPosition()); //! override hit pos by pos defined in type
- DamageSystem.CloseCombatDamageName(this, m_ActualTarget, m_ActualTarget.GetHitComponentForAI(), "MeleePSFireDemon", hitPosWS);
- }
- }
- }
- }
- return true;
- }
- return false;
- }
- override bool EvaluateDamageHitAnimation(EntityAI pSource, string pComponent, string pAmmoType, out bool pHeavyHit, out int pAnimType, out float pAnimHitDir)
- {
- return false;
- }
- };
- class PITSTOP_Monsters_FireDemon extends PITSTOP_Monsters_FireDemon_Base {};
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement