2025/07/18 Update
Added PEPS. Full compile.
This commit is contained in:
70
_module/nss/pi_forcerest.nss
Normal file
70
_module/nss/pi_forcerest.nss
Normal file
@@ -0,0 +1,70 @@
|
||||
#include "0i_menus"
|
||||
// Does startup check if the game has just been loaded.
|
||||
int StartingUp(object oPC);
|
||||
void ai_UpdateAssociateWidget(object oMaster, object oAssociate, int nUIToken)
|
||||
{
|
||||
if(nUIToken) NuiDestroy(oMaster, nUIToken);
|
||||
ai_CreateWidgetNUI(oMaster, oAssociate);
|
||||
if(oMaster != oAssociate)
|
||||
{
|
||||
nUIToken = NuiFindWindow(oMaster, "pc" + AI_WIDGET_NUI);
|
||||
if(nUIToken)
|
||||
{
|
||||
NuiDestroy(oMaster, nUIToken);
|
||||
ai_CreateWidgetNUI(oMaster, oMaster);
|
||||
}
|
||||
}
|
||||
}
|
||||
void main()
|
||||
{
|
||||
object oPC = OBJECT_SELF;
|
||||
if(StartingUp(oPC)) return;
|
||||
ForceRest(oPC);
|
||||
DeleteLocalInt(oPC, "HF_REST_LAST_TIME");
|
||||
int nIndex;
|
||||
int nMaxHenchman = GetMaxHenchmen();
|
||||
object oAssociate;
|
||||
for(nIndex = 1;nIndex <= nMaxHenchman; nIndex++)
|
||||
{
|
||||
oAssociate = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC, nIndex);
|
||||
ForceRest(oAssociate);
|
||||
DeleteLocalInt(oAssociate, "HF_REST_LAST_TIME");
|
||||
if(ai_GetMagicMode(oAssociate, AI_MAGIC_BUFF_AFTER_REST))
|
||||
{
|
||||
DelayCommand(1.0, ai_HenchmanCastDefensiveSpells(oAssociate, oPC));
|
||||
}
|
||||
if(AI_HENCHMAN_WIDGET)
|
||||
{
|
||||
// Update widget for spell widget.
|
||||
string sAssociateType = ai_GetAssociateType(oPC, oAssociate);
|
||||
int nUIToken = NuiFindWindow(oPC, sAssociateType + AI_WIDGET_NUI);
|
||||
if(nUIToken) DelayCommand(6.0, ai_UpdateAssociateWidget(oPC, oAssociate, nUIToken));
|
||||
else
|
||||
{
|
||||
if(!ai_GetWidgetButton(oPC, BTN_WIDGET_OFF, oAssociate, sAssociateType))
|
||||
{
|
||||
DelayCommand(6.0, ai_UpdateAssociateWidget(oPC, oAssociate, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int StartingUp(object oPC)
|
||||
{
|
||||
if(GetLocalInt(oPC, AI_ADD_PLUGIN))
|
||||
{
|
||||
json jPlugin = JsonArray();
|
||||
jPlugin = JsonArrayInsert(jPlugin, JsonString("pi_forcerest"));
|
||||
jPlugin = JsonArrayInsert(jPlugin, JsonInt(FALSE));
|
||||
jPlugin = JsonArrayInsert(jPlugin, JsonString("Force Rest"));
|
||||
jPlugin = JsonArrayInsert(jPlugin, JsonString("ir_rest"));
|
||||
json jPlugins = GetLocalJson(oPC, AI_JSON_PLUGINS);
|
||||
jPlugins = JsonArrayInsert(jPlugins, jPlugin);
|
||||
SetLocalJson(oPC, AI_JSON_PLUGINS, jPlugin);
|
||||
SetLocalInt(oPC, AI_PLUGIN_SET, TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
if(!GetLocalInt(oPC, AI_STARTING_UP)) return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
Reference in New Issue
Block a user