air squish cvar

air squish can be turned off or set to do flip-over damage instead
This commit is contained in:
minenice55 2025-11-02 22:23:06 -05:00
parent 729f44516d
commit c6c5cce678
3 changed files with 40 additions and 3 deletions

View file

@ -837,13 +837,43 @@ boolean K_PvPTouchDamage(mobj_t *t1, mobj_t *t2)
else if (t1Condition == true && t2Condition == false)
{
if (G_CompatLevel(0x0008) || !hyudoroT1)
P_DamageMobj(t2, t1, t1, 1, DMG_SQUISH);
return true;
{
switch (cv_kartairsquish.value)
{
case 1:
P_DamageMobj(t2, t1, t1, 1, DMG_SQUISH);
return true;
break;
case 2:
P_DamageMobj(t2, t1, t1, 1, DMG_FLIPOVER);
return true;
break;
default:
return false;
break;
}
}
}
else if (t1Condition == false && t2Condition == true)
{
if (G_CompatLevel(0x0008) || !hyudoroT2)
P_DamageMobj(t1, t2, t2, 1, DMG_SQUISH);
{
// shitty code duplication 🥲
switch (cv_kartairsquish.value)
{
case 1:
P_DamageMobj(t1, t2, t2, 1, DMG_SQUISH);
return true;
break;
case 2:
P_DamageMobj(t1, t2, t2, 1, DMG_FLIPOVER);
return true;
break;
default:
return false;
break;
}
}
return true;
}

View file

@ -89,6 +89,9 @@ consvar_t cv_kartbubble_defense_damagerate = CVAR_INIT ("kartbubble_defense_dama
consvar_t cv_kartbubble_boost_allow = CVAR_INIT ("kartbubble_boost_allow", "On", CV_NETVAR, CV_OnOff, NULL);
consvar_t cv_kartflame_fastfuel = CVAR_INIT ("kartflame_fastfuel", "Off", CV_NETVAR, CV_OnOff, NULL);
static CV_PossibleValue_t kartairsquish_cons_t[] = {{1, "Squish"}, {2, "Flip-over"}, {0, "None"}, {0, NULL}};
consvar_t cv_kartairsquish = CVAR_INIT ("kartairsquish", "None", CV_NETVAR, kartairsquish_cons_t, NULL);
// SOME IMPORTANT VARIABLES DEFINED IN DOOMDEF.H:
// gamespeed is cc (0 for easy, 1 for normal, 2 for hard)
// franticitems is Frantic Mode items, bool
@ -316,6 +319,8 @@ void K_RegisterKartStuff(void)
CV_RegisterVar(&cv_kartbubble_boost_allow);
CV_RegisterVar(&cv_kartflame_fastfuel);
CV_RegisterVar(&cv_kartairsquish);
// HUD cvars
K_RegisterKartHUDStuff();

View file

@ -20,6 +20,8 @@ extern consvar_t cv_kartchainingsound;
extern consvar_t cv_kartdriftsounds;
extern consvar_t cv_kartdriftefx;
extern consvar_t cv_kartairsquish;
// opinionated stuff for testing
extern consvar_t cv_kartbubble_defense_canidle;
extern consvar_t cv_kartbubble_defense_damagerate;