Skip to content

Commit d5b9594

Browse files
committed
Merge remote-tracking branch 'videoP-jaPRO/master'
2 parents 2af3821 + 8f47b99 commit d5b9594

File tree

7 files changed

+34
-23
lines changed

7 files changed

+34
-23
lines changed

codemp/game/bg_pmove.c

+3
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,7 @@ qboolean BG_KnockDownable(playerState_t *ps)
340340
return qtrue;
341341
}
342342

343+
extern qboolean BG_InKnockDown(int anim);
343344
qboolean BG_CanJetpack(playerState_t *ps)
344345
{
345346
if (!(ps->stats[STAT_HOLDABLE_ITEMS] & (1 << HI_JETPACK)))
@@ -352,6 +353,8 @@ qboolean BG_CanJetpack(playerState_t *ps)
352353
return qfalse;
353354
if (BG_InSpecialJump(ps->legsAnim))
354355
return qfalse;
356+
if (BG_InKnockDown(ps->legsAnim))
357+
return qfalse;
355358
return qtrue;
356359
}
357360

codemp/game/bg_saber.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -1522,6 +1522,7 @@ qboolean PM_SaberInBrokenParry( int move )
15221522
if (cgs.jcinfo & JAPRO_CINFO_NOREDCHAIN)
15231523
return qfalse;
15241524
#endif
1525+
15251526
if ( move >= LS_V1_BR && move <= LS_V1_B_ )
15261527
{
15271528
return qtrue;
@@ -4218,7 +4219,7 @@ void PM_SetSaberMove(short newMove)
42184219
{//spins must be played on entire body
42194220
parts = SETANIM_BOTH;
42204221
}
4221-
else if ( (!pm->cmd.forwardmove&&!pm->cmd.rightmove&&!pm->cmd.upmove) )
4222+
else if ( (!pm->cmd.forwardmove && !pm->cmd.rightmove && !pm->cmd.upmove) )
42224223
{//not trying to run, duck or jump
42234224
if ( !BG_FlippingAnim( pm->ps->legsAnim ) &&
42244225
!BG_InRoll( pm->ps, pm->ps->legsAnim ) &&

codemp/game/g_items.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -2540,7 +2540,9 @@ void Touch_Item (gentity_t *ent, gentity_t *other, trace_t *trace) {
25402540
}
25412541
}
25422542

2543-
G_LogPrintf( "Item: %i %s\n", other->s.number, ent->item->classname );
2543+
if (developer.integer) {
2544+
G_LogPrintf("Item: %i %s\n", other->s.number, ent->item->classname);
2545+
}
25442546

25452547
predict = other->client->pers.predictItemPickup;
25462548

codemp/game/g_main.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -3390,7 +3390,7 @@ void G_RunFrame( int levelTime ) {
33903390
trap->Print("Auto quitting server %i\n", levelTime);
33913391
trap->SendConsoleCommand(EXEC_APPEND, "quit\n");
33923392
}
3393-
if (levelTime > (2147483648 - 1000)) { //just always quit if its this high.. 24 days?
3393+
if (levelTime > (2147483648 - 60*1000)) { //just always quit if its this high.. 24 days?
33943394
trap->Print("Auto quitting server %i\n", levelTime);
33953395
trap->SendConsoleCommand(EXEC_APPEND, "quit\n");
33963396
}
@@ -3838,7 +3838,7 @@ void G_RunFrame( int levelTime ) {
38383838
{ //using jetpack, drain fuel
38393839
if (ent->client->jetPackDebReduce < level.time)
38403840
{
3841-
ent->client->ps.jetpackFuel -= 5;
3841+
ent->client->ps.jetpackFuel -= 6;
38423842

38433843
if (ent->client->ps.jetpackFuel <= 0)
38443844
{ //turn it off

codemp/game/g_trigger.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -1361,7 +1361,9 @@ void TimerStart(gentity_t *trigger, gentity_t *player, trace_t *trace) {//JAPRO
13611361
return;
13621362
if (player->s.eType == ET_NPC)
13631363
return;
1364-
if (player->client->ps.pm_type != PM_NORMAL && player->client->ps.pm_type != PM_FLOAT && player->client->ps.pm_type != PM_FREEZE && player->client->ps.pm_type != PM_JETPACK)
1364+
if (player->client->ps.duelInProgress)
1365+
return;
1366+
if (player->client->ps.pm_type != PM_NORMAL && player->client->ps.pm_type != PM_FLOAT && player->client->ps.pm_type != PM_FREEZE && player->client->ps.pm_type != PM_JETPACK) //Allow racemode emotes?
13651367
return;
13661368
if (player->client->sess.raceMode && player->client->sess.movementStyle == MV_SWOOP && !player->client->ps.m_iVehicleNum) //Dont start the timer for swoop racers if they dont have a swoop
13671369
return;

codemp/game/g_weapon.c

+9-5
Original file line numberDiff line numberDiff line change
@@ -2316,6 +2316,10 @@ void rocketThink( gentity_t *ent )
23162316
float dot, dot2, dis;
23172317
int i;
23182318
float vel = (ent->spawnflags&1)?ent->speed:ROCKET_VELOCITY;
2319+
qboolean redeemerAllowed = qtrue;
2320+
2321+
if (!g_entities[ent->r.ownerNum].client || !g_entities[ent->r.ownerNum].client->sess.raceMode)
2322+
redeemerAllowed = qfalse;
23192323

23202324
if ( ent->genericValue1 && ent->genericValue1 < level.time )
23212325
{//time's up, we're done, remove us
@@ -2329,7 +2333,7 @@ void rocketThink( gentity_t *ent )
23292333
}
23302334
return;
23312335
}
2332-
if (!(g_tweakWeapons.integer & WT_ROCKET_REDEEMER) && ( !ent->enemy
2336+
if ((!(g_tweakWeapons.integer & WT_ROCKET_REDEEMER) || !redeemerAllowed) && ( !ent->enemy
23332337
|| !ent->enemy->client
23342338
|| ent->enemy->health <= 0
23352339
|| ent->enemy->client->ps.powerups[PW_CLOAKED] ))
@@ -2353,7 +2357,7 @@ void rocketThink( gentity_t *ent )
23532357
}
23542358
}
23552359

2356-
if ( !(g_tweakWeapons.integer & WT_ROCKET_REDEEMER) && ent->enemy && ent->enemy->inuse )
2360+
if ((!(g_tweakWeapons.integer & WT_ROCKET_REDEEMER) || !redeemerAllowed) && ent->enemy && ent->enemy->inuse )
23572361
{
23582362
float newDirMult = ent->angle?ent->angle*2.0f:1.0f;
23592363
float oldDirMult = ent->angle?(1.0f-ent->angle)*2.0f:1.0f;
@@ -2464,7 +2468,7 @@ void rocketThink( gentity_t *ent )
24642468
VectorCopy( ent->r.currentOrigin, ent->s.pos.trBase );
24652469
ent->s.pos.trTime = level.time;
24662470
}
2467-
else if (g_tweakWeapons.integer & WT_ROCKET_REDEEMER)
2471+
else if ((g_tweakWeapons.integer & WT_ROCKET_REDEEMER) && redeemerAllowed)
24682472
{
24692473
vec3_t fwd, traceFrom, traceTo, dir;
24702474
trace_t tr;
@@ -2546,7 +2550,7 @@ static void WP_FireRocket( gentity_t *ent, qboolean altFire )
25462550
if ( altFire )
25472551
vel *= 0.5f;
25482552

2549-
if (altFire && g_tweakWeapons.integer & WT_ROCKET_REDEEMER)
2553+
if (altFire && g_tweakWeapons.integer & WT_ROCKET_REDEEMER && !ent->client->sess.raceMode)
25502554
damage *= 2;
25512555

25522556
if (q3style && ent->client->pers.backwardsRocket) {
@@ -2592,7 +2596,7 @@ static void WP_FireRocket( gentity_t *ent, qboolean altFire )
25922596
ent->client->ps.rocketLockTime = 0;
25932597
ent->client->ps.rocketTargetTime = 0;
25942598
}
2595-
else if (altFire && g_tweakWeapons.integer & WT_ROCKET_REDEEMER)
2599+
else if (altFire && (g_tweakWeapons.integer & WT_ROCKET_REDEEMER) && !ent->client->sess.raceMode)
25962600
{
25972601
missile->angle = 0.5f;
25982602
missile->think = rocketThink;

codemp/game/w_saber.c

+12-13
Original file line numberDiff line numberDiff line change
@@ -5053,7 +5053,7 @@ static QINLINE qboolean CheckSaberDamage(gentity_t *self, int rSaberNum, int rBl
50535053
}
50545054
}
50555055

5056-
if ( !(g_tweakSaber.integer & ST_NO_REDCHAIN) && ((selfSaberLevel < FORCE_LEVEL_3 && ((tryDeflectAgain && Q_irand(1, 10) <= 3) || (!tryDeflectAgain && Q_irand(1, 10) <= 7))) || (Q_irand(1, 10) <= 1 && otherSaberLevel >= FORCE_LEVEL_3))
5056+
if (!(g_tweakSaber.integer & ST_NO_REDCHAIN) && ((selfSaberLevel < FORCE_LEVEL_3 && ((tryDeflectAgain && Q_irand(1, 10) <= 3) || (!tryDeflectAgain && Q_irand(1, 10) <= 7))) || (Q_irand(1, 10) <= 1 && otherSaberLevel >= FORCE_LEVEL_3))
50575057
&& !PM_SaberInBounce(self->client->ps.saberMove)
50585058

50595059
&& !PM_SaberInBrokenParry(otherOwner->client->ps.saberMove)
@@ -5100,7 +5100,7 @@ static QINLINE qboolean CheckSaberDamage(gentity_t *self, int rSaberNum, int rBl
51005100

51015101
didDefense = qtrue;
51025102
}
5103-
else if ( !(g_tweakSaber.integer & ST_NO_REDCHAIN) && (selfSaberLevel > FORCE_LEVEL_2 || unblockable) && //if we're doing a special attack, we can send them into a broken parry too (MP only)
5103+
else if (!(g_tweakSaber.integer & ST_NO_REDCHAIN) && (selfSaberLevel > FORCE_LEVEL_2 || unblockable) && //if we're doing a special attack, we can send them into a broken parry too (MP only)
51045104
( otherOwner->client->ps.fd.forcePowerLevel[FP_SABER_DEFENSE] < selfSaberLevel || (otherOwner->client->ps.fd.forcePowerLevel[FP_SABER_DEFENSE] == selfSaberLevel && (Q_irand(1, 10) >= otherSaberLevel*1.5 || unblockable)) ) &&
51055105
PM_SaberInParry(otherOwner->client->ps.saberMove) &&
51065106
!PM_SaberInBrokenParry(otherOwner->client->ps.saberMove) &&
@@ -5199,22 +5199,21 @@ static QINLINE qboolean CheckSaberDamage(gentity_t *self, int rSaberNum, int rBl
51995199
attackAdv = (attackStr+attackBonus+self->client->ps.fd.forcePowerLevel[FP_SABER_OFFENSE])-(defendStr+otherOwner->client->ps.fd.forcePowerLevel[FP_SABER_OFFENSE]);
52005200

52015201
if (!(g_tweakSaber.integer & ST_NO_REDCHAIN)) {
5202-
5203-
if ( attackAdv > 1 )
5202+
if (attackAdv > 1)
52045203
{//I won, he should knockaway
5205-
otherOwner->client->ps.saberMove = BG_BrokenParryForAttack( otherOwner->client->ps.saberMove );
5204+
otherOwner->client->ps.saberMove = BG_BrokenParryForAttack(otherOwner->client->ps.saberMove);
52065205
otherOwner->client->ps.saberBlocked = BLOCKED_BOUNCE_MOVE;
52075206
}
5208-
else if ( attackAdv > 0 )
5207+
else if (attackAdv > 0)
52095208
{//I won, he should bounce, I should continue
52105209
otherOwner->client->ps.saberBlocked = BLOCKED_ATK_BOUNCE;
52115210
}
5212-
else if ( attackAdv < 1 )
5211+
else if (attackAdv < 1)
52135212
{//I lost, I get knocked away
5214-
self->client->ps.saberMove = BG_BrokenParryForAttack( self->client->ps.saberMove );
5213+
self->client->ps.saberMove = BG_BrokenParryForAttack(self->client->ps.saberMove);
52155214
self->client->ps.saberBlocked = BLOCKED_BOUNCE_MOVE;
52165215
}
5217-
else if ( attackAdv < 0 )
5216+
else if (attackAdv < 0)
52185217
{//I lost, I bounce off
52195218
self->client->ps.saberBlocked = BLOCKED_ATK_BOUNCE;
52205219
}
@@ -5223,8 +5222,8 @@ static QINLINE qboolean CheckSaberDamage(gentity_t *self, int rSaberNum, int rBl
52235222
self->client->ps.saberBlocked = BLOCKED_ATK_BOUNCE;
52245223
otherOwner->client->ps.saberBlocked = BLOCKED_ATK_BOUNCE;
52255224
}
5226-
52275225
}
5226+
52285227
didOffense = qtrue;
52295228

52305229
}
@@ -5272,7 +5271,7 @@ static QINLINE qboolean CheckSaberDamage(gentity_t *self, int rSaberNum, int rBl
52725271
otherOwner->client->ps.saberEventFlags |= SEF_PARRIED;
52735272
self->client->ps.saberEventFlags |= SEF_BLOCKED;
52745273

5275-
if ( attackStr+self->client->ps.fd.forcePowerLevel[FP_SABER_OFFENSE] > otherIdleStr+otherOwner->client->ps.fd.forcePowerLevel[FP_SABER_DEFENSE] && !(g_tweakSaber.integer & ST_NO_REDCHAIN) )
5274+
if (attackStr + self->client->ps.fd.forcePowerLevel[FP_SABER_OFFENSE] > otherIdleStr + otherOwner->client->ps.fd.forcePowerLevel[FP_SABER_DEFENSE] && !(g_tweakSaber.integer & ST_NO_REDCHAIN))
52765275
{
52775276
crushTheParry = qtrue;
52785277
}
@@ -5335,7 +5334,6 @@ static QINLINE qboolean CheckSaberDamage(gentity_t *self, int rSaberNum, int rBl
53355334
Com_Printf("Equal attack level bounce/deflection for clients %i and %i\n", self->s.number, otherOwner->s.number);
53365335
}
53375336
#endif
5338-
53395337
if (!(g_tweakSaber.integer & ST_NO_REDCHAIN)) {
53405338
self->client->ps.saberEventFlags |= SEF_DEFLECTED;
53415339
otherOwner->client->ps.saberEventFlags |= SEF_DEFLECTED;
@@ -5359,8 +5357,9 @@ static QINLINE qboolean CheckSaberDamage(gentity_t *self, int rSaberNum, int rBl
53595357
}
53605358
#endif
53615359

5362-
if (!(g_tweakSaber.integer & ST_NO_REDCHAIN))
5360+
if (!(g_tweakSaber.integer & ST_NO_REDCHAIN)) {
53635361
otherOwner->client->ps.saberEventFlags &= ~SEF_BLOCKED;
5362+
}
53645363

53655364
didOffense = qtrue;
53665365
}

0 commit comments

Comments
 (0)