mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
This is all the visual effects and item logic of the Top minus (almost all [1]) physics adjustments when a player is riding one. While on a Top: - Otherwordly humming while floating - Cannot drift [1]. Instead, holding drift begins grinding the Top into the ground -- sparks fly out - Sprite tilts left and right as you turn - No wheel screech when turning too far - Speed lines while holding drift - Tripwire Boost effect scales to cover you AND the Top - One hit and you lose it - Throwing forward, getting hit or just losing it because you were in first place for too long: the Top flies out from under you and begins snaking like crazy - Throwing backward also makes the Top fly out from under you but it also thrusts you forward. The Top dies instantly so it's not dangerous ;-) - If you're in first for too long, it begins vibrating - If you tumble, it dances across your entire screen A loose top will tumble anyone it hits.
50 lines
1.6 KiB
C
50 lines
1.6 KiB
C
/* object-specific code */
|
|
#ifndef k_objects_H
|
|
#define k_objects_H
|
|
|
|
/* Hyudoro */
|
|
void Obj_HyudoroDeploy(mobj_t *master);
|
|
void Obj_HyudoroThink(mobj_t *actor);
|
|
void Obj_HyudoroCenterThink(mobj_t *actor);
|
|
void Obj_HyudoroCollide(mobj_t *special, mobj_t *toucher);
|
|
|
|
/* Garden Top */
|
|
void Obj_GardenTopDeploy(mobj_t *rider);
|
|
mobj_t *Obj_GardenTopThrow(player_t *player);
|
|
mobj_t *Obj_GardenTopDestroy(player_t *player);
|
|
void Obj_GardenTopThink(mobj_t *top);
|
|
void Obj_GardenTopSparkThink(mobj_t *spark);
|
|
boolean Obj_GardenTopPlayerIsGrinding(player_t *player);
|
|
|
|
/* Shrink */
|
|
void Obj_PohbeeThinker(mobj_t *pohbee);
|
|
void Obj_PohbeeRemoved(mobj_t *pohbee);
|
|
void Obj_ShrinkGunRemoved(mobj_t *gun);
|
|
boolean Obj_ShrinkLaserCollide(mobj_t *gun, mobj_t *victim);
|
|
void Obj_CreateShrinkPohbees(player_t *owner);
|
|
|
|
/* Item Debris */
|
|
void Obj_SpawnItemDebrisEffects(mobj_t *collectible, mobj_t *collector);
|
|
void Obj_ItemDebrisThink(mobj_t *debris);
|
|
fixed_t Obj_ItemDebrisBounce(mobj_t *debris, fixed_t momz);
|
|
|
|
/* SPB */
|
|
void Obj_SPBThink(mobj_t *spb);
|
|
void Obj_SPBExplode(mobj_t *spb);
|
|
void Obj_SPBTouch(mobj_t *spb, mobj_t *toucher);
|
|
|
|
/* SPB Juicebox Rings */
|
|
void Obj_MantaRingThink(mobj_t *manta);
|
|
mobj_t *Obj_MantaRingCreate(mobj_t *spb, mobj_t *owner, mobj_t *chase);
|
|
|
|
/* Orbinaut */
|
|
void Obj_OrbinautThink(mobj_t *th);
|
|
boolean Obj_OrbinautJawzCollide(mobj_t *t1, mobj_t *t2);
|
|
void Obj_OrbinautThrown(mobj_t *th, fixed_t finalSpeed, SINT8 dir);
|
|
void Obj_OrbinautJawzMoveHeld(player_t *player);
|
|
|
|
/* Jawz */
|
|
void Obj_JawzThink(mobj_t *th);
|
|
void Obj_JawzThrown(mobj_t *th, fixed_t finalSpeed, SINT8 dir);
|
|
|
|
#endif/*k_objects_H*/
|