experimental attraction shield EMP attack option
AoE attack can put opponent items on a cooldown
This commit is contained in:
parent
9d7d74467f
commit
7b1df12ed0
5 changed files with 15 additions and 1 deletions
|
|
@ -720,6 +720,7 @@ consvar_t cv_kartattraction_assistpower = CVAR_INIT ("kartattraction_assistpower
|
|||
// Attraction Shield damage toggles
|
||||
static CV_PossibleValue_t kartattractiondmg_cons_t[] = {{0, "None"}, {DMG_WIPEOUT, "Wipe-out"}, {DMG_FLIPOVER, "Flip-over"}, {DMG_EXPLODE, "Explode"}, {0, NULL}};
|
||||
consvar_t cv_kartattraction_aoedmg = CVAR_INIT ("kartattraction_aoedmg", "None", CV_NETVAR|CV_CHEAT|CV_GUARD, kartattractiondmg_cons_t, NULL);
|
||||
consvar_t cv_kartattraction_aoeemp = CVAR_INIT ("kartattraction_aoeemp", "0", CV_NETVAR|CV_CHEAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
|
||||
// "Arrow Bullet": above a certain speed threshold, an aura in the shape of the Shrink arrow
|
||||
// covers you, signaling protection from (most) items and players.
|
||||
|
|
|
|||
|
|
@ -236,6 +236,7 @@ extern consvar_t cv_kartflame_fastfuel;
|
|||
extern consvar_t cv_kartflame_offroadburn;
|
||||
extern consvar_t cv_kartattraction_assistpower;
|
||||
extern consvar_t cv_kartattraction_aoedmg;
|
||||
extern consvar_t cv_kartattraction_aoeemp;
|
||||
extern consvar_t cv_kartaltshrink_arrowbullet;
|
||||
extern consvar_t cv_kartaltshrink_arrowbulletthres;
|
||||
|
||||
|
|
|
|||
|
|
@ -697,11 +697,13 @@ static inline BlockItReturn_t PIT_AttractionShieldAttack(mobj_t *thing)
|
|||
return BMIT_ABORT;
|
||||
}
|
||||
|
||||
#if 0
|
||||
if (thing->player && (ATTRACTIONAOEDAMAGE == 0 || (!attractionhipower)))
|
||||
{
|
||||
// Don't damage players
|
||||
return BMIT_CONTINUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (thing == lightningSource)
|
||||
{
|
||||
|
|
@ -746,7 +748,15 @@ static inline BlockItReturn_t PIT_AttractionShieldAttack(mobj_t *thing)
|
|||
|
||||
if (thing->player)
|
||||
{
|
||||
P_DamageMobj(thing, lightningSource, lightningSource, 1, ATTRACTIONAOEDAMAGE|DMG_CANTHURTSELF);
|
||||
if (ATTRACTIONAOEDAMAGE && attractionhipower)
|
||||
{
|
||||
P_DamageMobj(thing, lightningSource, lightningSource, 1, ATTRACTIONAOEDAMAGE|DMG_CANTHURTSELF);
|
||||
}
|
||||
if (ATTRACTIONAOEEMP && attractionhipower && thing != lightningSource)
|
||||
{
|
||||
//todo: filter out teammates
|
||||
K_SetPlayerItemCooldown(thing->player, TICRATE * ATTRACTIONAOEEMP, false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -456,6 +456,7 @@ void K_RegisterKartStuff(void)
|
|||
CV_RegisterVar(&cv_kartflame_offroadburn);
|
||||
CV_RegisterVar(&cv_kartattraction_assistpower);
|
||||
CV_RegisterVar(&cv_kartattraction_aoedmg);
|
||||
CV_RegisterVar(&cv_kartattraction_aoeemp);
|
||||
CV_RegisterVar(&cv_kartaltshrink_arrowbullet);
|
||||
CV_RegisterVar(&cv_kartaltshrink_arrowbulletthres);
|
||||
|
||||
|
|
|
|||
|
|
@ -139,6 +139,7 @@ extern vector3_t clusterpoint, clusterdtf;
|
|||
#define FLAMEHANDLEBOOST CV_Get(&cv_kartstacking_flame_handleboost)
|
||||
#define FLAMESTACKABLE CV_Get(&cv_kartstacking_flame_stackable)
|
||||
|
||||
#define ATTRACTIONAOEEMP CV_Get(&cv_kartattraction_aoeemp)
|
||||
#define ATTRACTIONAOEDAMAGE CV_Get(&cv_kartattraction_aoedmg)
|
||||
#define ATTRACTIONSPEEDHIMIN CV_Get(&cv_kartstacking_attraction_speedboost_himin)
|
||||
#define ATTRACTIONSPEEDHIMAX CV_Get(&cv_kartstacking_attraction_speedboost_himax)
|
||||
|
|
|
|||
Loading…
Reference in a new issue