Merge branch 'last-minute-tiny-battle-fixes' into 'master'

Last minute tiny Battle fixes

Closes #1139, #1149, and #1024

See merge request KartKrew/Kart!2090
This commit is contained in:
AJ Martinez 2024-03-12 00:08:12 +00:00
commit f6835d5b79
3 changed files with 24 additions and 6 deletions

View file

@ -220,7 +220,7 @@ boolean Obj_OrbinautJawzCollide(mobj_t *t1, mobj_t *t2)
// ^ remove all of P_DamageMobj and start over
P_PlayRinglossSound(t2);
P_PlayerRingBurst(t2->player, 5);
P_DamageMobj(t2, t1, t1->target, 1, DMG_WOMBO | DMG_STUMBLE);
P_DamageMobj(t2, t1, t1->target, 1, DMG_WOMBO | DMG_WHUMBLE);
}
else
{

View file

@ -33,6 +33,7 @@
#define flicky_delay(o) ((o)->movecount)
#define flicky_mode(o) ((o)->extravalue1)
#define flicky_fly(o) ((o)->extravalue2)
#define flicky_soundtimer(o) ((o)->cusval)
#define controller_source(o) ((o)->target)
#define controller_chasing(o) ((o)->tracer)
@ -69,7 +70,8 @@ constexpr fixed_t kRebound = 8*FRACUNIT/9;
constexpr tic_t kDelay = 8;
constexpr tic_t kDamageCooldown = TICRATE;
constexpr tic_t kStunTime = 10*TICRATE;
constexpr tic_t kBlockTime = 5*TICRATE;
constexpr tic_t kBlockTime = 10*TICRATE;
constexpr tic_t kOwnerStunnedCooldown = 2*TICRATE;
constexpr int kRiseTime = 1*TICRATE;
constexpr int kRiseSpeed = 4;
@ -248,6 +250,9 @@ struct Flicky : mobj_t
Fly fly() const { return static_cast<Fly>(flicky_fly(this)); }
void fly(Fly n) { flicky_fly(this) = static_cast<int>(n); }
tic_t soundtimer() const { return flicky_soundtimer(this); }
void soundtimer(tic_t n) { flicky_soundtimer(this) = n; }
mobj_t* source() const { return controller()->source(); }
static void spawn(Controller* controller, int phase)
@ -303,6 +308,11 @@ struct Flicky : mobj_t
void refocus()
{
if (soundtimer() > 0)
{
soundtimer(soundtimer() - 1);
}
if (controller()->ending())
{
if (controller()->time_remaining() == kRiseTime)
@ -612,7 +622,15 @@ struct Flicky : mobj_t
light_up(true);
flags = info->flags;
S_StartSound(this, sfx_s3k9f);
// Put this sound on a cooldown specifically because
// it plays rapidly "at the edge of transform range".
// I don't know why that happens so just never play
// the sound close together.
if (!soundtimer())
{
S_StartSound(this, sfx_s3k9f);
soundtimer(2*TICRATE);
}
}
void try_nerf()
@ -630,7 +648,7 @@ struct Flicky : mobj_t
{
if (owner_in_pain())
{
delay(1);
delay(kOwnerStunnedCooldown);
}
}

View file

@ -524,8 +524,8 @@ struct BasicFF_t
#define DMG_STING 0x04
#define DMG_KARMA 0x05 // Karma Bomb explosion -- works like DMG_EXPLODE, but steals half of their bumpers & deletes the rest
#define DMG_VOLTAGE 0x06
#define DMG_STUMBLE 0x07
#define DMG_WHUMBLE 0x08
#define DMG_STUMBLE 0x07 // Does not award points in Battle
#define DMG_WHUMBLE 0x08 // <-- But this one DOES!
//// Death types - cannot be combined with damage types
#define DMG_INSTAKILL 0x80
#define DMG_DEATHPIT 0x81