mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
Add client-based MoveZone methods.
This commit is contained in:
@@ -1319,6 +1319,132 @@ XS(XS_Client_MovePCInstance) {
|
||||
XSRETURN_EMPTY;
|
||||
}
|
||||
|
||||
XS(XS_Client_MoveZone); /* prototype to pass -Wmissing-prototypes */
|
||||
XS(XS_Client_MoveZone) {
|
||||
dXSARGS;
|
||||
if (items != 2)
|
||||
Perl_croak(aTHX_ "Usage: Client::MoveZone(THIS, string zone_short_name)");
|
||||
{
|
||||
Client *THIS;
|
||||
const char *zone_short_name = (const char *) SvPV_nolen(ST(1));
|
||||
|
||||
if (sv_derived_from(ST(0), "Client")) {
|
||||
IV tmp = SvIV((SV *) SvRV(ST(0)));
|
||||
THIS = INT2PTR(Client *, tmp);
|
||||
} else
|
||||
Perl_croak(aTHX_ "THIS is not of type Client");
|
||||
if (THIS == nullptr)
|
||||
Perl_croak(aTHX_ "THIS is nullptr, avoiding crash.");
|
||||
|
||||
if (THIS->IsClient()) {
|
||||
THIS->MoveZone(zone_short_name);
|
||||
} else {
|
||||
if (THIS->IsMerc()) {
|
||||
LogDebug("[CLIENT] Perl(XS_Client_MoveZone) attempted to process a type Merc reference");
|
||||
}
|
||||
#ifdef BOTS
|
||||
else if (THIS->IsBot()) {
|
||||
LogDebug("[CLIENT] Perl(XS_Client_MoveZone) attempted to process a type Bot reference");
|
||||
}
|
||||
#endif
|
||||
else if (THIS->IsNPC()) {
|
||||
LogDebug("[CLIENT] Perl(XS_Client_MoveZone) attempted to process a type NPC reference");
|
||||
}
|
||||
else {
|
||||
LogDebug("[CLIENT] Perl(XS_Client_MoveZone) attempted to process an Unknown type reference");
|
||||
}
|
||||
|
||||
Perl_croak(aTHX_ "THIS is not of type Client");
|
||||
}
|
||||
|
||||
}
|
||||
XSRETURN_EMPTY;
|
||||
}
|
||||
|
||||
XS(XS_Client_MoveZoneGroup); /* prototype to pass -Wmissing-prototypes */
|
||||
XS(XS_Client_MoveZoneGroup) {
|
||||
dXSARGS;
|
||||
if (items != 2)
|
||||
Perl_croak(aTHX_ "Usage: Client::MoveZoneGroup(THIS, string zone_short_name)");
|
||||
{
|
||||
Client *THIS;
|
||||
const char *zone_short_name = (const char *) SvPV_nolen(ST(1));
|
||||
|
||||
if (sv_derived_from(ST(0), "Client")) {
|
||||
IV tmp = SvIV((SV *) SvRV(ST(0)));
|
||||
THIS = INT2PTR(Client *, tmp);
|
||||
} else
|
||||
Perl_croak(aTHX_ "THIS is not of type Client");
|
||||
if (THIS == nullptr)
|
||||
Perl_croak(aTHX_ "THIS is nullptr, avoiding crash.");
|
||||
|
||||
if (THIS->IsClient()) {
|
||||
THIS->MoveZoneGroup(zone_short_name);
|
||||
} else {
|
||||
if (THIS->IsMerc()) {
|
||||
LogDebug("[CLIENT] Perl(XS_Client_MoveZoneGroup) attempted to process a type Merc reference");
|
||||
}
|
||||
#ifdef BOTS
|
||||
else if (THIS->IsBot()) {
|
||||
LogDebug("[CLIENT] Perl(XS_Client_MoveZoneGroup) attempted to process a type Bot reference");
|
||||
}
|
||||
#endif
|
||||
else if (THIS->IsNPC()) {
|
||||
LogDebug("[CLIENT] Perl(XS_Client_MoveZoneGroup) attempted to process a type NPC reference");
|
||||
}
|
||||
else {
|
||||
LogDebug("[CLIENT] Perl(XS_Client_MoveZoneGroup) attempted to process an Unknown type reference");
|
||||
}
|
||||
|
||||
Perl_croak(aTHX_ "THIS is not of type Client");
|
||||
}
|
||||
|
||||
}
|
||||
XSRETURN_EMPTY;
|
||||
}
|
||||
|
||||
XS(XS_Client_MoveZoneRaid); /* prototype to pass -Wmissing-prototypes */
|
||||
XS(XS_Client_MoveZoneRaid) {
|
||||
dXSARGS;
|
||||
if (items != 2)
|
||||
Perl_croak(aTHX_ "Usage: Client::MoveZoneRaid(THIS, string zone_short_name)");
|
||||
{
|
||||
Client *THIS;
|
||||
const char *zone_short_name = (const char *) SvPV_nolen(ST(1));
|
||||
|
||||
if (sv_derived_from(ST(0), "Client")) {
|
||||
IV tmp = SvIV((SV *) SvRV(ST(0)));
|
||||
THIS = INT2PTR(Client *, tmp);
|
||||
} else
|
||||
Perl_croak(aTHX_ "THIS is not of type Client");
|
||||
if (THIS == nullptr)
|
||||
Perl_croak(aTHX_ "THIS is nullptr, avoiding crash.");
|
||||
|
||||
if (THIS->IsClient()) {
|
||||
THIS->MoveZoneRaid(zone_short_name);
|
||||
} else {
|
||||
if (THIS->IsMerc()) {
|
||||
LogDebug("[CLIENT] Perl(XS_Client_MoveZoneRaid) attempted to process a type Merc reference");
|
||||
}
|
||||
#ifdef BOTS
|
||||
else if (THIS->IsBot()) {
|
||||
LogDebug("[CLIENT] Perl(XS_Client_MoveZoneRaid) attempted to process a type Bot reference");
|
||||
}
|
||||
#endif
|
||||
else if (THIS->IsNPC()) {
|
||||
LogDebug("[CLIENT] Perl(XS_Client_MoveZoneRaid) attempted to process a type NPC reference");
|
||||
}
|
||||
else {
|
||||
LogDebug("[CLIENT] Perl(XS_Client_MoveZoneRaid) attempted to process an Unknown type reference");
|
||||
}
|
||||
|
||||
Perl_croak(aTHX_ "THIS is not of type Client");
|
||||
}
|
||||
|
||||
}
|
||||
XSRETURN_EMPTY;
|
||||
}
|
||||
|
||||
XS(XS_Client_ChangeLastName); /* prototype to pass -Wmissing-prototypes */
|
||||
XS(XS_Client_ChangeLastName) {
|
||||
dXSARGS;
|
||||
@@ -6537,6 +6663,9 @@ XS(boot_Client) {
|
||||
newXSproto(strcpy(buf, "MemSpell"), XS_Client_MemSpell, file, "$$$;$");
|
||||
newXSproto(strcpy(buf, "MovePC"), XS_Client_MovePC, file, "$$$$$$");
|
||||
newXSproto(strcpy(buf, "MovePCInstance"), XS_Client_MovePCInstance, file, "$$$$$$$");
|
||||
newXSproto(strcpy(buf, "MoveZone"), XS_Client_MoveZone, file, "$$");
|
||||
newXSproto(strcpy(buf, "MoveZoneGroup"), XS_Client_MoveZoneGroup, file, "$$");
|
||||
newXSproto(strcpy(buf, "MoveZoneRaid"), XS_Client_MoveZoneRaid, file, "$$");
|
||||
newXSproto(strcpy(buf, "NPCSpawn"), XS_Client_NPCSpawn, file, "$$$;$");
|
||||
newXSproto(strcpy(buf, "NukeItem"), XS_Client_NukeItem, file, "$$;$");
|
||||
newXSproto(strcpy(buf, "OpenLFGuildWindow"), XS_Client_OpenLFGuildWindow, file, "$");
|
||||
|
||||
Reference in New Issue
Block a user