mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
UFO determination
This commit is contained in:
parent
6867fcfba3
commit
e418996213
3 changed files with 15 additions and 0 deletions
|
|
@ -53,6 +53,7 @@ struct gpRank_t
|
||||||
UINT32 totalLaps;
|
UINT32 totalLaps;
|
||||||
|
|
||||||
UINT32 continuesUsed;
|
UINT32 continuesUsed;
|
||||||
|
UINT32 specialDamage;
|
||||||
|
|
||||||
UINT32 prisons;
|
UINT32 prisons;
|
||||||
UINT32 totalPrisons;
|
UINT32 totalPrisons;
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@
|
||||||
#include "../k_hitlag.h"
|
#include "../k_hitlag.h"
|
||||||
#include "../acs/interface.h"
|
#include "../acs/interface.h"
|
||||||
#include "../hu_stuff.h"
|
#include "../hu_stuff.h"
|
||||||
|
#include "../k_grandprix.h"
|
||||||
|
|
||||||
#define UFO_BASE_SPEED (42 * FRACUNIT) // UFO's slowest speed.
|
#define UFO_BASE_SPEED (42 * FRACUNIT) // UFO's slowest speed.
|
||||||
#define UFO_SPEEDUP (FRACUNIT >> 1) // Acceleration
|
#define UFO_SPEEDUP (FRACUNIT >> 1) // Acceleration
|
||||||
|
|
@ -935,6 +936,12 @@ boolean Obj_SpecialUFODamage(mobj_t *ufo, mobj_t *inflictor, mobj_t *source, UIN
|
||||||
|
|
||||||
ufo->health = max(1, ufo->health - damage);
|
ufo->health = max(1, ufo->health - damage);
|
||||||
|
|
||||||
|
if (grandprixinfo.gp)
|
||||||
|
{
|
||||||
|
grandprixinfo.rank.specialDamage += damage;
|
||||||
|
CONS_Printf("new damage %d: %d\n", damage, grandprixinfo.rank.specialDamage);
|
||||||
|
}
|
||||||
|
|
||||||
K_SetHitLagForObjects(ufo, inflictor, source, (damage / 3) + 2, true);
|
K_SetHitLagForObjects(ufo, inflictor, source, (damage / 3) + 2, true);
|
||||||
UFOCopyHitlagToPieces(ufo);
|
UFOCopyHitlagToPieces(ufo);
|
||||||
|
|
||||||
|
|
@ -1339,6 +1346,11 @@ static mobj_t *InitSpecialUFO(waypoint_t *start)
|
||||||
P_SetTarget(&ufo_piece_prev(piece), prevPiece);
|
P_SetTarget(&ufo_piece_prev(piece), prevPiece);
|
||||||
prevPiece = piece;
|
prevPiece = piece;
|
||||||
|
|
||||||
|
if (grandprixinfo.gp && grandprixinfo.rank.specialDamage)
|
||||||
|
{
|
||||||
|
ufo->health -= min(70, grandprixinfo.rank.specialDamage/2);
|
||||||
|
}
|
||||||
|
|
||||||
return ufo;
|
return ufo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6136,6 +6136,7 @@ static inline void P_ArchiveMisc(savebuffer_t *save)
|
||||||
WRITEUINT32(save->p, rank->totalLaps);
|
WRITEUINT32(save->p, rank->totalLaps);
|
||||||
|
|
||||||
WRITEUINT32(save->p, (rank->continuesUsed + 1));
|
WRITEUINT32(save->p, (rank->continuesUsed + 1));
|
||||||
|
WRITEUINT32(save->p, rank->specialDamage);
|
||||||
|
|
||||||
WRITEUINT32(save->p, rank->prisons);
|
WRITEUINT32(save->p, rank->prisons);
|
||||||
WRITEUINT32(save->p, rank->totalPrisons);
|
WRITEUINT32(save->p, rank->totalPrisons);
|
||||||
|
|
@ -6394,6 +6395,7 @@ static boolean P_UnArchiveSPGame(savebuffer_t *save)
|
||||||
rank->totalLaps = READUINT32(save->p);
|
rank->totalLaps = READUINT32(save->p);
|
||||||
|
|
||||||
rank->continuesUsed = READUINT32(save->p);
|
rank->continuesUsed = READUINT32(save->p);
|
||||||
|
rank->specialDamage = READUINT32(save->p);
|
||||||
|
|
||||||
rank->prisons = READUINT32(save->p);
|
rank->prisons = READUINT32(save->p);
|
||||||
rank->totalPrisons = READUINT32(save->p);
|
rank->totalPrisons = READUINT32(save->p);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue