mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 02:11:30 +00:00
Fix lua/perl set_proximity to accept flag for say prox
This will fix proximity say to always work
This commit is contained in:
parent
4ee35d7e56
commit
3e1b86a7c3
@ -1543,7 +1543,7 @@ XS(XS__set_proximity)
|
||||
{
|
||||
dXSARGS;
|
||||
if (items != 4 && items != 6)
|
||||
Perl_croak(aTHX_ "Usage: set_proximity(min_x, max_x, min_y, max_y [, min_z, max_z])");
|
||||
Perl_croak(aTHX_ "Usage: set_proximity(min_x, max_x, min_y, max_y [, min_z, max_z], [say])");
|
||||
|
||||
float min_x = (float)SvNV(ST(0));
|
||||
float max_x = (float)SvNV(ST(1));
|
||||
@ -1555,7 +1555,10 @@ XS(XS__set_proximity)
|
||||
else {
|
||||
float min_z = (float)SvNV(ST(4));
|
||||
float max_z = (float)SvNV(ST(5));
|
||||
quest_manager.set_proximity(min_x, max_x, min_y, max_y, min_z, max_z);
|
||||
bool bSay = false;
|
||||
if (items == 7)
|
||||
bSay = (bool)SvTRUE(ST(6));
|
||||
quest_manager.set_proximity(min_x, max_x, min_y, max_y, min_z, max_z, bSay);
|
||||
}
|
||||
|
||||
XSRETURN_EMPTY;
|
||||
|
||||
@ -493,6 +493,10 @@ void lua_set_proximity(float min_x, float max_x, float min_y, float max_y, float
|
||||
quest_manager.set_proximity(min_x, max_x, min_y, max_y, min_z, max_z);
|
||||
}
|
||||
|
||||
void lua_set_proximity(float min_x, float max_x, float min_y, float max_y, float min_z, float max_z, bool say) {
|
||||
quest_manager.set_proximity(min_x, max_x, min_y, max_y, min_z, max_z, say);
|
||||
}
|
||||
|
||||
void lua_clear_proximity() {
|
||||
quest_manager.clear_proximity();
|
||||
}
|
||||
@ -1581,6 +1585,7 @@ luabind::scope lua_register_general() {
|
||||
luabind::def("respawn", &lua_respawn),
|
||||
luabind::def("set_proximity", (void(*)(float,float,float,float))&lua_set_proximity),
|
||||
luabind::def("set_proximity", (void(*)(float,float,float,float,float,float))&lua_set_proximity),
|
||||
luabind::def("set_proximity", (void(*)(float,float,float,float,float,float,bool))&lua_set_proximity),
|
||||
luabind::def("clear_proximity", &lua_clear_proximity),
|
||||
luabind::def("enable_proximity_say", &lua_enable_proximity_say),
|
||||
luabind::def("disable_proximity_say", &lua_disable_proximity_say),
|
||||
|
||||
@ -1670,7 +1670,7 @@ void QuestManager::respawn(int npcTypeID, int grid) {
|
||||
}
|
||||
}
|
||||
|
||||
void QuestManager::set_proximity(float minx, float maxx, float miny, float maxy, float minz, float maxz) {
|
||||
void QuestManager::set_proximity(float minx, float maxx, float miny, float maxy, float minz, float maxz, bool bSay) {
|
||||
QuestManagerCurrentQuestVars();
|
||||
if (!owner || !owner->IsNPC())
|
||||
return;
|
||||
@ -1683,6 +1683,7 @@ void QuestManager::set_proximity(float minx, float maxx, float miny, float maxy,
|
||||
owner->CastToNPC()->proximity->max_y = maxy;
|
||||
owner->CastToNPC()->proximity->min_z = minz;
|
||||
owner->CastToNPC()->proximity->max_z = maxz;
|
||||
owner->CastToNPC()->proximity->say = bSay;
|
||||
}
|
||||
|
||||
void QuestManager::clear_proximity() {
|
||||
|
||||
@ -150,7 +150,7 @@ public:
|
||||
void setnexthpevent(int at);
|
||||
void setnextinchpevent(int at);
|
||||
void respawn(int npc_type, int grid);
|
||||
void set_proximity(float minx, float maxx, float miny, float maxy, float minz=-999999, float maxz=999999);
|
||||
void set_proximity(float minx, float maxx, float miny, float maxy, float minz=-999999, float maxz=999999, bool bSay = false);
|
||||
void clear_proximity();
|
||||
void enable_proximity_say();
|
||||
void disable_proximity_say();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user