StripItems / StripOther lua hooks
This commit is contained in:
parent
6e86c7af83
commit
0856435fcc
4 changed files with 40 additions and 2 deletions
|
|
@ -594,7 +594,8 @@ static CV_PossibleValue_t bubble_defense_damagerate_cons_t[] = {{0, "MIN"}, {FRA
|
|||
consvar_t cv_kartbubble_defense_damagerate = CVAR_INIT ("kartbubble_defense_damagerate", "1.0", CV_NETVAR|CV_FLOAT, bubble_defense_damagerate_cons_t, NULL);
|
||||
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);
|
||||
consvar_t cv_kartflame_offroadburn = CVAR_INIT ("kartflame_offroadburn", "Off", CV_NETVAR, CV_OnOff, NULL);
|
||||
// we want this to be default now apparently
|
||||
consvar_t cv_kartflame_offroadburn = CVAR_INIT ("kartflame_offroadburn", "On", 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);
|
||||
|
|
|
|||
|
|
@ -9732,6 +9732,9 @@ void K_UpdateAllPlayerPositions(void)
|
|||
//
|
||||
void K_StripItems(player_t *player)
|
||||
{
|
||||
if (LUA_HookKartStripItems(player, player->itemtype))
|
||||
return;
|
||||
|
||||
K_DropRocketSneaker(player);
|
||||
K_DropKitchenSink(player);
|
||||
player->itemtype = KITEM_NONE;
|
||||
|
|
@ -9760,6 +9763,9 @@ void K_StripItems(player_t *player)
|
|||
|
||||
void K_StripOther(player_t *player)
|
||||
{
|
||||
if (LUA_HookKartStripOther(player))
|
||||
return;
|
||||
|
||||
player->itemroulette = 0;
|
||||
player->roulettetype = KROULETTETYPE_NORMAL;
|
||||
|
||||
|
|
|
|||
|
|
@ -89,6 +89,8 @@ automatically.
|
|||
X (PlayerItem),/*SRB2KART*/\
|
||||
X (KartHyudoro),/*SRB2KART*/\
|
||||
X (KartSneaker),/*SRB2KART*/\
|
||||
X (KartStripItems),/*SRB2KART*/\
|
||||
X (KartStripOther),/*SRB2KART*/\
|
||||
|
||||
#define STRING_HOOK_LIST(X) \
|
||||
X (SpecialExecute),\
|
||||
|
|
@ -179,6 +181,8 @@ boolean LUA_HookPlayerItem(player_t *player, UINT8 itemType, boolean wasHoldingI
|
|||
boolean LUA_HookKartHyudoro(player_t *player, INT32 *target, boolean sink); // SRB2Kart: Hook for K_DoHyudoroSteal and overriding its results.
|
||||
boolean LUA_HookMobjScaleChange(mobj_t *target, fixed_t newscale, fixed_t oldscale); // SRB2Kart: Hook for P_SetScale.
|
||||
boolean LUA_HookKartSneaker(player_t *player, int type); // SRB2Kart: Hook for K_DoSneaker.
|
||||
boolean LUA_HookKartStripItems(player_t *player, UINT8 item); // SRB2Kart: Hook for K_StripItems.
|
||||
boolean LUA_HookKartStripOther(player_t *player); // SRB2Kart: Hook for K_StripOther.
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
|
|
|
|||
|
|
@ -1369,6 +1369,33 @@ boolean LUA_HookKartSneaker(player_t *player, int type)
|
|||
|
||||
call_hooks(&hook, 1, res_true);
|
||||
}
|
||||
|
||||
|
||||
return hook.status;
|
||||
}
|
||||
|
||||
boolean LUA_HookKartStripItems(player_t* player, UINT8 item)
|
||||
{
|
||||
Hook_State hook;
|
||||
if (prepare_hook(&hook, false, HOOK(KartStripItems)))
|
||||
{
|
||||
LUA_PushUserdata(gL, player, META_PLAYER);
|
||||
lua_pushinteger(gL, item);
|
||||
|
||||
call_hooks(&hook, 1, res_true);
|
||||
}
|
||||
|
||||
return hook.status;
|
||||
}
|
||||
|
||||
boolean LUA_HookKartStripOther(player_t* player)
|
||||
{
|
||||
Hook_State hook;
|
||||
if (prepare_hook(&hook, false, HOOK(KartStripOther)))
|
||||
{
|
||||
LUA_PushUserdata(gL, player, META_PLAYER);
|
||||
|
||||
call_hooks(&hook, 1, res_true);
|
||||
}
|
||||
|
||||
return hook.status;
|
||||
}
|
||||
Loading…
Reference in a new issue