mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	the dulcet tones of eri nobuchika are the only thing separating me from a shallow grave
This commit is contained in:
		
							parent
							
								
									46d6e4d852
								
							
						
					
					
						commit
						c55f52f587
					
				
					 4 changed files with 48 additions and 10 deletions
				
			
		
							
								
								
									
										22
									
								
								src/k_race.c
									
										
									
									
									
								
							
							
						
						
									
										22
									
								
								src/k_race.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -468,3 +468,25 @@ UINT8 K_RaceLapCount(INT16 mapNum)
 | 
			
		|||
 | 
			
		||||
	return cv_numlaps.value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void K_SpawnFinishEXP(player_t *player, UINT16 exp)
 | 
			
		||||
{
 | 
			
		||||
	CONS_Printf("finish\n");
 | 
			
		||||
	if (finishBeamLine != NULL)
 | 
			
		||||
	{
 | 
			
		||||
		CONS_Printf("fuck me %d\n", exp);
 | 
			
		||||
		mobj_t *p1 = P_SpawnMobj(finishBeamLine->v1->x, finishBeamLine->v1->y, player->mo->z, MT_THOK);
 | 
			
		||||
		mobj_t *p2 = P_SpawnMobj(finishBeamLine->v2->x, finishBeamLine->v2->y, player->mo->z, MT_THOK);
 | 
			
		||||
		p1->fuse = 200;
 | 
			
		||||
		p2->fuse = 200;
 | 
			
		||||
		p1->tics = 200;
 | 
			
		||||
		p2->tics = 200;
 | 
			
		||||
		K_SpawnEXP(player, exp, p1);
 | 
			
		||||
		K_SpawnEXP(player, exp, p2);
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
		CONS_Printf("fuck you\n");
 | 
			
		||||
		K_SpawnEXP(player, exp*2, player->mo);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -85,6 +85,8 @@ void K_RunFinishLineBeam(void);
 | 
			
		|||
 | 
			
		||||
UINT8 K_RaceLapCount(INT16 mapNum);
 | 
			
		||||
 | 
			
		||||
void K_SpawnFinishEXP(player_t *player, UINT16 exp);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
} // extern "C"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,18 @@
 | 
			
		|||
#define EXP_ARCTIME (8)
 | 
			
		||||
#define EXP_ORBIT (100)
 | 
			
		||||
 | 
			
		||||
static void ghostme(mobj_t *exp, player_t *player)
 | 
			
		||||
{
 | 
			
		||||
    if (exp->cusval%2)
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    mobj_t *ghost = P_SpawnGhostMobj(exp);
 | 
			
		||||
    ghost->colorized = true;
 | 
			
		||||
    ghost->color = player->skincolor;
 | 
			
		||||
    ghost->renderflags |= RF_ADD;
 | 
			
		||||
    ghost->fuse = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Obj_ExpThink (mobj_t *exp)
 | 
			
		||||
{
 | 
			
		||||
    if (P_MobjWasRemoved(exp->target)
 | 
			
		||||
| 
						 | 
				
			
			@ -44,19 +56,10 @@ void Obj_ExpThink (mobj_t *exp)
 | 
			
		|||
 | 
			
		||||
        dist = P_AproxDistance(P_AproxDistance(exp->x - mo->x, exp->y - mo->y), exp->z - mo->z);
 | 
			
		||||
 | 
			
		||||
        K_MatchGenericExtraFlags(exp, mo);
 | 
			
		||||
        // K_MatchGenericExtraFlags(exp, mo);
 | 
			
		||||
 | 
			
		||||
        exp->cusval++;
 | 
			
		||||
 | 
			
		||||
        if (exp->cusval%2)
 | 
			
		||||
        {
 | 
			
		||||
            mobj_t *ghost = P_SpawnGhostMobj(exp);
 | 
			
		||||
            ghost->colorized = true;
 | 
			
		||||
            ghost->color = player->skincolor;
 | 
			
		||||
            ghost->renderflags |= RF_ADD;
 | 
			
		||||
            ghost->fuse = 2;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // bullshit copypaste orbit behavior
 | 
			
		||||
        if (exp->threshold)
 | 
			
		||||
        {
 | 
			
		||||
| 
						 | 
				
			
			@ -73,6 +76,8 @@ void Obj_ExpThink (mobj_t *exp)
 | 
			
		|||
            exp->momy = 0;
 | 
			
		||||
            exp->momz = 0;
 | 
			
		||||
 | 
			
		||||
            ghostme(exp, player);
 | 
			
		||||
 | 
			
		||||
            exp->angle += ANG30;
 | 
			
		||||
            exp->extravalue1++;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -123,6 +128,8 @@ void Obj_ExpThink (mobj_t *exp)
 | 
			
		|||
        exp->momy += FixedMul(FINESINE(vang>>ANGLETOFINESHIFT), FixedMul(FINESINE(hang>>ANGLETOFINESHIFT), speed));
 | 
			
		||||
        exp->momz += FixedMul(FINECOSINE(vang>>ANGLETOFINESHIFT), speed);
 | 
			
		||||
 | 
			
		||||
        ghostme(exp, player);
 | 
			
		||||
 | 
			
		||||
        if (dist < (EXP_ORBIT * exp->scale) && exp->extravalue2)
 | 
			
		||||
        {
 | 
			
		||||
            exp->threshold = TICRATE;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,6 +54,7 @@
 | 
			
		|||
#include "music.h"
 | 
			
		||||
#include "k_battle.h" // battleprisons
 | 
			
		||||
#include "k_endcam.h" // K_EndCameraIsFreezing()
 | 
			
		||||
#include "k_race.h" // K_SpawnFinishEXP
 | 
			
		||||
 | 
			
		||||
// Not sure if this is necessary, but it was in w_wad.c, so I'm putting it here too -Shadow Hog
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -2153,8 +2154,14 @@ static void K_HandleLapIncrement(player_t *player)
 | 
			
		|||
					// Update power levels for this lap.
 | 
			
		||||
					K_UpdatePowerLevels(player, player->laps, false);
 | 
			
		||||
 | 
			
		||||
					UINT16 oldexp = player->exp;
 | 
			
		||||
					K_CheckpointCrossAward(player);
 | 
			
		||||
 | 
			
		||||
					if (player->exp > oldexp)
 | 
			
		||||
					{
 | 
			
		||||
						K_SpawnFinishEXP(player, player->exp - oldexp);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					if (player->position == 1 && !(gametyperules & GTR_CHECKPOINTS))
 | 
			
		||||
					{
 | 
			
		||||
						Obj_DeactivateCheckpoints();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue