mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 10:31:29 +00:00
[Cleanup] Delete deprecated/perlxs folder (#3110)
# Notes - This entire folder is unused.
This commit is contained in:
parent
4491bb9a70
commit
97e50ced93
@ -1,9 +0,0 @@
|
|||||||
//NOTE: you must have a space after the * of a return value
|
|
||||||
|
|
||||||
unsigned int field_count();
|
|
||||||
unsigned long affected_rows();
|
|
||||||
unsigned long insert_id();
|
|
||||||
unsigned int get_errno();
|
|
||||||
Const_char * error();
|
|
||||||
EQDBRes * query(Const_char *q);
|
|
||||||
Const_char * escape_string(Const_char *from); //NOT THREAD SAFE! (m_escapeBuffer)
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
|
||||||
Copyright (C) 2001-2004 EQEMu Development Team (http://eqemulator.net)
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
|
||||||
are required to give you total support for your newly bought product;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef const char Const_char;
|
|
||||||
|
|
||||||
#ifdef EMBPERL
|
|
||||||
#include "../common/debug.h"
|
|
||||||
#include "../common/useperl.h"
|
|
||||||
#include "EQDB.h"
|
|
||||||
|
|
||||||
#ifdef THIS /* this macro seems to leak out on some systems */
|
|
||||||
#undef THIS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
MODULE = EQDB PACKAGE = EQDB
|
|
||||||
|
|
||||||
PROTOTYPES: ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
unsigned long num_rows() { return (res) ? mysql_num_rows(res) : 0; }
|
|
||||||
unsigned long num_fields() { return (res) ? mysql_num_fields(res) : 0; }
|
|
||||||
void DESTROY() { }
|
|
||||||
void finish() { if (res) mysql_free_result(res); res=NULL; };
|
|
||||||
vector<string> fetch_row_array();
|
|
||||||
map<string,string> fetch_row_hash();
|
|
||||||
unsigned long * fetch_lengths() { return (res) ? mysql_fetch_lengths(res) : 0; }
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
|
||||||
Copyright (C) 2001-2004 EQEMu Development Team (http://eqemulator.net)
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
|
||||||
are required to give you total support for your newly bought product;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef const char Const_char;
|
|
||||||
|
|
||||||
#ifdef EMBPERL
|
|
||||||
#include "../common/debug.h"
|
|
||||||
#include "../common/useperl.h"
|
|
||||||
#include "EQDBRes.h"
|
|
||||||
|
|
||||||
|
|
||||||
MODULE = EQDBRes PACKAGE = EQDBRes
|
|
||||||
|
|
||||||
PROTOTYPES: ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
Const_char * GetName() const { return(m_name.c_str()); }
|
|
||||||
int GetStaticCount() const { return(m_zones.size()); }
|
|
||||||
bool IsConnected() const; //is this launcher connected to world
|
|
||||||
|
|
||||||
void DeleteLauncher(); //kill this launcher and all its zones.
|
|
||||||
|
|
||||||
void RestartZone(Const_char *zone_ref);
|
|
||||||
void StopZone(Const_char *zone_ref);
|
|
||||||
void StartZone(Const_char *zone_ref);
|
|
||||||
|
|
||||||
bool BootStaticZone(Const_char *short_name, uint16 port);
|
|
||||||
bool ChangeStaticZone(Const_char *short_name, uint16 port);
|
|
||||||
bool DeleteStaticZone(Const_char *short_name);
|
|
||||||
|
|
||||||
bool SetDynamicCount(int count);
|
|
||||||
int GetDynamicCount() const;
|
|
||||||
|
|
||||||
vector<string> ListZones(); //returns an array of zone refs
|
|
||||||
map<string,string> GetZoneDetails(Const_char *zone_ref);
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
|
||||||
Copyright (C) 2001-2004 EQEMu Development Team (http://eqemulator.net)
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
|
||||||
are required to give you total support for your newly bought product;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef const char Const_char;
|
|
||||||
|
|
||||||
#ifdef EMBPERL
|
|
||||||
#include "../common/debug.h"
|
|
||||||
#include "EQWParser.h"
|
|
||||||
#include "EQLConfig.h"
|
|
||||||
|
|
||||||
#ifdef THIS /* this macro seems to leak out on some systems */
|
|
||||||
#undef THIS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
MODULE = EQLConfig PACKAGE = EQLConfig
|
|
||||||
|
|
||||||
PROTOTYPES: ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,36 +0,0 @@
|
|||||||
//NOTE: you must have a space after the * of a return value
|
|
||||||
Const_char * GetConfig(Const_char *var_name);
|
|
||||||
void LockWorld();
|
|
||||||
void UnlockWorld();
|
|
||||||
|
|
||||||
bool LSConnected();
|
|
||||||
void LSReconnect();
|
|
||||||
|
|
||||||
int CountZones();
|
|
||||||
vector<string> ListBootedZones(); //returns an array of zone_refs (opaque)
|
|
||||||
map<string,string> GetZoneDetails(Const_char *zone_ref); //returns a hash ref of details
|
|
||||||
|
|
||||||
int CountPlayers();
|
|
||||||
vector<string> ListPlayers(Const_char *zone_name = ""); //returns an array of player refs (opaque)
|
|
||||||
map<string,string> GetPlayerDetails(Const_char *player_ref); //returns a hash ref of details
|
|
||||||
|
|
||||||
int CountLaunchers(bool active_only);
|
|
||||||
// vector<string> ListActiveLaunchers(); //returns an array of launcher names
|
|
||||||
vector<string> ListLaunchers(); //returns an array of launcher names
|
|
||||||
EQLConfig * GetLauncher(Const_char *launcher_name); //returns the EQLConfig object for the specified launcher.
|
|
||||||
void CreateLauncher(Const_char *launcher_name, int dynamic_count);
|
|
||||||
// EQLConfig * FindLauncher(Const_char *zone_ref);
|
|
||||||
|
|
||||||
//Guild routines, mostly wrappers around guild_mgr
|
|
||||||
int32 CreateGuild(const char* name, int32 leader_char_id);
|
|
||||||
bool DeleteGuild(int32 guild_id);
|
|
||||||
bool RenameGuild(int32 guild_id, const char* name);
|
|
||||||
bool SetGuildMOTD(int32 guild_id, const char* motd, const char *setter);
|
|
||||||
bool SetGuildLeader(int32 guild_id, int32 leader_char_id);
|
|
||||||
bool SetGuild(int32 charid, int32 guild_id, int8 rank);
|
|
||||||
bool SetGuildRank(int32 charid, int8 rank);
|
|
||||||
bool SetBankerFlag(int32 charid, bool is_banker);
|
|
||||||
bool SetTributeFlag(int32 charid, bool enabled);
|
|
||||||
bool SetPublicNote(int32 charid, const char *note);
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
|
||||||
Copyright (C) 2001-2004 EQEMu Development Team (http://eqemulator.net)
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
|
||||||
are required to give you total support for your newly bought product;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef const char Const_char;
|
|
||||||
|
|
||||||
#ifdef EMBPERL
|
|
||||||
#include "../common/debug.h"
|
|
||||||
#include "EQWParser.h"
|
|
||||||
#include "EQW.h"
|
|
||||||
|
|
||||||
#ifdef THIS /* this macro seems to leak out on some systems */
|
|
||||||
#undef THIS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
MODULE = EQW PACKAGE = EQW
|
|
||||||
|
|
||||||
PROTOTYPES: ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
Const_char * get(Const_char *name, Const_char *default_value = "") const;
|
|
||||||
int getInt(Const_char *name, int default_value = 0) const;
|
|
||||||
float getFloat(Const_char *name, float default_value = 0.0) const;
|
|
||||||
|
|
||||||
//returns a database-safe string
|
|
||||||
Const_char * getEscaped(Const_char *name, Const_char *default_value = "") const;
|
|
||||||
|
|
||||||
map<string,string> get_all() const;
|
|
||||||
|
|
||||||
void redirect(Const_char *URL);
|
|
||||||
void SetResponseCode(Const_char *code);
|
|
||||||
void header(Const_char *name, Const_char *value);
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
|
||||||
Copyright (C) 2001-2004 EQEMu Development Team (http://eqemulator.net)
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
|
||||||
are required to give you total support for your newly bought product;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef const char Const_char;
|
|
||||||
|
|
||||||
#ifdef EMBPERL
|
|
||||||
#include "../common/debug.h"
|
|
||||||
#include "EQWParser.h"
|
|
||||||
#include "HTTPRequest.h"
|
|
||||||
|
|
||||||
#ifdef THIS /* this macro seems to leak out on some systems */
|
|
||||||
#undef THIS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
MODULE = HTTPRequest PACKAGE = HTTPRequest
|
|
||||||
|
|
||||||
PROTOTYPES: ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
int32 GetCharID() { return charid; }
|
|
||||||
int32 GetDecayTime() { if (!corpse_decay_timer.Enabled()) return 0xFFFFFFFF; else return corpse_decay_timer.GetRemainingTime(); }
|
|
||||||
inline void Lock() { pLocked = true; }
|
|
||||||
inline void UnLock() { pLocked = false; }
|
|
||||||
inline bool IsLocked() { return pLocked; }
|
|
||||||
inline void ResetLooter() { BeingLootedBy = 0xFFFFFFFF; }
|
|
||||||
inline int32 GetDBID() { return dbid; }
|
|
||||||
inline char* GetOwnerName() { return orgname;}
|
|
||||||
void SetDecayTimer(int32 decaytime);
|
|
||||||
bool IsEmpty();
|
|
||||||
void AddItem(uint32 itemnum, int8 charges, sint16 slot = 0);
|
|
||||||
uint32 GetWornItem(sint16 equipSlot) const;
|
|
||||||
void RemoveItem(int16 lootslot);
|
|
||||||
void SetCash(int16 in_copper, int16 in_silver, int16 in_gold, int16 in_platinum);
|
|
||||||
void RemoveCash();
|
|
||||||
int32 CountItems();
|
|
||||||
void Delete();
|
|
||||||
uint32 GetCopper() { return copper; }
|
|
||||||
uint32 GetSilver() { return silver; }
|
|
||||||
uint32 GetGold() { return gold; }
|
|
||||||
uint32 GetPlatinum() { return platinum; }
|
|
||||||
void Summon(Client* client, bool spell);
|
|
||||||
void CastRezz(int16 spellid, Mob* Caster);
|
|
||||||
void CompleteRezz();
|
|
||||||
bool CanMobLoot(int charid);
|
|
||||||
void AllowMobLoot(Mob *them, int8 slot);
|
|
||||||
void AddLooter(Mob *who);
|
|
||||||
bool IsRezzed() { return isrezzed; }
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
|
||||||
Copyright (C) 2001-2004 EQEMu Development Team (http://eqemulator.net)
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
|
||||||
are required to give you total support for your newly bought product;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "features.h"
|
|
||||||
#ifdef EMBPERL_XS_CLASSES
|
|
||||||
#include "../common/debug.h"
|
|
||||||
#include "embperl.h"
|
|
||||||
|
|
||||||
#include "PlayerCorpse.h"
|
|
||||||
|
|
||||||
#ifdef THIS /* this macro seems to leak out on some systems */
|
|
||||||
#undef THIS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
MODULE = Corpse PACKAGE = Corpse
|
|
||||||
|
|
||||||
PROTOTYPES: ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,27 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ ! -h ./miniperl ]; then
|
|
||||||
echo "You must have a link in this dir to perl named ./miniperl"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
./convert client.h Client
|
|
||||||
./convert entity.h EntityList
|
|
||||||
./convert mob.h Mob
|
|
||||||
./convert npc.h NPC
|
|
||||||
./convert PlayerCorpse.h Corpse
|
|
||||||
./convert groups.h Group
|
|
||||||
./convert perlpacket.h PerlPacket
|
|
||||||
./export ../../world/EQW.h EQW.h
|
|
||||||
./convert EQW.h EQW
|
|
||||||
./export ../../common/EQDB.h EQDB.h
|
|
||||||
./convert EQDB.h EQDB
|
|
||||||
./export ../../common/EQDBRes.h EQDBRes.h
|
|
||||||
./convert EQDBRes.h EQDBRes
|
|
||||||
./export ../../world/HTTPRequest.h HTTPRequest.h
|
|
||||||
./convert HTTPRequest.h HTTPRequest
|
|
||||||
./export ../../world/EQLConfig.h EQLConfig.h
|
|
||||||
./convert EQLConfig.h EQLConfig
|
|
||||||
|
|
||||||
echo "Putting files in place..."
|
|
||||||
./put
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
xsubpp -typemap class.typemap class.xs
|
|
||||||
@ -1,442 +0,0 @@
|
|||||||
#our object types
|
|
||||||
EQLConfig * T_PTROBJ
|
|
||||||
EQDB * T_PTROBJ
|
|
||||||
EQDBRes * T_PTROBJ
|
|
||||||
Client * T_PTROBJ
|
|
||||||
NPC * T_PTROBJ
|
|
||||||
Mob * T_PTROBJ
|
|
||||||
Group * T_PTROBJ
|
|
||||||
Corpse * T_PTROBJ
|
|
||||||
EntityList * T_PTROBJ
|
|
||||||
PerlPacket * T_PTROBJ
|
|
||||||
EQW * T_PTROBJ
|
|
||||||
HTTPRequest * T_PTROBJ
|
|
||||||
Const_char * T_PV
|
|
||||||
|
|
||||||
#some nice c++ types
|
|
||||||
vector<string> T_STRINGARRAY
|
|
||||||
map<string,string> T_STRINGMAP
|
|
||||||
|
|
||||||
#our int types
|
|
||||||
FACTION_VALUE T_IV
|
|
||||||
EmuAppearance T_UV
|
|
||||||
SkillType T_UV
|
|
||||||
Mob::eStandingPetOrder T_IV
|
|
||||||
int32 T_UV
|
|
||||||
int16 T_UV
|
|
||||||
int8 T_UV
|
|
||||||
uint32 T_UV
|
|
||||||
uint16 T_UV
|
|
||||||
uint8 T_UV
|
|
||||||
sint32 T_IV
|
|
||||||
sint16 T_IV
|
|
||||||
sint8 T_IV
|
|
||||||
|
|
||||||
int * T_INTARRAY
|
|
||||||
unsigned long * T_INTARRAY
|
|
||||||
|
|
||||||
# basic C types
|
|
||||||
int T_IV
|
|
||||||
unsigned T_UV
|
|
||||||
unsigned int T_UV
|
|
||||||
long T_IV
|
|
||||||
unsigned long T_UV
|
|
||||||
unsigned long long T_UV
|
|
||||||
short T_IV
|
|
||||||
unsigned short T_UV
|
|
||||||
char T_CHAR
|
|
||||||
unsigned char T_U_CHAR
|
|
||||||
char * T_PV
|
|
||||||
unsigned char * T_PV
|
|
||||||
const char * T_PV
|
|
||||||
caddr_t T_PV
|
|
||||||
wchar_t * T_PV
|
|
||||||
wchar_t T_IV
|
|
||||||
# bool_t is defined in <rpc/rpc.h>
|
|
||||||
bool_t T_IV
|
|
||||||
size_t T_UV
|
|
||||||
ssize_t T_IV
|
|
||||||
time_t T_NV
|
|
||||||
unsigned long * T_OPAQUEPTR
|
|
||||||
char ** T_PACKEDARRAY
|
|
||||||
void * T_PTR
|
|
||||||
Time_t * T_PV
|
|
||||||
SV * T_SV
|
|
||||||
SVREF T_SVREF
|
|
||||||
AV * T_AVREF
|
|
||||||
HV * T_HVREF
|
|
||||||
CV * T_CVREF
|
|
||||||
|
|
||||||
IV T_IV
|
|
||||||
UV T_UV
|
|
||||||
NV T_NV
|
|
||||||
I32 T_IV
|
|
||||||
I16 T_IV
|
|
||||||
I8 T_IV
|
|
||||||
STRLEN T_UV
|
|
||||||
U32 T_U_LONG
|
|
||||||
U16 T_U_SHORT
|
|
||||||
U8 T_UV
|
|
||||||
Result T_U_CHAR
|
|
||||||
Boolean T_BOOL
|
|
||||||
float T_FLOAT
|
|
||||||
double T_DOUBLE
|
|
||||||
SysRet T_SYSRET
|
|
||||||
SysRetLong T_SYSRET
|
|
||||||
FILE * T_STDIO
|
|
||||||
PerlIO * T_INOUT
|
|
||||||
FileHandle T_PTROBJ
|
|
||||||
InputStream T_IN
|
|
||||||
InOutStream T_INOUT
|
|
||||||
OutputStream T_OUT
|
|
||||||
bool T_BOOL
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
INPUT
|
|
||||||
T_SV
|
|
||||||
$var = $arg
|
|
||||||
T_SVREF
|
|
||||||
if (SvROK($arg))
|
|
||||||
$var = (SV*)SvRV($arg);
|
|
||||||
else
|
|
||||||
Perl_croak(aTHX_ \"$var is not a reference\");
|
|
||||||
T_AVREF
|
|
||||||
if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVAV)
|
|
||||||
$var = (AV*)SvRV($arg);
|
|
||||||
else
|
|
||||||
Perl_croak(aTHX_ \"$var is not an array reference\");
|
|
||||||
T_HVREF
|
|
||||||
if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVHV)
|
|
||||||
$var = (HV*)SvRV($arg);
|
|
||||||
else
|
|
||||||
Perl_croak(aTHX_ \"$var is not a hash reference\");
|
|
||||||
T_CVREF
|
|
||||||
if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVCV)
|
|
||||||
$var = (CV*)SvRV($arg);
|
|
||||||
else
|
|
||||||
Perl_croak(aTHX_ \"$var is not a code reference\");
|
|
||||||
T_SYSRET
|
|
||||||
$var NOT IMPLEMENTED
|
|
||||||
T_UV
|
|
||||||
$var = ($type)SvUV($arg)
|
|
||||||
T_IV
|
|
||||||
$var = ($type)SvIV($arg)
|
|
||||||
T_INT
|
|
||||||
$var = (int)SvIV($arg)
|
|
||||||
T_ENUM
|
|
||||||
$var = ($type)SvIV($arg)
|
|
||||||
T_BOOL
|
|
||||||
$var = (bool)SvTRUE($arg)
|
|
||||||
T_U_INT
|
|
||||||
$var = (unsigned int)SvUV($arg)
|
|
||||||
T_SHORT
|
|
||||||
$var = (short)SvIV($arg)
|
|
||||||
T_U_SHORT
|
|
||||||
$var = (unsigned short)SvUV($arg)
|
|
||||||
T_LONG
|
|
||||||
$var = (long)SvIV($arg)
|
|
||||||
T_U_LONG
|
|
||||||
$var = (unsigned long)SvUV($arg)
|
|
||||||
T_CHAR
|
|
||||||
$var = (char)*SvPV_nolen($arg)
|
|
||||||
T_U_CHAR
|
|
||||||
$var = (unsigned char)SvUV($arg)
|
|
||||||
T_FLOAT
|
|
||||||
$var = (float)SvNV($arg)
|
|
||||||
T_NV
|
|
||||||
$var = ($type)SvNV($arg)
|
|
||||||
T_DOUBLE
|
|
||||||
$var = (double)SvNV($arg)
|
|
||||||
T_PV
|
|
||||||
$var = ($type)SvPV_nolen($arg)
|
|
||||||
T_PTR
|
|
||||||
$var = INT2PTR($type,SvIV($arg))
|
|
||||||
T_PTRREF
|
|
||||||
if (SvROK($arg)) {
|
|
||||||
IV tmp = SvIV((SV*)SvRV($arg));
|
|
||||||
$var = INT2PTR($type,tmp);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Perl_croak(aTHX_ \"$var is not a reference\");
|
|
||||||
if($var == NULL)
|
|
||||||
Perl_croak(aTHX_ \"$var is NULL, avoiding crash.\");
|
|
||||||
T_REF_IV_REF
|
|
||||||
if (sv_isa($arg, \"${ntype}\")) {
|
|
||||||
IV tmp = SvIV((SV*)SvRV($arg));
|
|
||||||
$var = *INT2PTR($type *, tmp);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Perl_croak(aTHX_ \"$var is not of type ${ntype}\");
|
|
||||||
T_REF_IV_PTR
|
|
||||||
if (sv_isa($arg, \"${ntype}\")) {
|
|
||||||
IV tmp = SvIV((SV*)SvRV($arg));
|
|
||||||
$var = INT2PTR($type, tmp);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Perl_croak(aTHX_ \"$var is not of type ${ntype}\");
|
|
||||||
if($var == NULL)
|
|
||||||
Perl_croak(aTHX_ \"$var is NULL, avoiding crash.\");
|
|
||||||
T_PTROBJ
|
|
||||||
if (sv_derived_from($arg, \"${ntype}\")) {
|
|
||||||
IV tmp = SvIV((SV*)SvRV($arg));
|
|
||||||
$var = INT2PTR($type,tmp);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Perl_croak(aTHX_ \"$var is not of type ${ntype}\");
|
|
||||||
if($var == NULL)
|
|
||||||
Perl_croak(aTHX_ \"$var is NULL, avoiding crash.\");
|
|
||||||
T_PTRDESC
|
|
||||||
if (sv_isa($arg, \"${ntype}\")) {
|
|
||||||
IV tmp = SvIV((SV*)SvRV($arg));
|
|
||||||
${type}_desc = (\U${type}_DESC\E*) tmp;
|
|
||||||
$var = ${type}_desc->ptr;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Perl_croak(aTHX_ \"$var is not of type ${ntype}\");
|
|
||||||
if($var == NULL)
|
|
||||||
Perl_croak(aTHX_ \"$var is NULL, avoiding crash.\");
|
|
||||||
T_REFREF
|
|
||||||
if (SvROK($arg)) {
|
|
||||||
IV tmp = SvIV((SV*)SvRV($arg));
|
|
||||||
$var = *INT2PTR($type,tmp);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Perl_croak(aTHX_ \"$var is not a reference\");
|
|
||||||
if($var == NULL)
|
|
||||||
Perl_croak(aTHX_ \"$var is NULL, avoiding crash.\");
|
|
||||||
T_REFOBJ
|
|
||||||
if (sv_isa($arg, \"${ntype}\")) {
|
|
||||||
IV tmp = SvIV((SV*)SvRV($arg));
|
|
||||||
$var = *INT2PTR($type,tmp);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Perl_croak(aTHX_ \"$var is not of type ${ntype}\");
|
|
||||||
if($var == NULL)
|
|
||||||
Perl_croak(aTHX_ \"$var is NULL, avoiding crash.\");
|
|
||||||
T_OPAQUE
|
|
||||||
$var = *($type *)SvPV_nolen($arg)
|
|
||||||
T_OPAQUEPTR
|
|
||||||
$var = ($type)SvPV_nolen($arg)
|
|
||||||
T_PACKED
|
|
||||||
$var = XS_unpack_$ntype($arg)
|
|
||||||
T_PACKEDARRAY
|
|
||||||
$var = XS_unpack_$ntype($arg)
|
|
||||||
T_CALLBACK
|
|
||||||
$var = make_perl_cb_$type($arg)
|
|
||||||
T_ARRAY
|
|
||||||
U32 ix_$var = $argoff;
|
|
||||||
$var = $ntype(items -= $argoff);
|
|
||||||
while (items--) {
|
|
||||||
DO_ARRAY_ELEM;
|
|
||||||
ix_$var++;
|
|
||||||
}
|
|
||||||
/* this is the number of elements in the array */
|
|
||||||
ix_$var -= $argoff
|
|
||||||
T_INTARRAY
|
|
||||||
AV *av_$var;
|
|
||||||
if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVAV)
|
|
||||||
av_$var = (AV*)SvRV($arg);
|
|
||||||
else
|
|
||||||
Perl_croak(aTHX_ \"$var is not an array reference\");
|
|
||||||
I32 len_$var = av_len(av_$var) + 1;
|
|
||||||
I32 ix_$var;
|
|
||||||
$var = new $ntype\[len_$var\];
|
|
||||||
for(ix_$var = 0; ix_$var < len_$var; ix_$var ++) {
|
|
||||||
SV **tmp = av_fetch(av_$var, ix_$var, 0);
|
|
||||||
if(tmp == NULL || *tmp == NULL) {
|
|
||||||
$var\[ix_$var\] = 0;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
$var\[ix_$var\] = ($ntype)SvIV(*tmp);
|
|
||||||
}
|
|
||||||
T_STDIO
|
|
||||||
$var = PerlIO_findFILE(IoIFP(sv_2io($arg)))
|
|
||||||
T_IN
|
|
||||||
$var = IoIFP(sv_2io($arg))
|
|
||||||
T_INOUT
|
|
||||||
$var = IoIFP(sv_2io($arg))
|
|
||||||
T_OUT
|
|
||||||
$var = IoOFP(sv_2io($arg))
|
|
||||||
T_STRINGARRAY
|
|
||||||
$var NOT IMPLEMENTED
|
|
||||||
T_STRINGMAP
|
|
||||||
$var NOT IMPLEMENTED
|
|
||||||
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
OUTPUT
|
|
||||||
T_SV
|
|
||||||
$arg = $var;
|
|
||||||
T_SVREF
|
|
||||||
$arg = newRV((SV*)$var);
|
|
||||||
T_AVREF
|
|
||||||
$arg = newRV((SV*)$var);
|
|
||||||
T_HVREF
|
|
||||||
$arg = newRV((SV*)$var);
|
|
||||||
T_CVREF
|
|
||||||
$arg = newRV((SV*)$var);
|
|
||||||
T_IV
|
|
||||||
sv_setiv($arg, (IV)$var);
|
|
||||||
T_UV
|
|
||||||
sv_setuv($arg, (UV)$var);
|
|
||||||
T_INT
|
|
||||||
sv_setiv($arg, (IV)$var);
|
|
||||||
T_SYSRET
|
|
||||||
if ($var != -1) {
|
|
||||||
if ($var == 0)
|
|
||||||
sv_setpvn($arg, "0 but true", 10);
|
|
||||||
else
|
|
||||||
sv_setiv($arg, (IV)$var);
|
|
||||||
}
|
|
||||||
T_ENUM
|
|
||||||
sv_setiv($arg, (IV)$var);
|
|
||||||
T_BOOL
|
|
||||||
$arg = boolSV($var);
|
|
||||||
T_U_INT
|
|
||||||
sv_setuv($arg, (UV)$var);
|
|
||||||
T_SHORT
|
|
||||||
sv_setiv($arg, (IV)$var);
|
|
||||||
T_U_SHORT
|
|
||||||
sv_setuv($arg, (UV)$var);
|
|
||||||
T_LONG
|
|
||||||
sv_setiv($arg, (IV)$var);
|
|
||||||
T_U_LONG
|
|
||||||
sv_setuv($arg, (UV)$var);
|
|
||||||
T_CHAR
|
|
||||||
sv_setpvn($arg, (char *)&$var, 1);
|
|
||||||
T_U_CHAR
|
|
||||||
sv_setuv($arg, (UV)$var);
|
|
||||||
T_FLOAT
|
|
||||||
sv_setnv($arg, (double)$var);
|
|
||||||
T_NV
|
|
||||||
sv_setnv($arg, (NV)$var);
|
|
||||||
T_DOUBLE
|
|
||||||
sv_setnv($arg, (double)$var);
|
|
||||||
T_PV
|
|
||||||
sv_setpv((SV*)$arg, $var);
|
|
||||||
T_PTR
|
|
||||||
sv_setiv($arg, PTR2IV($var));
|
|
||||||
T_PTRREF
|
|
||||||
sv_setref_pv($arg, Nullch, (void*)$var);
|
|
||||||
T_REF_IV_REF
|
|
||||||
sv_setref_pv($arg, \"${ntype}\", (void*)new $ntype($var));
|
|
||||||
T_REF_IV_PTR
|
|
||||||
sv_setref_pv($arg, \"${ntype}\", (void*)$var);
|
|
||||||
T_PTROBJ
|
|
||||||
sv_setref_pv($arg, \"${ntype}\", (void*)$var);
|
|
||||||
T_PTRDESC
|
|
||||||
sv_setref_pv($arg, \"${ntype}\", (void*)new\U${type}_DESC\E($var));
|
|
||||||
T_REFREF
|
|
||||||
NOT_IMPLEMENTED
|
|
||||||
T_REFOBJ
|
|
||||||
NOT IMPLEMENTED
|
|
||||||
T_OPAQUE
|
|
||||||
sv_setpvn($arg, (char *)&$var, sizeof($var));
|
|
||||||
T_OPAQUEPTR
|
|
||||||
sv_setpvn($arg, (char *)$var, sizeof(*$var));
|
|
||||||
T_PACKED
|
|
||||||
XS_pack_$ntype($arg, $var);
|
|
||||||
T_PACKEDARRAY
|
|
||||||
XS_pack_$ntype($arg, $var, count_$ntype);
|
|
||||||
T_DATAUNIT
|
|
||||||
sv_setpvn($arg, $var.chp(), $var.size());
|
|
||||||
T_CALLBACK
|
|
||||||
sv_setpvn($arg, $var.context.value().chp(),
|
|
||||||
$var.context.value().size());
|
|
||||||
T_ARRAY
|
|
||||||
{
|
|
||||||
U32 ix_$var;
|
|
||||||
EXTEND(SP,size_$var);
|
|
||||||
for (ix_$var = 0; ix_$var < size_$var; ix_$var++) {
|
|
||||||
ST(ix_$var) = sv_newmortal();
|
|
||||||
DO_ARRAY_ELEM
|
|
||||||
}
|
|
||||||
}
|
|
||||||
T_STDIO
|
|
||||||
{
|
|
||||||
GV *gv = newGVgen("$Package");
|
|
||||||
PerlIO *fp = PerlIO_importFILE($var,0);
|
|
||||||
if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) )
|
|
||||||
sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
|
|
||||||
else
|
|
||||||
$arg = &PL_sv_undef;
|
|
||||||
}
|
|
||||||
T_IN
|
|
||||||
{
|
|
||||||
GV *gv = newGVgen("$Package");
|
|
||||||
if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) )
|
|
||||||
sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
|
|
||||||
else
|
|
||||||
$arg = &PL_sv_undef;
|
|
||||||
}
|
|
||||||
T_INOUT
|
|
||||||
{
|
|
||||||
GV *gv = newGVgen("$Package");
|
|
||||||
if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) )
|
|
||||||
sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
|
|
||||||
else
|
|
||||||
$arg = &PL_sv_undef;
|
|
||||||
}
|
|
||||||
T_OUT
|
|
||||||
{
|
|
||||||
GV *gv = newGVgen("$Package");
|
|
||||||
if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) )
|
|
||||||
sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
|
|
||||||
else
|
|
||||||
$arg = &PL_sv_undef;
|
|
||||||
}
|
|
||||||
T_STRINGARRAY
|
|
||||||
{
|
|
||||||
U32 ix_$var;
|
|
||||||
/* pop crap off the stack we dont really want */
|
|
||||||
POPs;
|
|
||||||
POPs;
|
|
||||||
/* grow the stack to the number of elements being returned */
|
|
||||||
EXTEND(SP, $var.size());
|
|
||||||
for (ix_$var = 0; ix_$var < $var.size(); ix_$var++) {
|
|
||||||
const string &it = $var\[ix_$var\];
|
|
||||||
ST(ix_$var) = sv_newmortal();
|
|
||||||
sv_setpvn(ST(ix_$var), it.c_str(), it.length());
|
|
||||||
}
|
|
||||||
/* hackish, but im over it. The normal xsubpp return will be right below this */
|
|
||||||
XSRETURN($var.size());
|
|
||||||
}
|
|
||||||
T_STRINGMAP
|
|
||||||
if (RETVAL.begin()!=RETVAL.end())
|
|
||||||
{
|
|
||||||
//NOTE: we are leaking the original $arg right now
|
|
||||||
HV *hv = newHV();
|
|
||||||
sv_2mortal((SV*)hv);
|
|
||||||
$arg = newRV((SV*)hv);
|
|
||||||
|
|
||||||
map<string,string>::const_iterator cur, end;
|
|
||||||
cur = $var.begin();
|
|
||||||
end = $var.end();
|
|
||||||
for(; cur != end; cur++) {
|
|
||||||
/* get the element from the hash, creating if needed (will be needed) */
|
|
||||||
SV**ele = hv_fetch(hv, cur->first.c_str(), cur->first.length(), TRUE);
|
|
||||||
if(ele == NULL) {
|
|
||||||
Perl_croak(aTHX_ \"Unable to create a hash element for $var\");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
/* put our string in the SV associated with this element in the hash */
|
|
||||||
sv_setpvn(*ele, cur->second.c_str(), cur->second.length());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,177 +0,0 @@
|
|||||||
|
|
||||||
//BEGIN CLIENT METHODS
|
|
||||||
|
|
||||||
void SendSound();
|
|
||||||
bool Save(int8 iCommitNow);
|
|
||||||
void SaveBackup();
|
|
||||||
|
|
||||||
inline bool Connected();
|
|
||||||
inline bool InZone();
|
|
||||||
inline void Kick();
|
|
||||||
inline void Disconnect();
|
|
||||||
inline bool IsLD();
|
|
||||||
void WorldKick();
|
|
||||||
inline int8 GetAnon();
|
|
||||||
void Duck();
|
|
||||||
void Stand();
|
|
||||||
|
|
||||||
void SetGM(bool toggle);
|
|
||||||
void SetPVP(bool toggle);
|
|
||||||
inline bool GetPVP();
|
|
||||||
inline bool GetGM();
|
|
||||||
|
|
||||||
inline void SetBaseClass(uint32 i);
|
|
||||||
inline void SetBaseRace(uint32 i);
|
|
||||||
inline void SetBaseGender(uint32 i);
|
|
||||||
|
|
||||||
inline int8 GetBaseFace();
|
|
||||||
|
|
||||||
inline int8 GetLanguageSkill(int16 n);
|
|
||||||
inline Const_char * GetLastName();
|
|
||||||
inline int32 GetLDoNPoints();
|
|
||||||
|
|
||||||
|
|
||||||
inline int8 GetBaseSTR();
|
|
||||||
inline int8 GetBaseSTA();
|
|
||||||
inline int8 GetBaseCHA();
|
|
||||||
inline int8 GetBaseDEX();
|
|
||||||
inline int8 GetBaseINT();
|
|
||||||
inline int8 GetBaseAGI();
|
|
||||||
inline int8 GetBaseWIS();
|
|
||||||
|
|
||||||
int16 GetWeight();
|
|
||||||
inline uint32 GetEXP();
|
|
||||||
bool UpdateLDoNPoints(sint32 points, int32 theme);
|
|
||||||
inline void SetDeity(uint32 i);
|
|
||||||
|
|
||||||
void AddEXP(uint32 add_exp, int8 conlevel = 0xFF, bool resexp = false);
|
|
||||||
void SetEXP(uint32 set_exp, uint32 set_aaxp, bool resexp=false);
|
|
||||||
|
|
||||||
void SetBindPoint(int to_zone = -1, float new_x = 0.0f, float new_y = 0.0f, float new_z = 0.0f);
|
|
||||||
void MovePC(int32 zoneID, float x, float y, float z, float heading);
|
|
||||||
void ChangeLastName(const char* in_lastname);
|
|
||||||
|
|
||||||
FACTION_VALUE GetFactionLevel(int32 char_id, int32 npc_id, int32 p_race, int32 p_class, int32 p_deity, sint32 pFaction, Mob* tnpc);
|
|
||||||
|
|
||||||
void SetFactionLevel(int32 char_id, int32 npc_id, int8 char_class, int8 char_race, int8 char_deity);
|
|
||||||
void SetFactionLevel2(int32 char_id, sint32 faction_id, int8 char_class, int8 char_race, int8 char_deity, sint32 value);
|
|
||||||
sint16 GetRawItemAC();
|
|
||||||
|
|
||||||
inline int32 AccountID();
|
|
||||||
inline Const_char * AccountName();
|
|
||||||
inline sint16 Admin();
|
|
||||||
inline int32 CharacterID();
|
|
||||||
void UpdateAdmin(bool iFromDB = true);
|
|
||||||
void UpdateWho(int8 remove = 0);
|
|
||||||
|
|
||||||
inline int8 GuildRank();
|
|
||||||
inline int32 GuildID();
|
|
||||||
|
|
||||||
int8 GetFace();
|
|
||||||
|
|
||||||
bool TakeMoneyFromPP(uint32 copper);
|
|
||||||
void AddMoneyToPP(uint32 copper, uint32 silver, uint32 gold,uint32 platinum,bool updateclient);
|
|
||||||
|
|
||||||
bool TGB() {return tgb;}
|
|
||||||
|
|
||||||
int16 GetSkillPoints() {return m_pp.points;}
|
|
||||||
void SetSkillPoints(int inp) {m_pp.points = inp;}
|
|
||||||
|
|
||||||
void IncreaseSkill(int skill_id, int value = 1) { if (skill_id <= HIGHEST_SKILL) { m_pp.skills[skill_id] += value; } }
|
|
||||||
void IncreaseLanguageSkill(int skill_id, int value = 1) { if (skill_id < 26) { m_pp.languages[skill_id] += value; } }
|
|
||||||
virtual uint16 GetSkill(SkillType skill_id) const { if (skill_id <= HIGHEST_SKILL) { return((itembonuses.skillmod[skill_id] > 0)? m_pp.skills[skill_id]*(100 + itembonuses.skillmod[skill_id])/100 : m_pp.skills[skill_id]); } return 0; }
|
|
||||||
uint32 GetRawSkill(SkillType skill_id) const { if (skill_id <= HIGHEST_SKILL) { return(m_pp.skills[skill_id]); } return 0; }
|
|
||||||
bool HasSkill(SkillType skill_id) const;
|
|
||||||
bool CanHaveSkill(SkillType skill_id) const;
|
|
||||||
void SetSkill(SkillType skill_num, int8 value); // socket 12-29-01
|
|
||||||
void AddSkill(SkillType skillid, int8 value);
|
|
||||||
void CheckSpecializeIncrease(int16 spell_id);
|
|
||||||
bool CheckIncreaseSkill(SkillType skillid, int chancemodi = 0);
|
|
||||||
void SetLanguageSkill(int langid, int value);
|
|
||||||
int8 MaxSkill(SkillType skillid);
|
|
||||||
|
|
||||||
void GMKill();
|
|
||||||
inline bool IsMedding();
|
|
||||||
inline int16 GetDuelTarget();
|
|
||||||
inline bool IsDueling();
|
|
||||||
inline void SetDuelTarget(int16 set_id);
|
|
||||||
inline void SetDueling(bool duel);
|
|
||||||
|
|
||||||
void ResetAA();
|
|
||||||
|
|
||||||
void MemSpell(int16 spell_id, int slot, bool update_client = true);
|
|
||||||
void UnmemSpell(int slot, bool update_client = true);
|
|
||||||
void UnmemSpellAll(bool update_client = true);
|
|
||||||
void ScribeSpell(int16 spell_id, int slot, bool update_client = true);
|
|
||||||
void UnscribeSpell(int slot, bool update_client = true);
|
|
||||||
void UnscribeSpellAll(bool update_client = true);
|
|
||||||
|
|
||||||
inline bool IsSitting();
|
|
||||||
inline bool IsBecomeNPC();
|
|
||||||
inline int8 GetBecomeNPCLevel();
|
|
||||||
inline void SetBecomeNPC(bool flag);
|
|
||||||
inline void SetBecomeNPCLevel(int8 level);
|
|
||||||
bool LootToStack(uint32 itemid);
|
|
||||||
void SetFeigned(bool in_feigned);
|
|
||||||
inline bool GetFeigned();
|
|
||||||
|
|
||||||
inline bool AutoSplitEnabled();
|
|
||||||
|
|
||||||
void SetHorseId(int16 horseid_in);
|
|
||||||
int16 GetHorseId();
|
|
||||||
|
|
||||||
uint32 NukeItem(uint32 itemnum);
|
|
||||||
void SetTint(sint16 slot_id, uint32 color);
|
|
||||||
void SetMaterial(sint16 slot_id, uint32 item_id);
|
|
||||||
void Undye();
|
|
||||||
uint32 GetItemIDAt(sint16 slot_id);
|
|
||||||
void DeleteItemInInventory(sint16 slot_id, sint8 quantity = 0, bool client_update = false);
|
|
||||||
void SummonItem(uint32 item_id, sint8 charges = 0);
|
|
||||||
void SetStats(int8 type,sint16 increase_val);
|
|
||||||
void IncStats(int8 type,sint16 increase_val);
|
|
||||||
void DropItem(sint16 slot_id);
|
|
||||||
|
|
||||||
void BreakInvis();
|
|
||||||
Group* GetGroup();
|
|
||||||
void LeaveGroup();
|
|
||||||
|
|
||||||
bool Hungry();
|
|
||||||
bool Thirsty();
|
|
||||||
int16 GetInstrumentMod(int16 spell_id);
|
|
||||||
bool DecreaseByID(int32 type, int8 amt);
|
|
||||||
int8 SlotConvert2(int8 slot);
|
|
||||||
void Escape();
|
|
||||||
void RemoveNoRent();
|
|
||||||
void RangedAttack(Mob* other);
|
|
||||||
void ThrowingAttack(Mob* other);
|
|
||||||
void GoFish();
|
|
||||||
void ForageItem();
|
|
||||||
float CalcPriceMod(Mob* other = 0, bool reverse = false);
|
|
||||||
void ResetTrade();
|
|
||||||
bool UseDiscipline(int32 spell_id, int32 target);
|
|
||||||
sint32 GetCharacterFactionLevel(sint32 faction_id);
|
|
||||||
|
|
||||||
|
|
||||||
void SetZoneFlag(uint32 zone_id);
|
|
||||||
void ClearZoneFlag(uint32 zone_id);
|
|
||||||
bool HasZoneFlag(uint32 zone_id) const;
|
|
||||||
void SendZoneFlagInfo(Client *to) const;
|
|
||||||
void LoadZoneFlags();
|
|
||||||
void SetAATitle(const char *txt);
|
|
||||||
|
|
||||||
//TODO: inventory and ptimers interfaces
|
|
||||||
//I think there are two GetAA methods in client
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,36 +0,0 @@
|
|||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
|
||||||
Copyright (C) 2001-2004 EQEMu Development Team (http://eqemulator.net)
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
|
||||||
are required to give you total support for your newly bought product;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "features.h"
|
|
||||||
#ifdef EMBPERL_XS_CLASSES
|
|
||||||
#include "../common/debug.h"
|
|
||||||
#include "embperl.h"
|
|
||||||
|
|
||||||
#include "client.h"
|
|
||||||
|
|
||||||
#ifdef THIS /* this macro seems to leak out on some systems */
|
|
||||||
#undef THIS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
MODULE = Client PACKAGE = Client
|
|
||||||
|
|
||||||
PROTOTYPES: ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,44 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ ! -r "$1" -o -z "$2" ]; then
|
|
||||||
echo "Usage: $0 headerfile classname"
|
|
||||||
fi
|
|
||||||
|
|
||||||
name=`basename "$1" .h`
|
|
||||||
name="perl_${name}"
|
|
||||||
|
|
||||||
echo "Starting conversion of $2" >&2
|
|
||||||
|
|
||||||
{
|
|
||||||
cat "$1.xs"
|
|
||||||
|
|
||||||
cat "$1" \
|
|
||||||
| sed -e 's/inline//g' -e 's/const//g' -e 's/virtual//g' \
|
|
||||||
-e 's/{.*}/;/g' -e 's#//.*$##g' \
|
|
||||||
-e 's/(void)/()/g' \
|
|
||||||
| tr -d '[&;]' \
|
|
||||||
| perl -p -e "s/^\\s+(.+)[ \\t]([a-zA-Z0-9_]*)\\(/&\$1&$2::\$2(/g" \
|
|
||||||
| tr '&' '\n'
|
|
||||||
|
|
||||||
} > tmp
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
xsubpp -typemap class.typemap tmp \
|
|
||||||
| sed -e "s/\"$2::/\"/g" \
|
|
||||||
-e 's/("\([a-zA-Z0-9_]*\)"/(strcpy(buf, "\1")/g' \
|
|
||||||
-e 's/ / /g' -e 's/ / /g' \
|
|
||||||
-e 's#char\* file = __FILE__;#char file[256];^ strncpy(file, __FILE__, 256);^ file[255] = '\0';^ ^ if(items != 1)^ fprintf(stderr, "boot_quest does not take any arguments.");^ char buf[128];^^ //add the strcpy stuff to get rid of const warnings....^^#g' \
|
|
||||||
-e 's/Ptr//g' \
|
|
||||||
-e 's/Mob__e/Mob::e/g' \
|
|
||||||
| tr '^' '\n' \
|
|
||||||
| grep -v "^#line"
|
|
||||||
|
|
||||||
echo "#endif //EMBPERL_XS_CLASSES"
|
|
||||||
echo
|
|
||||||
} > "$name.cpp"
|
|
||||||
|
|
||||||
|
|
||||||
#rm -f tmp
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,62 +0,0 @@
|
|||||||
|
|
||||||
Mob* GetMobID(int16 id);
|
|
||||||
Mob* GetMob(const char* name);
|
|
||||||
Mob* GetMobByNpcTypeID(int32 get_id);
|
|
||||||
Client* GetClientByName(const char *name);
|
|
||||||
Client* GetClientByAccID(int32 accid);
|
|
||||||
Client* GetClientByID(int16 id);
|
|
||||||
Client* GetClientByCharID(int32 iCharID);
|
|
||||||
Client* GetClientByWID(int32 iWID);
|
|
||||||
Group* GetGroupByMob(Mob* mob);
|
|
||||||
Group* GetGroupByClient(Client* client);
|
|
||||||
Group* GetGroupByID(int32 id);
|
|
||||||
Group* GetGroupByLeaderName(char* leader);
|
|
||||||
Corpse* GetCorpseByOwner(Client* client);
|
|
||||||
Corpse* GetCorpseByID(int16 id);
|
|
||||||
Corpse* GetCorpseByName(char* name);
|
|
||||||
void ClearClientPetitionQueue();
|
|
||||||
bool CanAddHateForMob(Mob *p);
|
|
||||||
|
|
||||||
void Clear();
|
|
||||||
bool RemoveMob(int16 delete_id);
|
|
||||||
bool RemoveClient(int16 delete_id);
|
|
||||||
bool RemoveNPC(int16 delete_id);
|
|
||||||
bool RemoveGroup(int32 delete_id);
|
|
||||||
bool RemoveCorpse(int16 delete_id);
|
|
||||||
bool RemoveDoor(int16 delete_id);
|
|
||||||
bool RemoveTrap(int16 delete_id);
|
|
||||||
bool RemoveObject(int16 delete_id);
|
|
||||||
void RemoveAllMobs();
|
|
||||||
void RemoveAllClients();
|
|
||||||
void RemoveAllNPCs();
|
|
||||||
void RemoveAllGroups();
|
|
||||||
void RemoveAllCorpses();
|
|
||||||
void RemoveAllDoors();
|
|
||||||
void RemoveAllTraps();
|
|
||||||
void RemoveAllObjects();
|
|
||||||
|
|
||||||
void Message(int32 to_guilddbid, int32 type, const char* message, ...);
|
|
||||||
void MessageStatus(int32 to_guilddbid, int to_minstatus, int32 type, const char* message, ...);
|
|
||||||
void MessageClose(Mob* sender, bool skipsender, float dist, int32 type, const char* message, ...);
|
|
||||||
|
|
||||||
void RemoveFromTargets(Mob* mob);
|
|
||||||
void ReplaceWithTarget(Mob* pOldMob, Mob*pNewTarget);
|
|
||||||
|
|
||||||
void OpenDoorsNear(NPC* opener);
|
|
||||||
|
|
||||||
char* MakeNameUnique(char* name);
|
|
||||||
static char* RemoveNumbers(char* name);
|
|
||||||
// signal quest command support
|
|
||||||
void SignalMobsByNPCID(int32 npc_type, int signal_id);
|
|
||||||
void RemoveEntity(int16 id);
|
|
||||||
|
|
||||||
sint32 DeleteNPCCorpses();
|
|
||||||
sint32 DeletePlayerCorpses();
|
|
||||||
void HalveAggro(Mob* who);
|
|
||||||
void DoubleAggro(Mob* who);
|
|
||||||
void ClearFeignAggro(Mob* targ);
|
|
||||||
|
|
||||||
bool Fighting(Mob* targ);
|
|
||||||
void RemoveFromHateLists(Mob* mob, bool settoone = false);
|
|
||||||
void MessageGroup(Mob* sender, bool skipclose, int32 type, const char* message, ...);
|
|
||||||
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
|
||||||
Copyright (C) 2001-2004 EQEMu Development Team (http://eqemulator.net)
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
|
||||||
are required to give you total support for your newly bought product;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "features.h"
|
|
||||||
#ifdef EMBPERL_XS_CLASSES
|
|
||||||
#include "../common/debug.h"
|
|
||||||
#include "embperl.h"
|
|
||||||
|
|
||||||
#include "entity.h"
|
|
||||||
|
|
||||||
#ifdef THIS /* this macro seems to leak out on some systems */
|
|
||||||
#undef THIS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
MODULE = EntityList PACKAGE = EntityList
|
|
||||||
|
|
||||||
PROTOTYPES: ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
FROM="$1"
|
|
||||||
TO="$2"
|
|
||||||
|
|
||||||
if [ ! -r "$1" -o -z "$2" ]; then
|
|
||||||
echo "Usage: $0 [src] [dest]"
|
|
||||||
fi
|
|
||||||
|
|
||||||
grep -A100000 "BEGIN PERL EXPORT" "$FROM" \
|
|
||||||
| grep -B 100000 "END PERL EXPORT" \
|
|
||||||
| grep -v "PERL EXPORT" >"$TO"
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
void DisbandGroup();
|
|
||||||
bool IsGroupMember(Mob* client);
|
|
||||||
void CastGroupSpell(Mob* caster,uint16 spellid);
|
|
||||||
void SplitExp(uint32 exp, Mob* other);
|
|
||||||
void GroupMessage(Mob* sender,const char* message);
|
|
||||||
int32 GetTotalGroupDamage(Mob* other);
|
|
||||||
void SplitMoney(uint32 copper, uint32 silver, uint32 gold, uint32 platinum);
|
|
||||||
void SetLeader(Mob* newleader){ leader=newleader; };
|
|
||||||
Mob* GetLeader(){ return leader; };
|
|
||||||
char* GetLeaderName(){ return membername[0]; };
|
|
||||||
void SendHPPacketsTo(Mob* newmember);
|
|
||||||
void SendHPPacketsFrom(Mob* newmember);
|
|
||||||
bool IsLeader(Mob* leadertest) { return leadertest==leader; };
|
|
||||||
int8 GroupCount();
|
|
||||||
int32 GetHighestLevel();
|
|
||||||
void TeleportGroup(Mob* sender, int32 zoneID, float x, float y, float z, float heading);
|
|
||||||
inline const int32 GetID() const { return id; }
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
|
||||||
Copyright (C) 2001-2004 EQEMu Development Team (http://eqemulator.net)
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
|
||||||
are required to give you total support for your newly bought product;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "features.h"
|
|
||||||
#ifdef EMBPERL_XS_CLASSES
|
|
||||||
#include "../common/debug.h"
|
|
||||||
#include "embperl.h"
|
|
||||||
|
|
||||||
#include "groups.h"
|
|
||||||
|
|
||||||
#ifdef THIS /* this macro seems to leak out on some systems */
|
|
||||||
#undef THIS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
MODULE = Group PACKAGE = Group
|
|
||||||
|
|
||||||
PROTOTYPES: ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,249 +0,0 @@
|
|||||||
|
|
||||||
//BEGIN ENTITY METHODS
|
|
||||||
|
|
||||||
virtual bool IsClient() { return false; }
|
|
||||||
virtual bool IsNPC() { return false; }
|
|
||||||
virtual bool IsMob() { return false; }
|
|
||||||
virtual bool IsCorpse() { return false; }
|
|
||||||
virtual bool IsPlayerCorpse() { return false; }
|
|
||||||
virtual bool IsNPCCorpse() { return false; }
|
|
||||||
virtual bool IsObject() { return false; }
|
|
||||||
// virtual bool IsGroup() { return false; }
|
|
||||||
virtual bool IsDoor() { return false; }
|
|
||||||
virtual bool IsTrap() { return false; }
|
|
||||||
virtual bool IsBeacon() { return false; }
|
|
||||||
|
|
||||||
Client* CastToClient();
|
|
||||||
NPC* CastToNPC();
|
|
||||||
Mob* CastToMob();
|
|
||||||
Corpse* CastToCorpse();
|
|
||||||
// Object* CastToObject();
|
|
||||||
// Group* CastToGroup();
|
|
||||||
// Doors* CastToDoors();
|
|
||||||
// Trap* CastToTrap();
|
|
||||||
// Beacon* CastToBeacon();
|
|
||||||
|
|
||||||
//BEGIN MOB METHODS
|
|
||||||
int16& GetID();
|
|
||||||
virtual Const_char * GetName();
|
|
||||||
void Depop(bool StartSpawnTimer = true);
|
|
||||||
|
|
||||||
void RogueAssassinate(Mob* other);
|
|
||||||
bool BehindMob(Mob* other = 0, float playerx = 0.0f, float playery = 0.0f);
|
|
||||||
void SetLevel(uint8 in_level, bool command = false);
|
|
||||||
|
|
||||||
uint32 GetSkill(SkillType skill_num);
|
|
||||||
void SendWearChange(int8 material_slot);
|
|
||||||
sint32 GetEquipment(int8 material_slot); // returns item id
|
|
||||||
sint32 GetEquipmentMaterial(int8 material_slot);
|
|
||||||
sint32 GetEquipmentColor(int8 material_slot);
|
|
||||||
bool IsMoving();
|
|
||||||
void GoToBind();
|
|
||||||
void Gate();
|
|
||||||
bool Attack(Mob* other, int Hand = 13, bool FromRiposte = false)
|
|
||||||
virtual void Damage(Mob* from, sint32 damage, int16 spell_id, SkillType attack_skill, bool avoidable = true, sint8 buffslot = -1, bool iBuffTic = false) {};
|
|
||||||
|
|
||||||
void Heal();
|
|
||||||
void SetMaxHP();
|
|
||||||
int32 GetLevelCon(int8 iOtherLevel);
|
|
||||||
void SetHP(sint32 hp);
|
|
||||||
void DoAnim(const int animnum, int type=1);
|
|
||||||
void ChangeSize(float in_size, bool bNoRestriction = false);
|
|
||||||
void GMMove(float x, float y, float z, float heading = 0.01);
|
|
||||||
void SendPosUpdate(int8 iSendToSelf = 0);
|
|
||||||
void SendPosition();
|
|
||||||
bool HasProcs();
|
|
||||||
//bool CheckLos(Mob* other);
|
|
||||||
bool IsInvisible(Mob *other = 0);
|
|
||||||
void SetInvisible(bool state);
|
|
||||||
bool FindBuff(int16 spellid);
|
|
||||||
bool FindType(int8 type, bool bOffensive = false, int16 threshold = 100);
|
|
||||||
sint8 GetBuffSlotFromType(int8 type);
|
|
||||||
void MakePet(int16 spell_id, const char* pettype, const char *name=NULL);
|
|
||||||
virtual inline int16 GetBaseRace();
|
|
||||||
virtual inline int8 GetBaseGender();
|
|
||||||
virtual inline int8 GetDeity();
|
|
||||||
inline const int16& GetRace();
|
|
||||||
inline const int8& GetGender();
|
|
||||||
inline const int8& GetTexture();
|
|
||||||
inline const int8& GetHelmTexture();
|
|
||||||
inline const int8& GetClass();
|
|
||||||
inline const uint8& GetLevel();
|
|
||||||
Const_char * GetCleanName();
|
|
||||||
inline Mob* GetTarget();
|
|
||||||
virtual inline void SetTarget(Mob* mob);
|
|
||||||
virtual inline float GetHPRatio();
|
|
||||||
|
|
||||||
bool IsWarriorClass();
|
|
||||||
virtual inline const sint32& GetHP();
|
|
||||||
virtual inline const sint32& GetMaxHP();
|
|
||||||
virtual float GetWalkspeed();
|
|
||||||
virtual float GetRunspeed();
|
|
||||||
virtual int GetCasterLevel(int16 spell_id);
|
|
||||||
virtual inline const sint32& GetMaxMana();
|
|
||||||
virtual inline const sint32& GetMana();
|
|
||||||
virtual void SetMana(sint32 amount);
|
|
||||||
virtual inline float GetManaRatio();
|
|
||||||
|
|
||||||
inline virtual int16 GetAC();
|
|
||||||
inline virtual int16 GetATK();
|
|
||||||
inline virtual sint16 GetSTR();
|
|
||||||
inline virtual sint16 GetSTA();
|
|
||||||
inline virtual sint16 GetDEX();
|
|
||||||
inline virtual sint16 GetAGI();
|
|
||||||
inline virtual sint16 GetINT();
|
|
||||||
inline virtual sint16 GetWIS();
|
|
||||||
inline virtual sint16 GetCHA();
|
|
||||||
inline virtual sint16 GetMR();
|
|
||||||
inline virtual sint16 GetFR();
|
|
||||||
inline virtual sint16 GetDR();
|
|
||||||
inline virtual sint16 GetPR();
|
|
||||||
inline virtual sint16 GetCR();
|
|
||||||
|
|
||||||
inline virtual sint16 GetMaxSTR();
|
|
||||||
inline virtual sint16 GetMaxSTA();
|
|
||||||
inline virtual sint16 GetMaxDEX();
|
|
||||||
inline virtual sint16 GetMaxAGI();
|
|
||||||
inline virtual sint16 GetMaxINT();
|
|
||||||
inline virtual sint16 GetMaxWIS();
|
|
||||||
inline virtual sint16 GetMaxCHA();
|
|
||||||
|
|
||||||
virtual float GetActSpellRange(int16 spell_id, float range);
|
|
||||||
virtual sint32 GetActSpellDamage(int16 spell_id, sint32 value);
|
|
||||||
virtual sint32 GetActSpellHealing(int16 spell_id, sint32 value);
|
|
||||||
virtual sint32 GetActSpellCost(int16 spell_id, sint32 cost);
|
|
||||||
virtual sint32 GetActSpellDuration(int16 spell_id, sint32 duration);
|
|
||||||
virtual sint32 GetActSpellCasttime(int16 spell_id, sint32 casttime);
|
|
||||||
double ResistSpell(uint8 ressit_type, int16 spell_id, Mob *caster);
|
|
||||||
uint16 GetSpecializeSkillValue(int16 spell_id) const;
|
|
||||||
|
|
||||||
int32 GetNPCTypeID();
|
|
||||||
bool IsTargeted();
|
|
||||||
|
|
||||||
inline const float& GetX();
|
|
||||||
inline const float& GetY();
|
|
||||||
inline const float& GetZ();
|
|
||||||
inline const float& GetHeading();
|
|
||||||
inline const float& GetSize();
|
|
||||||
|
|
||||||
void SetFollowID(int32 id);
|
|
||||||
int32 GetFollowID();
|
|
||||||
|
|
||||||
virtual void Message(int32 type, const char* message, ...);
|
|
||||||
virtual void MessageString(int32 type, int32 string_id, int32 distance = 0);
|
|
||||||
void Say(const char *format, ...);
|
|
||||||
void Shout(const char *format, ...);
|
|
||||||
void Emote(const char *format, ...);
|
|
||||||
void InterruptSpell(int16 spellid = 0xFFFF);
|
|
||||||
|
|
||||||
virtual void CastSpell(int16 spell_id, int16 target_id, int16 slot = 10, sint32 casttime = -1, sint32 mana_cost = -1);
|
|
||||||
bool IsImmuneToSpell(int16 spell_id, Mob *caster);
|
|
||||||
void BuffFadeBySpellID(int16 spell_id);
|
|
||||||
void BuffFadeByEffect(int effectid, int skipslot = -1);
|
|
||||||
void BuffFadeAll();
|
|
||||||
void BuffFadeBySlot(int slot, bool iRecalcBonuses = true);
|
|
||||||
|
|
||||||
int CanBuffStack(int16 spellid, int8 caster_level, bool iFailIfOverwrite = false);
|
|
||||||
inline bool IsCasting();
|
|
||||||
int16 CastingSpellID();
|
|
||||||
|
|
||||||
void SetAppearance(EmuAppearance app, bool iIgnoreSelf = true);
|
|
||||||
|
|
||||||
inline EmuAppearance GetAppearance();
|
|
||||||
inline const int8& GetRunAnimSpeed();
|
|
||||||
inline void SetRunAnimSpeed(sint8 in);
|
|
||||||
|
|
||||||
void SetPetID(int16 NewPetID);
|
|
||||||
inline const int16& GetPetID();
|
|
||||||
void SetOwnerID(int16 NewOwnerID);
|
|
||||||
inline const int16& GetOwnerID();
|
|
||||||
inline const int16& GetPetType();
|
|
||||||
|
|
||||||
inline const int8& GetBodyType();
|
|
||||||
virtual void Stun(int duration);
|
|
||||||
|
|
||||||
void Spin();
|
|
||||||
void Kill();
|
|
||||||
|
|
||||||
inline void SetInvul(bool invul);
|
|
||||||
inline bool GetInvul();
|
|
||||||
inline void SetExtraHaste(int Haste);
|
|
||||||
virtual int GetHaste();
|
|
||||||
int GetMonkHandToHandDamage(void);
|
|
||||||
|
|
||||||
bool CanThisClassDoubleAttack(void);
|
|
||||||
bool CanThisClassDualWield(void);
|
|
||||||
bool CanThisClassRiposte(void);
|
|
||||||
bool CanThisClassDodge(void);
|
|
||||||
bool CanThisClassParry(void);
|
|
||||||
|
|
||||||
int GetMonkHandToHandDelay(void);
|
|
||||||
int8 GetClassLevelFactor();
|
|
||||||
void Mesmerize();
|
|
||||||
inline bool IsMezzed();
|
|
||||||
inline bool IsStunned();
|
|
||||||
|
|
||||||
void StartEnrage();
|
|
||||||
bool IsEnraged();
|
|
||||||
|
|
||||||
FACTION_VALUE GetReverseFactionCon(Mob* iOther);
|
|
||||||
inline const bool& IsAIControlled();
|
|
||||||
inline const float& GetAggroRange();
|
|
||||||
inline const float& GetAssistRange();
|
|
||||||
|
|
||||||
inline void SetPetOrder(Mob::eStandingPetOrder i);
|
|
||||||
inline const Mob::eStandingPetOrder& GetPetOrder();
|
|
||||||
inline const bool& IsRoamer();
|
|
||||||
inline const bool IsRooted();
|
|
||||||
|
|
||||||
void AddToHateList(Mob* other, sint32 hate = 0, sint32 damage = 0, bool iYellForHelp = true, bool bFrenzy = false, bool iBuffTic = false);
|
|
||||||
void SetHate(Mob* other, sint32 hate = 0, sint32 damage = 0);
|
|
||||||
int32 GetHateAmount(Mob* tmob, bool is_dam = false);
|
|
||||||
int32 GetDamageAmount(Mob* tmob);
|
|
||||||
Mob* GetHateTop();
|
|
||||||
Mob* GetHateDamageTop(Mob* other);
|
|
||||||
Mob* GetHateRandom();
|
|
||||||
bool IsEngaged();
|
|
||||||
bool HateSummon();
|
|
||||||
void FaceTarget(Mob* MobToFace = 0, bool update = false);
|
|
||||||
void SetHeading(float iHeading);
|
|
||||||
void WipeHateList();
|
|
||||||
|
|
||||||
inline bool CheckAggro(Mob* other);
|
|
||||||
|
|
||||||
sint8 CalculateHeadingToTarget(float in_x, float in_y);
|
|
||||||
bool CalculateNewPosition(float x, float y, float z, float speed, bool checkZ = false);
|
|
||||||
bool CalculateNewPosition2(float x, float y, float z, float speed, bool checkZ = false);
|
|
||||||
float CalculateDistance(float x, float y, float z);
|
|
||||||
void SendTo(float new_x, float new_y, float new_z);
|
|
||||||
void SendToFixZ(float new_x, float new_y, float new_z);
|
|
||||||
void NPCSpecialAttacks(const char* parse, int permtag);
|
|
||||||
inline int32& DontHealMeBefore();
|
|
||||||
inline int32& DontBuffMeBefore();
|
|
||||||
inline int32& DontDotMeBefore();
|
|
||||||
inline int32& DontRootMeBefore();
|
|
||||||
inline int32& DontSnareMeBefore();
|
|
||||||
|
|
||||||
sint16 GetResist(int8 type);
|
|
||||||
Mob* GetShieldTarget();
|
|
||||||
void SetShieldTarget(Mob* mob);
|
|
||||||
bool Charmed();
|
|
||||||
int32 GetLevelHP(int8 tlevel);
|
|
||||||
int32 GetZoneID() const;
|
|
||||||
int16 CheckAggroAmount(int16 spellid);
|
|
||||||
int16 CheckHealAggroAmount(int16 spellid);
|
|
||||||
virtual int32 GetAA(int32 aa_id);
|
|
||||||
bool DivineAura();
|
|
||||||
|
|
||||||
void AddFeignMemory(Client* attacker);
|
|
||||||
void RemoveFromFeignMemory(Client* attacker);
|
|
||||||
void ClearFeignMemory();
|
|
||||||
|
|
||||||
//END MOB METHODS
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
|
||||||
Copyright (C) 2001-2004 EQEMu Development Team (http://eqemulator.net)
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
|
||||||
are required to give you total support for your newly bought product;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "features.h"
|
|
||||||
#ifdef EMBPERL_XS_CLASSES
|
|
||||||
#include "../common/debug.h"
|
|
||||||
#include "embperl.h"
|
|
||||||
|
|
||||||
typedef const char Const_char;
|
|
||||||
|
|
||||||
#include "mob.h"
|
|
||||||
|
|
||||||
#ifdef THIS /* this macro seems to leak out on some systems */
|
|
||||||
#undef THIS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
MODULE = Mob PACKAGE = Mob
|
|
||||||
|
|
||||||
PROTOTYPES: ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,63 +0,0 @@
|
|||||||
void SignalNPC(int _signal_id);
|
|
||||||
FACTION_VALUE CheckNPCFactionAlly(sint32 other_faction);
|
|
||||||
void AddItem(int32 itemid, int8 charges, int8 slot = 0);
|
|
||||||
void AddLootTable();
|
|
||||||
void RemoveItem(uint16 item_id, int16 quantity = 0, int16 slot = 0);
|
|
||||||
void ClearItemList();
|
|
||||||
void AddCash(int16 in_copper, int16 in_silver, int16 in_gold, int16 in_platinum);
|
|
||||||
void RemoveCash();
|
|
||||||
int32 CountLoot();
|
|
||||||
inline int32 GetLoottableID() { return loottable_id; }
|
|
||||||
inline uint32 GetCopper() { return copper; }
|
|
||||||
inline uint32 GetSilver() { return silver; }
|
|
||||||
inline uint32 GetGold() { return gold; }
|
|
||||||
inline uint32 GetPlatinum() { return platinum; }
|
|
||||||
|
|
||||||
inline void SetCopper(uint32 amt) { copper = amt; }
|
|
||||||
inline void SetSilver(uint32 amt) { silver = amt; }
|
|
||||||
inline void SetGold(uint32 amt) { gold = amt; }
|
|
||||||
inline void SetPlatinum(uint32 amt) { platinum = amt; }
|
|
||||||
void SetGrid(int16 grid_){ grid=grid_; }
|
|
||||||
void SetSp2(int32 sg2){ spawn_group=sg2; }
|
|
||||||
int16 GetWaypointMax(){ return wp_m; }
|
|
||||||
sint16 GetGrid(){ return grid; }
|
|
||||||
int32 GetSp2(){ return spawn_group; }
|
|
||||||
|
|
||||||
inline const sint32& GetNPCFactionID() { return npc_faction_id; }
|
|
||||||
inline sint32 GetPrimaryFaction() { return primary_faction; }
|
|
||||||
sint32 GetNPCHate(Mob* in_ent) {return hate_list.GetEntHate(in_ent);}
|
|
||||||
bool IsOnHatelist(Mob*p) { return hate_list.IsOnHateList(p);}
|
|
||||||
|
|
||||||
void SetNPCFactionID(sint32 in) { npc_faction_id = in; database.GetFactionIdsForNPC(npc_faction_id, &faction_list, &primary_faction); }
|
|
||||||
int16 GetMaxDMG() {return max_dmg;}
|
|
||||||
bool IsAnimal() { return(bodytype == 21); }
|
|
||||||
int16 GetPetSpellID() {return pet_spell_id;}
|
|
||||||
void SetPetSpellID(int16 amt) {pet_spell_id = amt;}
|
|
||||||
int32 GetMaxDamage(int8 tlevel);
|
|
||||||
void SetTaunting(bool tog) {taunting = tog;}
|
|
||||||
void PickPocket(Client* thief);
|
|
||||||
void StartSwarmTimer(int32 duration) { swarm_timer.Start(duration); }
|
|
||||||
void DoClassAttacks(Mob *target);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int GetMaxWp() const { return max_wp; }
|
|
||||||
void DisplayWaypointInfo(Client *to);
|
|
||||||
void CalculateNewWaypoint();
|
|
||||||
// int8 CalculateHeadingToNextWaypoint();
|
|
||||||
// float CalculateDistanceToNextWaypoint();
|
|
||||||
void AssignWaypoints(int32 grid);
|
|
||||||
void SetWaypointPause();
|
|
||||||
void UpdateWaypoint(int wp_index);
|
|
||||||
// quest wandering commands
|
|
||||||
void StopWandering();
|
|
||||||
void ResumeWandering();
|
|
||||||
void PauseWandering(int pausetime);
|
|
||||||
void MoveTo(float mtx, float mty, float mtz, float mth, bool saveguardspot);
|
|
||||||
|
|
||||||
void NextGuardPosition();
|
|
||||||
void SaveGuardSpot(bool iClearGuardSpot = false);
|
|
||||||
inline bool IsGuarding() const { return(guard_heading != 0); }
|
|
||||||
void AI_SetRoambox(float iDist, float iMaxX, float iMinX, float iMaxY, float iMinY, int32 iDelay = 2500);
|
|
||||||
const int32& GetNPCSpellsID();
|
|
||||||
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
|
||||||
Copyright (C) 2001-2004 EQEMu Development Team (http://eqemulator.net)
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
|
||||||
are required to give you total support for your newly bought product;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "features.h"
|
|
||||||
#ifdef EMBPERL_XS_CLASSES
|
|
||||||
#include "../common/debug.h"
|
|
||||||
#include "embperl.h"
|
|
||||||
|
|
||||||
typedef const char Const_char;
|
|
||||||
|
|
||||||
#include "npc.h"
|
|
||||||
|
|
||||||
#ifdef THIS /* this macro seems to leak out on some systems */
|
|
||||||
#undef THIS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
MODULE = NPC PACKAGE = NPC
|
|
||||||
|
|
||||||
PROTOTYPES: ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
PerlPacket *
|
|
||||||
PerlPacket::new(const char *opcode = "OP_Unknown", uint32 len = 0);
|
|
||||||
void DESTROY();
|
|
||||||
|
|
||||||
bool SetOpcode(const char *opcode);
|
|
||||||
void Resize(uint32 len);
|
|
||||||
|
|
||||||
//sending functions
|
|
||||||
void SendTo(Client *who);
|
|
||||||
void SendToAll();
|
|
||||||
|
|
||||||
//editing
|
|
||||||
void Zero();
|
|
||||||
void FromArray(int *numbers, uint32 length);
|
|
||||||
void SetByte(uint32 pos, uint8 val);
|
|
||||||
void SetShort(uint32 pos, uint16 val);
|
|
||||||
void SetLong(uint32 pos, uint32 val);
|
|
||||||
void SetFloat(uint32 pos, float val);
|
|
||||||
void SetString(uint32 pos, char *str);
|
|
||||||
|
|
||||||
void SetEQ1319(uint32 pos, float part13, float part19);
|
|
||||||
void SetEQ1913(uint32 pos, float part19, float part13);
|
|
||||||
|
|
||||||
//reading
|
|
||||||
uint8 GetByte(uint32 pos);
|
|
||||||
uint16 GetShort(uint32 pos);
|
|
||||||
uint32 GetLong(uint32 pos);
|
|
||||||
float GetFloat(uint32 pos);
|
|
||||||
@ -1,36 +0,0 @@
|
|||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
|
||||||
Copyright (C) 2001-2004 EQEMu Development Team (http://eqemulator.net)
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 of the License.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
|
||||||
are required to give you total support for your newly bought product;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "features.h"
|
|
||||||
#ifdef EMBPERL_XS_CLASSES
|
|
||||||
#include "../common/debug.h"
|
|
||||||
#include "embperl.h"
|
|
||||||
|
|
||||||
#include "perlpacket.h"
|
|
||||||
|
|
||||||
#ifdef THIS /* this macro seems to leak out on some systems */
|
|
||||||
#undef THIS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
MODULE = PerlPacket PACKAGE = PerlPacket
|
|
||||||
|
|
||||||
PROTOTYPES: ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
cp perl_PlayerCorpse.cpp perl_client.cpp perl_entity.cpp perl_groups.cpp \
|
|
||||||
perl_mob.cpp perl_npc.cpp perl_perlpacket.cpp \
|
|
||||||
../../zone/
|
|
||||||
|
|
||||||
cp perl_EQW.cpp perl_HTTPRequest.cpp perl_EQLConfig.cpp ../../world/
|
|
||||||
|
|
||||||
cp perl_EQDB.cpp perl_EQDBRes.cpp ../../common/
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user