mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	More lenient Ring Sting
This commit is contained in:
		
							parent
							
								
									04b202119d
								
							
						
					
					
						commit
						baa0868212
					
				
					 3 changed files with 25 additions and 7 deletions
				
			
		|  | @ -150,6 +150,7 @@ typedef enum | |||
| 	PF2_FASTTUMBLEBOUNCE	= 1<<9, // Don't lose speed when tumblebouncing.
 | ||||
| 
 | ||||
| 	PF2_SERVERTEMPMUTE		= 1<<10, // Haven't met gamestochat requirement
 | ||||
| 	PF2_SAMEFRAMESTUNG		= 1<<11, // Goofy bullshit for tracking mutual ring sting
 | ||||
| } pflags2_t; | ||||
| 
 | ||||
| typedef enum | ||||
|  |  | |||
|  | @ -1180,7 +1180,6 @@ boolean K_PvPTouchDamage(mobj_t *t1, mobj_t *t2) | |||
| 		return false; | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	boolean guard1 = K_PlayerGuard(t1->player); | ||||
| 	boolean guard2 = K_PlayerGuard(t2->player); | ||||
| 
 | ||||
|  | @ -1310,11 +1309,30 @@ boolean K_PvPTouchDamage(mobj_t *t1, mobj_t *t2) | |||
| 			return false; | ||||
| 		} | ||||
| 
 | ||||
| 		boolean damagedpresting = (t2->player->flashing || P_PlayerInPain(t2->player)); | ||||
| 
 | ||||
| 		// CONS_Printf("T1=%s T2=%s\n", player_names[t1->player - players], player_names[t2->player - players]);
 | ||||
| 		// CONS_Printf("DPS=%d\n", damagedpresting);
 | ||||
| 
 | ||||
| 		if (P_PlayerInPain(t1->player) || t1->player->flashing) | ||||
| 		{ | ||||
| 			// CONS_Printf("T1 pain\n");
 | ||||
| 			if (!(t1->player->pflags2 & PF2_SAMEFRAMESTUNG)) | ||||
| 				return false; | ||||
| 			// CONS_Printf("...but ignored\n");
 | ||||
| 		} | ||||
| 
 | ||||
| 		bool stung = false; | ||||
| 
 | ||||
| 		if (t2->player->rings <= 0 && t2->health == 1) // no bumpers
 | ||||
| 		if (RINGTOTAL(t2->player) <= 0 && t2->health == 1 && t2->player->spindash == 0) | ||||
| 		{ | ||||
| 			P_DamageMobj(t2, t1, t1, 1, DMG_STING|DMG_WOMBO); | ||||
| 			// CONS_Printf("T2 stung\n");
 | ||||
| 			if (!damagedpresting) | ||||
| 			{ | ||||
| 				t2->player->pflags2 |= PF2_SAMEFRAMESTUNG; | ||||
| 				// CONS_Printf("T2 SFS\n");
 | ||||
| 			} | ||||
| 			stung = true; | ||||
| 		} | ||||
| 
 | ||||
|  | @ -1331,6 +1349,8 @@ boolean K_PvPTouchDamage(mobj_t *t1, mobj_t *t2) | |||
| 
 | ||||
| 	if (forEither(doSting, removeDamageHitlag)) | ||||
| 	{ | ||||
| 		t1->player->pflags2 &= ~PF2_SAMEFRAMESTUNG; | ||||
| 		t2->player->pflags2 &= ~PF2_SAMEFRAMESTUNG; | ||||
| 		return true; | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
|  | @ -3152,14 +3152,11 @@ fixed_t K_PlayerTripwireSpeedThreshold(const player_t *player) | |||
| 	if (modeattacking && !(gametyperules & GTR_CATCHER)) | ||||
| 		required_speed = 4 * K_GetKartSpeed(player, false, false); | ||||
| 
 | ||||
| 	UINT32 distance = K_GetItemRouletteDistance(player, 8); | ||||
| 
 | ||||
| 	if ((gametyperules & GTR_CIRCUIT) && !K_Cooperative() && M_NotFreePlay() && !modeattacking) | ||||
| 	{ | ||||
| 			required_speed += FixedMul(required_speed, K_PlayerScamPercentage(player, 2)); // Proration: Players near 1st need more speed!
 | ||||
| 		required_speed += FixedMul(required_speed, K_PlayerScamPercentage(player, 2)); // Proration: Players near 1st need more speed!
 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	if (player->offroad && K_ApplyOffroad(player)) | ||||
| 	{ | ||||
| 		// Increase to 300% if you're lawnmowering.
 | ||||
|  | @ -9838,7 +9835,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) | |||
| 
 | ||||
| 		// Race: spawn ring debt indicator
 | ||||
| 		// Battle: spawn zero-bumpers indicator
 | ||||
| 		if ((gametyperules & GTR_SPHERES) ? player->mo->health <= 1 : player->rings <= 0) | ||||
| 		if ((gametyperules & GTR_SPHERES) ? player->mo->health <= 1 : RINGTOTAL(player) <= 0) | ||||
| 		{ | ||||
| 			UINT8 doubler; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Antonio Martinez
						Antonio Martinez