mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
[Quest API] Add Timer related methods to Mobs in Perl/Lua (#3133)
* [Quest API] Add Timer related methods to Mobs in Perl/Lua # Perl - Add `quest::ispausedtimer(timer_name)`. - Add `quest::pausetimer(timer_name)`. - Add `quest::resumetimer(timer_name)`. - Add `$mob->GetRemainingTimeMS(timer_name)`. - Add `$mob->GetTimerDurationMS(timer_name)`. - Add `$mob->HasTimer(timer_name)`. - Add `$mob->IsPausedTimer(timer_name)`. - Add `$mob->PauseTimer(timer_name)`. - Add `$mob->ResumeTimer(timer_name)`. - Add `$mob->SetTimer(timer_name)`. - Add `$mob->SetTimerMS(timer_name)`. - Add `$mob->StopTimer(timer_name)`. # Lua - Add `mob:GetRemainingTimeMS(timer_name)`. - Add `mob:GetTimerDurationMS(timer_name)`. - Add `mob:HasTimer(timer_name)`. - Add `mob:IsPausedTimer(timer_name)`. - Add `mob:PauseTimer(timer_name)`. - Add `mob:ResumeTimer(timer_name)`. - Add `mob:SetTimer(timer_name)`. - Add `mob:SetTimerMS(timer_name)`. - Add `mob:StopTimer(timer_name)`. # Notes - The mob-based methods allow operators to loop entity list or whatever to set, stop, resume, pause, etc for timers. * StopAllTimers() * Update questmgr.cpp
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
#include "client.h"
|
||||
#include "dialogue_window.h"
|
||||
#include "bot.h"
|
||||
#include "questmgr.h"
|
||||
|
||||
bool Perl_Mob_IsClient(Mob* self) // @categories Script Utility
|
||||
{
|
||||
@@ -2886,6 +2887,56 @@ float Perl_Mob_GetDefaultRaceSize(Mob* self) // @categories Script Utility
|
||||
return self->GetDefaultRaceSize();
|
||||
}
|
||||
|
||||
uint32 Perl_Mob_GetRemainingTimeMS(Mob* self, const char* timer_name)
|
||||
{
|
||||
return quest_manager.getremainingtimeMS(timer_name, self);
|
||||
}
|
||||
|
||||
uint32 Perl_Mob_GetTimerDurationMS(Mob* self, const char* timer_name)
|
||||
{
|
||||
return quest_manager.gettimerdurationMS(timer_name, self);
|
||||
}
|
||||
|
||||
bool Perl_Mob_HasTimer(Mob* self, const char* timer_name)
|
||||
{
|
||||
return quest_manager.hastimer(timer_name, self);
|
||||
}
|
||||
|
||||
bool Perl_Mob_IsPausedTimer(Mob* self, const char* timer_name)
|
||||
{
|
||||
return quest_manager.ispausedtimer(timer_name, self);
|
||||
}
|
||||
|
||||
void Perl_Mob_PauseTimer(Mob* self, const char* timer_name)
|
||||
{
|
||||
quest_manager.pausetimer(timer_name, self);
|
||||
}
|
||||
|
||||
void Perl_Mob_ResumeTimer(Mob* self, const char* timer_name)
|
||||
{
|
||||
quest_manager.resumetimer(timer_name, self);
|
||||
}
|
||||
|
||||
void Perl_Mob_SetTimer(Mob* self, const char* timer_name, int seconds)
|
||||
{
|
||||
quest_manager.settimer(timer_name, seconds, self);
|
||||
}
|
||||
|
||||
void Perl_Mob_SetTimerMS(Mob* self, const char* timer_name, int milliseconds)
|
||||
{
|
||||
quest_manager.settimerMS(timer_name, milliseconds, self);
|
||||
}
|
||||
|
||||
void Perl_Mob_StopAllTimers(Mob* self)
|
||||
{
|
||||
quest_manager.stopalltimers(self);
|
||||
}
|
||||
|
||||
void Perl_Mob_StopTimer(Mob* self, const char* timer_name)
|
||||
{
|
||||
quest_manager.stoptimer(timer_name, self);
|
||||
}
|
||||
|
||||
void perl_register_mob()
|
||||
{
|
||||
perl::interpreter perl(PERL_GET_THX);
|
||||
@@ -3166,6 +3217,7 @@ void perl_register_mob()
|
||||
package.add("GetPhR", &Perl_Mob_GetPhR);
|
||||
package.add("GetRace", &Perl_Mob_GetRace);
|
||||
package.add("GetRaceName", &Perl_Mob_GetRaceName);
|
||||
package.add("GetRemainingTimeMS", &Perl_Mob_GetRemainingTimeMS);
|
||||
package.add("GetResist", &Perl_Mob_GetResist);
|
||||
package.add("GetReverseFactionCon", &Perl_Mob_GetReverseFactionCon);
|
||||
package.add("GetRunAnimSpeed", &Perl_Mob_GetRunAnimSpeed);
|
||||
@@ -3185,6 +3237,7 @@ void perl_register_mob()
|
||||
package.add("GetSpellStat", (int(*)(Mob*, uint32, const char*, uint8))&Perl_Mob_GetSpellStat);
|
||||
package.add("GetTarget", &Perl_Mob_GetTarget);
|
||||
package.add("GetTexture", &Perl_Mob_GetTexture);
|
||||
package.add("GetTimerDurationMS", &Perl_Mob_GetTimerDurationMS);
|
||||
package.add("GetUltimateOwner", &Perl_Mob_GetUltimateOwner);
|
||||
package.add("GetWIS", &Perl_Mob_GetWIS);
|
||||
package.add("GetWalkspeed", &Perl_Mob_GetWalkspeed);
|
||||
@@ -3205,6 +3258,7 @@ void perl_register_mob()
|
||||
package.add("HasPet", &Perl_Mob_HasPet);
|
||||
package.add("HasProcs", &Perl_Mob_HasProcs);
|
||||
package.add("HasShieldEquiped", &Perl_Mob_HasShieldEquiped);
|
||||
package.add("HasTimer", &Perl_Mob_HasTimer);
|
||||
package.add("HasTwoHandBluntEquiped", &Perl_Mob_HasTwoHandBluntEquiped);
|
||||
package.add("HasTwoHanderEquipped", &Perl_Mob_HasTwoHanderEquipped);
|
||||
package.add("HateSummon", &Perl_Mob_HateSummon);
|
||||
@@ -3242,6 +3296,7 @@ void perl_register_mob()
|
||||
package.add("IsNPC", &Perl_Mob_IsNPC);
|
||||
package.add("IsNPCCorpse", &Perl_Mob_IsNPCCorpse);
|
||||
package.add("IsObject", &Perl_Mob_IsObject);
|
||||
package.add("IsPausedTimer", &Perl_Mob_IsPausedTimer);
|
||||
package.add("IsPet", &Perl_Mob_IsPet);
|
||||
package.add("IsPlayerCorpse", &Perl_Mob_IsPlayerCorpse);
|
||||
package.add("IsRoamer", &Perl_Mob_IsRoamer);
|
||||
@@ -3272,6 +3327,7 @@ void perl_register_mob()
|
||||
package.add("NPCSpecialAttacks", (void(*)(Mob*, const char*, int, bool))&Perl_Mob_NPCSpecialAttacks);
|
||||
package.add("NPCSpecialAttacks", (void(*)(Mob*, const char*, int, bool, bool))&Perl_Mob_NPCSpecialAttacks);
|
||||
package.add("NavigateTo", &Perl_Mob_NavigateTo);
|
||||
package.add("PauseTimer", &Perl_Mob_PauseTimer);
|
||||
package.add("ProcessSpecialAbilities", &Perl_Mob_ProcessSpecialAbilities);
|
||||
package.add("ProjectileAnim", (void(*)(Mob*, Mob*, int))&Perl_Mob_ProjectileAnim);
|
||||
package.add("ProjectileAnim", (void(*)(Mob*, Mob*, int, bool))&Perl_Mob_ProjectileAnim);
|
||||
@@ -3290,6 +3346,7 @@ void perl_register_mob()
|
||||
package.add("RemoveNimbusEffect", &Perl_Mob_RemoveNimbusEffect);
|
||||
package.add("RemovePet", &Perl_Mob_RemovePet);
|
||||
package.add("ResistSpell", &Perl_Mob_ResistSpell);
|
||||
package.add("ResumeTimer", &Perl_Mob_ResumeTimer);
|
||||
package.add("RogueAssassinate", &Perl_Mob_RogueAssassinate);
|
||||
package.add("RunTo", &Perl_Mob_RunTo);
|
||||
package.add("Say", &Perl_Mob_Say);
|
||||
@@ -3397,6 +3454,10 @@ void perl_register_mob()
|
||||
package.add("SetTarget", &Perl_Mob_SetTarget);
|
||||
package.add("SetTargetable", &Perl_Mob_SetTargetable);
|
||||
package.add("SetTexture", &Perl_Mob_SetTexture);
|
||||
package.add("SetTimer", &Perl_Mob_SetTimer);
|
||||
package.add("SetTimerMS", &Perl_Mob_SetTimerMS);
|
||||
package.add("StopAllTimers", &Perl_Mob_StopAllTimers);
|
||||
package.add("StopTimer", &Perl_Mob_StopTimer);
|
||||
package.add("ShieldAbility", (void(*)(Mob*, uint32))&Perl_Mob_ShieldAbility);
|
||||
package.add("ShieldAbility", (void(*)(Mob*, uint32, int32))&Perl_Mob_ShieldAbility);
|
||||
package.add("ShieldAbility", (void(*)(Mob*, uint32, int32, int32))&Perl_Mob_ShieldAbility);
|
||||
|
||||
Reference in New Issue
Block a user