ff_u_att_feedbk
Handle an attack event.
Variables
ENABLE__FF_U_ATT_FEEDBACK: (string) (opt-in) Set to "Y" to enable unit.
cf: ff_u_att_feedbk, ff_u_att_plc, ff_u_feedback
Source code
// @code
#include "ff_i_core"
const string ENABLE__FF_U_ATT_FEEDBACK = "ENABLE__FF_U_ATT_FEEDBACK";
// -----------------------------------------------------------------------------
//! @brief Restore default combat feedback messages for oPC.
//! @param oPC A player character.
void SetFeedback(object oPC);
void SetFeedback(object oPC)
{
if (!GetIsPC(oPC))
return;
// 61939,,,"You cannot damage your target with your currently equipped weapon!"
NWNX_Player_SetTlkOverride(oPC, 61939, "", TRUE);
NWNX_Feedback_SetFeedbackMessageHidden(NWNX_FEEDBACK_COMBAT_WEAPON_NOT_EFFECTIVE, FALSE, oPC);
NWNX_Feedback_SetCombatLogMessageHidden(NWNX_FEEDBACK_COMBATLOG_COMPLEX_ATTACK, FALSE, oPC);
NWNX_Feedback_SetCombatLogMessageHidden(NWNX_FEEDBACK_COMBATLOG_COMPLEX_DAMAGE, FALSE, oPC);
NWNX_Feedback_SetCombatLogMessageHidden(NWNX_FEEDBACK_COMBATLOG_SIMPLE_DAMAGE, FALSE, oPC);
}
// -----------------------------------------------------------------------------
void main()
{
object oModule = GetModule();
if (!GetModuleFlag(ENABLE__FF_U_ATT_FEEDBACK, FALSE))
return;
string sEvent = GetCurrentEvent();
if (sEvent == ON_REGISTER)
SubscribeToEvent(ON_BEFORE_ATTACK_TARGET_CHANGE, __FILE__);
else if (sEvent == ON_BEFORE_ATTACK_TARGET_CHANGE)
SetFeedback(OBJECT_SELF);
}