Merge branch 'master' of git://github.com/EQEmu/Server into gcc-changes

This commit is contained in:
j883376
2013-05-23 21:12:07 -04:00
219 changed files with 2420 additions and 2489 deletions
+26 -25
View File
@@ -31,6 +31,7 @@
#include "command.h"
#include "../common/seperator.h"
#include "../common/MiscFunctions.h"
#include "../common/StringUtil.h"
#include "QGlobals.h"
#include "zone.h"
@@ -131,7 +132,7 @@ void PerlembParser::ExportVar(const char * pkgprefix, const char * varname, cons
}
// Exports key-value pairs to a hash named pkgprefix::hashname
void PerlembParser::ExportHash(const char *pkgprefix, const char *hashname, std::map<string,string> &vals)
void PerlembParser::ExportHash(const char *pkgprefix, const char *hashname, std::map<std::string,std::string> &vals)
{
if (!perl)
return;
@@ -271,7 +272,7 @@ void PerlembParser::EventCommon(QuestEventID event, uint32 objid, const char * d
}
}
string packagename;
std::string packagename;
if(!isPlayerQuest && !isGlobalPlayerQuest && !isItemQuest && !isSpellQuest){
if(global){
@@ -370,7 +371,7 @@ void PerlembParser::EventCommon(QuestEventID event, uint32 objid, const char * d
//only export for npcs that are global enabled.
if(npcmob && npcmob->GetQglobal())
{
map<string, string> globhash;
std::map<std::string, std::string> globhash;
QGlobalCache *npc_c = nullptr;
QGlobalCache *char_c = nullptr;
QGlobalCache *zone_c = nullptr;
@@ -431,7 +432,7 @@ void PerlembParser::EventCommon(QuestEventID event, uint32 objid, const char * d
}
else
{
map<string, string> globhash;
std::map<std::string, std::string> globhash;
QGlobalCache *char_c = nullptr;
QGlobalCache *zone_c = nullptr;
@@ -553,7 +554,7 @@ void PerlembParser::EventCommon(QuestEventID event, uint32 objid, const char * d
if(mob && mob->IsClient())
{
string hashname = packagename + std::string("::hasitem");
std::string hashname = packagename + std::string("::hasitem");
#if EQDEBUG >= 7
LogFile->write(EQEMuLog::Debug, "starting hasitem, on : %s",hashname.c_str() );
#endif
@@ -579,7 +580,7 @@ void PerlembParser::EventCommon(QuestEventID event, uint32 objid, const char * d
}
// $oncursor
if(mob && mob->IsClient()) {
string hashname = packagename + std::string("::oncursor");
std::string hashname = packagename + std::string("::oncursor");
perl->eval(std::string("%").append(hashname).append(" = ();").c_str());
char *hi_decl = nullptr;
int itemid = mob->CastToClient()->GetItemIDAt(30);
@@ -619,7 +620,7 @@ void PerlembParser::EventCommon(QuestEventID event, uint32 objid, const char * d
ExportVar(packagename.c_str(), "silver", GetVar("silver", objid).c_str());
ExportVar(packagename.c_str(), "gold", GetVar("gold", objid).c_str());
ExportVar(packagename.c_str(), "platinum", GetVar("platinum", objid).c_str());
string hashname = packagename + std::string("::itemcount");
std::string hashname = packagename + std::string("::itemcount");
perl->eval(std::string("%").append(hashname).append(" = ();").c_str());
perl->eval(std::string("++$").append(hashname).append("{$").append(packagename).append("::item1};").c_str());
perl->eval(std::string("++$").append(hashname).append("{$").append(packagename).append("::item2};").c_str());
@@ -933,7 +934,7 @@ int PerlembParser::LoadScript(int npcid, const char * zone, Mob* activater)
return(1);
}
string filename = "quests/", packagename = GetPkgPrefix(npcid);
std::string filename = "quests/", packagename = GetPkgPrefix(npcid);
//each package name is of the form qstxxxx where xxxx = npcid (since numbers alone are not valid package names)
questMode curmode = questDefault;
FILE *tmpf;
@@ -950,7 +951,7 @@ int PerlembParser::LoadScript(int npcid, const char * zone, Mob* activater)
filename += zone;
filename += "/";
#ifdef QUEST_SCRIPTS_BYNAME
string bnfilename = filename;
std::string bnfilename = filename;
#endif
filename += itoa(npcid);
filename += ".pl";
@@ -1190,10 +1191,10 @@ int PerlembParser::LoadGlobalNPCScript()
return 1;
}
string filename = "quests/";
std::string filename = "quests/";
filename += QUEST_TEMPLATES_DIRECTORY;
filename += "/global_npc.pl";
string packagename = "global_npc";
std::string packagename = "global_npc";
try {
perl->eval_file(packagename.c_str(), filename.c_str());
@@ -1222,12 +1223,12 @@ int PerlembParser::LoadPlayerScript(const char *zone_name)
return 1;
}
string filename= "quests/";
std::string filename= "quests/";
filename += zone_name;
filename += "/player_v";
filename += itoa(zone->GetInstanceVersion());
filename += ".pl";
string packagename = "player";
std::string packagename = "player";
packagename += "_";
packagename += zone_name;
@@ -1294,10 +1295,10 @@ int PerlembParser::LoadGlobalPlayerScript()
return 1;
}
string filename = "quests/";
std::string filename = "quests/";
filename += QUEST_TEMPLATES_DIRECTORY;
filename += "/global_player.pl";
string packagename = "global_player";
std::string packagename = "global_player";
try {
perl->eval_file(packagename.c_str(), filename.c_str());
@@ -1314,7 +1315,7 @@ int PerlembParser::LoadGlobalPlayerScript()
return 1;
}
int PerlembParser::LoadItemScript(ItemInst* iteminst, string packagename, itemQuestMode Qtype) {
int PerlembParser::LoadItemScript(ItemInst* iteminst, std::string packagename, itemQuestMode Qtype) {
if(!perl)
return 0;
@@ -1327,7 +1328,7 @@ int PerlembParser::LoadItemScript(ItemInst* iteminst, string packagename, itemQu
if(itemQuestLoaded.count(packagename) == 1)
return 1;
string filename = "quests/items/";
std::string filename = "quests/items/";
if(Qtype == itemQuestScale)
filename += packagename;
else if(Qtype == itemQuestLore) {
@@ -1373,8 +1374,8 @@ int PerlembParser::LoadSpellScript(uint32 id)
if(spellQuestLoaded.count(id) == 1)
return 1;
string filename = "quests/spells/";
string packagename = "spell_effect_";
std::string filename = "quests/spells/";
std::string packagename = "spell_effect_";
filename += itoa(id);
packagename += itoa(id);
filename += ".pl";
@@ -1441,7 +1442,7 @@ bool PerlembParser::HasQuestSub(uint32 npcid, const char *subname) {
}
}
string packagename = GetPkgPrefix(npcid);
std::string packagename = GetPkgPrefix(npcid);
return(perl->SubExists(packagename.c_str(), subname));
}
@@ -1451,14 +1452,14 @@ bool PerlembParser::HasGlobalQuestSub(const char *subname) {
return(false);
}
string packagename = "global_npc";
std::string packagename = "global_npc";
return(perl->SubExists(packagename.c_str(), subname));
}
bool PerlembParser::PlayerHasQuestSub(const char *subname) {
string packagename = "player_";
std::string packagename = "player_";
packagename += zone->GetShortName();
if(playerQuestLoaded.count(zone->GetShortName()) == 0)
@@ -1472,7 +1473,7 @@ bool PerlembParser::PlayerHasQuestSub(const char *subname) {
bool PerlembParser::GlobalPlayerHasQuestSub(const char *subname) {
string packagename = "global_player";
std::string packagename = "global_player";
if(globalPlayerQuestLoaded == pQuestReadyToLoad)
LoadGlobalPlayerScript();
@@ -1485,7 +1486,7 @@ bool PerlembParser::GlobalPlayerHasQuestSub(const char *subname) {
bool PerlembParser::SpellHasQuestSub(uint32 id, const char *subname)
{
string packagename = "spell_effect_";
std::string packagename = "spell_effect_";
packagename += itoa(id);
if(spellQuestLoaded.count(id) == 0)
@@ -1496,7 +1497,7 @@ bool PerlembParser::SpellHasQuestSub(uint32 id, const char *subname)
bool PerlembParser::ItemHasQuestSub(ItemInst *itm, const char *subname)
{
string packagename;
std::string packagename;
const Item_Struct* item = itm->GetItem();
if(!item)
return false;