diff --git a/code/game/wp_saber.cpp b/code/game/wp_saber.cpp index 8a6169d3b8..b780c6a109 100644 --- a/code/game/wp_saber.cpp +++ b/code/game/wp_saber.cpp @@ -5186,6 +5186,7 @@ void WP_SaberDamageTrace( gentity_t *ent, int saberNum, int bladeNum ) { entPowerLevel += ent->client->ps.saber[saberNum].breakParryBonus2; } + entPowerLevel += ent->client->ps.forcePowerLevel[FP_SABER_OFFENSE]+Q_irand(0,g_spskill->integer)+(ent->s.number>=MAX_CLIENTS)?0:Q_irand(0,1); } else if ( entDefending ) {//add twoHanded bonus and dualSaber bonus and parryBonus to entPowerLevel here @@ -5232,6 +5233,7 @@ void WP_SaberDamageTrace( gentity_t *ent, int saberNum, int bladeNum ) {//FIXME: assumes both sabers are hitting at same time...? hitOwnerPowerLevel += 1 + hitOwner->client->ps.saber[1].breakParryBonus; } + hitOwnerPowerLevel += hitOwner->client->ps.forcePowerLevel[FP_SABER_OFFENSE]+Q_irand(0,g_spskill->integer)+(ent->s.number>=MAX_CLIENTS)?0:Q_irand(0,1); } else if ( hitOwnerDefending ) {//add twoHanded bonus and dualSaber bonus and parryBonus to entPowerLevel here diff --git a/code/qcommon/q_shared.h b/code/qcommon/q_shared.h index c5af170241..263dccf6ce 100644 --- a/code/qcommon/q_shared.h +++ b/code/qcommon/q_shared.h @@ -1783,10 +1783,7 @@ class PlayerStateBase disarmBonus += 1 + saber[1].disarmBonus; } } - if ( forcePowerLevel[FP_SABER_OFFENSE] > 1 ) - {//bonus for saber offense above 1 - disarmBonus += forcePowerLevel[FP_SABER_OFFENSE] - 1; - } + disarmBonus += forcePowerLevel[FP_SABER_DEFENSE]+Q_irand(0,g_spskill->integer)+Q_irand(0,1); return disarmBonus; }; int SaberParryBonus( void ) @@ -1800,10 +1797,7 @@ class PlayerStateBase {//bonus for having 2 sabers parryBonus += 1 + saber[1].parryBonus; } - if ( forcePowerLevel[FP_SABER_DEFENSE] > 1 ) - {//bonus for saber defense above 1 - parryBonus += forcePowerLevel[FP_SABER_DEFENSE] - 1; - } + parryBonus += forcePowerLevel[FP_SABER_DEFENSE]+Q_irand(0,g_spskill->integer)+Q_irand(0,1); return parryBonus; }; #endif // !JK2_MODE