diff --git a/common/EQStream.cpp b/common/EQStream.cpp index 1c17c4871..3dd6c9d1a 100644 --- a/common/EQStream.cpp +++ b/common/EQStream.cpp @@ -1358,6 +1358,9 @@ void EQStream::CheckTimeout(uint32 now, uint32 timeout) { _log(NET__DEBUG, _L "Timeout expired in established state. Closing connection." __L); _SendDisconnect(); SetState(DISCONNECTING); + break; + default: + break; } } } diff --git a/common/MiscFunctions.h b/common/MiscFunctions.h index 55f11f735..98730c2d2 100644 --- a/common/MiscFunctions.h +++ b/common/MiscFunctions.h @@ -34,7 +34,7 @@ // #define VARSTRUCT_DECODE_TYPE(Type, Buffer) *(Type *)Buffer; Buffer += sizeof(Type); #define VARSTRUCT_DECODE_STRING(String, Buffer) strcpy(String, Buffer); Buffer += strlen(String)+1; -#define VARSTRUCT_ENCODE_STRING(Buffer, String) { sprintf(Buffer, String); Buffer += strlen(String) + 1; } +#define VARSTRUCT_ENCODE_STRING(Buffer, String) { sprintf(Buffer, "%s", String); Buffer += strlen(String) + 1; } #define VARSTRUCT_ENCODE_INTSTRING(Buffer, Number) { sprintf(Buffer, "%i", Number); Buffer += strlen(Buffer) + 1; } #define VARSTRUCT_ENCODE_TYPE(Type, Buffer, Value) { *(Type *)Buffer = Value; Buffer += sizeof(Type); } #define VARSTRUCT_SKIP_TYPE(Type, Buffer) Buffer += sizeof(Type); diff --git a/common/eqemu_exception.h b/common/eqemu_exception.h index 85086d1ad..1e888da85 100644 --- a/common/eqemu_exception.h +++ b/common/eqemu_exception.h @@ -95,11 +95,11 @@ namespace EQEmu */ const char* what() const throw() { return full_description().c_str(); } protected: - std::string name_; //!< Exception name - std::string desc_; //!< Exception Description mutable std::string full_desc_; //!< Full Exception Description - std::string file_; //!< File Name long line_; // *items_hash; EQEmu::MemoryMappedFile *faction_mmf; @@ -120,7 +121,6 @@ protected: EQEmu::FixedMemoryVariableHashSet *loot_table_hash; EQEmu::MemoryMappedFile *loot_drop_mmf; EQEmu::FixedMemoryVariableHashSet *loot_drop_hash; - EQEmu::MemoryMappedFile *skill_caps_mmf; }; #endif /*SHAREDDB_H_*/ diff --git a/eqlaunch/CMakeLists.txt b/eqlaunch/CMakeLists.txt index b1575a373..ef1c366ad 100644 --- a/eqlaunch/CMakeLists.txt +++ b/eqlaunch/CMakeLists.txt @@ -13,6 +13,8 @@ SET(eqlaunch_headers ADD_EXECUTABLE(eqlaunch ${eqlaunch_sources} ${eqlaunch_headers}) +INSTALL(TARGETS eqlaunch RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}) + TARGET_LINK_LIBRARIES(eqlaunch Common debug ${MySQL_LIBRARY_DEBUG} optimized ${MySQL_LIBRARY_RELEASE} ${ZLIB_LIBRARY}) IF(MSVC) diff --git a/loginserver/CMakeLists.txt b/loginserver/CMakeLists.txt index a3fad8335..7f2b25647 100644 --- a/loginserver/CMakeLists.txt +++ b/loginserver/CMakeLists.txt @@ -41,6 +41,8 @@ ENDIF(UNIX) ADD_EXECUTABLE(loginserver ${eqlogin_sources} ${eqlogin_headers}) +INSTALL(TARGETS loginserver RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}) + TARGET_LINK_LIBRARIES(loginserver Common debug ${MySQL_LIBRARY_DEBUG} optimized ${MySQL_LIBRARY_RELEASE}) IF(MSVC) diff --git a/queryserv/CMakeLists.txt b/queryserv/CMakeLists.txt index 9be9c7544..d63a7f814 100644 --- a/queryserv/CMakeLists.txt +++ b/queryserv/CMakeLists.txt @@ -17,6 +17,8 @@ SET(qserv_headers ADD_EXECUTABLE(queryserv ${qserv_sources} ${qserv_headers}) +INSTALL(TARGETS queryserv RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}) + ADD_DEFINITIONS(-DQSERV) TARGET_LINK_LIBRARIES(queryserv Common debug ${MySQL_LIBRARY_DEBUG} optimized ${MySQL_LIBRARY_RELEASE} ${ZLIB_LIBRARY}) diff --git a/shared_memory/CMakeLists.txt b/shared_memory/CMakeLists.txt index 2c665443c..01f79ec06 100644 --- a/shared_memory/CMakeLists.txt +++ b/shared_memory/CMakeLists.txt @@ -19,6 +19,8 @@ SET(shared_memory_headers ADD_EXECUTABLE(shared_memory ${shared_memory_sources} ${shared_memory_headers}) +INSTALL(TARGETS shared_memory RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}) + TARGET_LINK_LIBRARIES(shared_memory Common debug ${MySQL_LIBRARY_DEBUG} optimized ${MySQL_LIBRARY_RELEASE} ${ZLIB_LIBRARY}) IF(MSVC) diff --git a/ucs/CMakeLists.txt b/ucs/CMakeLists.txt index 8c86ab0d5..23ce4b781 100644 --- a/ucs/CMakeLists.txt +++ b/ucs/CMakeLists.txt @@ -19,6 +19,8 @@ SET(ucs_headers ADD_EXECUTABLE(ucs ${ucs_sources} ${ucs_headers}) +INSTALL(TARGETS ucs RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}) + ADD_DEFINITIONS(-DUCS) TARGET_LINK_LIBRARIES(ucs Common debug ${MySQL_LIBRARY_DEBUG} optimized ${MySQL_LIBRARY_RELEASE} ${ZLIB_LIBRARY}) diff --git a/world/AdventureManager.cpp b/world/AdventureManager.cpp index 5c69852d4..834b2b643 100644 --- a/world/AdventureManager.cpp +++ b/world/AdventureManager.cpp @@ -1280,8 +1280,8 @@ void AdventureManager::DoLeaderboardRequestWins(const char* player) strcpy((char*)pack->pBuffer, player); int place = -1; - int our_successes; - int our_failures; + int our_successes = 0; + int our_failures = 0; int i = 0; std::list::iterator iter = leaderboard_info_wins.begin(); while(i < 100 && iter != leaderboard_info_wins.end()) @@ -1347,8 +1347,8 @@ void AdventureManager::DoLeaderboardRequestPercentage(const char* player) strcpy((char*)pack->pBuffer, player); int place = -1; - int our_successes; - int our_failures; + int our_successes = 0; + int our_failures = 0; int i = 0; std::list::iterator iter = leaderboard_info_percentage.begin(); while(i < 100 && iter != leaderboard_info_percentage.end()) @@ -1414,8 +1414,8 @@ void AdventureManager::DoLeaderboardRequestWinsGuk(const char* player) strcpy((char*)pack->pBuffer, player); int place = -1; - int our_successes; - int our_failures; + int our_successes = 0; + int our_failures = 0; int i = 0; std::list::iterator iter = leaderboard_info_wins_guk.begin(); while(i < 100 && iter != leaderboard_info_wins_guk.end()) @@ -1481,8 +1481,8 @@ void AdventureManager::DoLeaderboardRequestPercentageGuk(const char* player) strcpy((char*)pack->pBuffer, player); int place = -1; - int our_successes; - int our_failures; + int our_successes = 0; + int our_failures = 0; int i = 0; std::list::iterator iter = leaderboard_info_percentage_guk.begin(); while(i < 100 && iter != leaderboard_info_percentage_guk.end()) @@ -1548,8 +1548,8 @@ void AdventureManager::DoLeaderboardRequestWinsMir(const char* player) strcpy((char*)pack->pBuffer, player); int place = -1; - int our_successes; - int our_failures; + int our_successes = 0; + int our_failures = 0; int i = 0; std::list::iterator iter = leaderboard_info_wins_mir.begin(); while(i < 100 && iter != leaderboard_info_wins_mir.end()) @@ -1615,8 +1615,8 @@ void AdventureManager::DoLeaderboardRequestPercentageMir(const char* player) strcpy((char*)pack->pBuffer, player); int place = -1; - int our_successes; - int our_failures; + int our_successes = 0; + int our_failures = 0; int i = 0; std::list::iterator iter = leaderboard_info_percentage_mir.begin(); while(i < 100 && iter != leaderboard_info_percentage_mir.end()) @@ -1682,8 +1682,8 @@ void AdventureManager::DoLeaderboardRequestWinsMmc(const char* player) strcpy((char*)pack->pBuffer, player); int place = -1; - int our_successes; - int our_failures; + int our_successes = 0; + int our_failures = 0; int i = 0; std::list::iterator iter = leaderboard_info_wins_mmc.begin(); while(i < 100 && iter != leaderboard_info_wins_mmc.end()) @@ -1749,8 +1749,8 @@ void AdventureManager::DoLeaderboardRequestPercentageMmc(const char* player) strcpy((char*)pack->pBuffer, player); int place = -1; - int our_successes; - int our_failures; + int our_successes = 0; + int our_failures = 0; int i = 0; std::list::iterator iter = leaderboard_info_percentage_mmc.begin(); while(i < 100 && iter != leaderboard_info_percentage_mmc.end()) @@ -1816,8 +1816,8 @@ void AdventureManager::DoLeaderboardRequestWinsRuj(const char* player) strcpy((char*)pack->pBuffer, player); int place = -1; - int our_successes; - int our_failures; + int our_successes = 0; + int our_failures = 0; int i = 0; std::list::iterator iter = leaderboard_info_wins_ruj.begin(); while(i < 100 && iter != leaderboard_info_wins_ruj.end()) @@ -1883,8 +1883,8 @@ void AdventureManager::DoLeaderboardRequestPercentageRuj(const char* player) strcpy((char*)pack->pBuffer, player); int place = -1; - int our_successes; - int our_failures; + int our_successes = 0; + int our_failures = 0; int i = 0; std::list::iterator iter = leaderboard_info_percentage_ruj.begin(); while(i < 100 && iter != leaderboard_info_percentage_ruj.end()) @@ -1950,8 +1950,8 @@ void AdventureManager::DoLeaderboardRequestWinsTak(const char* player) strcpy((char*)pack->pBuffer, player); int place = -1; - int our_successes; - int our_failures; + int our_successes = 0; + int our_failures = 0; int i = 0; std::list::iterator iter = leaderboard_info_wins_ruj.begin(); while(i < 100 && iter != leaderboard_info_wins_ruj.end()) @@ -2017,8 +2017,8 @@ void AdventureManager::DoLeaderboardRequestPercentageTak(const char* player) strcpy((char*)pack->pBuffer, player); int place = -1; - int our_successes; - int our_failures; + int our_successes = 0; + int our_failures = 0; int i = 0; std::list::iterator iter = leaderboard_info_percentage_tak.begin(); while(i < 100 && iter != leaderboard_info_percentage_tak.end()) diff --git a/world/CMakeLists.txt b/world/CMakeLists.txt index 6ab4e0383..ee2fe0a22 100644 --- a/world/CMakeLists.txt +++ b/world/CMakeLists.txt @@ -65,6 +65,8 @@ SET(world_headers ADD_EXECUTABLE(world ${world_sources} ${world_headers}) +INSTALL(TARGETS world RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}) + ADD_DEFINITIONS(-DWORLD) TARGET_LINK_LIBRARIES(world Common ${PERL_LIBRARY} debug ${MySQL_LIBRARY_DEBUG} optimized ${MySQL_LIBRARY_RELEASE} ${ZLIB_LIBRARY}) diff --git a/world/client.cpp b/world/client.cpp index 475df7a17..1b142b693 100644 --- a/world/client.cpp +++ b/world/client.cpp @@ -252,7 +252,7 @@ void Client::SendMembershipSettings() { Membership_Details_Struct* mds = (Membership_Details_Struct*)outapp->pBuffer; mds->membership_setting_count = 66; - uint32 gold_settings[22] = {-1,-1,-1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,1,1,1,1,1,-1,-1,0}; + int32 gold_settings[22] = {-1,-1,-1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,1,1,1,1,1,-1,-1,0}; uint32 entry_count = 0; for (int setting_id=0; setting_id < 22; setting_id++) { @@ -1578,7 +1578,7 @@ bool CheckCharCreateInfoSoF(CharCreate_Struct *cc) uint32 max_stats = 0; uint32 allocs = character_create_allocations.size(); - RaceClassAllocation allocation; + RaceClassAllocation allocation = {0}; found = false; for(int i = 0; i < combos; ++i) { if(character_create_allocations[i].Index == class_combo.AllocationIndex) { diff --git a/zone/CMakeLists.txt b/zone/CMakeLists.txt index 2e459e33e..ccba19144 100644 --- a/zone/CMakeLists.txt +++ b/zone/CMakeLists.txt @@ -154,6 +154,8 @@ SET(zone_headers ADD_EXECUTABLE(zone ${zone_sources} ${zone_headers}) +INSTALL(TARGETS zone RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}) + ADD_DEFINITIONS(-DZONE) TARGET_LINK_LIBRARIES(zone Common ${PERL_LIBRARY} debug ${MySQL_LIBRARY_DEBUG} optimized ${MySQL_LIBRARY_RELEASE} ${ZLIB_LIBRARY}) diff --git a/zone/attack.cpp b/zone/attack.cpp index 7d428d6f8..2bf8309f5 100644 --- a/zone/attack.cpp +++ b/zone/attack.cpp @@ -1424,7 +1424,7 @@ void Client::Death(Mob* killerMob, int32 damage, uint16 spell, SkillType attack_ if(dead) return; //cant die more than once... - int exploss; + int exploss = 0; mlog(COMBAT__HITS, "Fatal blow dealt by %s with %d damage, spell %d, skill %d", killerMob ? killerMob->GetName() : "Unknown", damage, spell, attack_skill); diff --git a/zone/client.cpp b/zone/client.cpp index 8779246c0..cacc19ab2 100644 --- a/zone/client.cpp +++ b/zone/client.cpp @@ -7375,10 +7375,12 @@ FACTION_VALUE Client::GetFactionLevel(uint32 char_id, uint32 npc_id, uint32 p_ra if (IsInvisible(tnpc)) return FACTION_INDIFFERENT; if (tnpc && tnpc->GetOwnerID() != 0) // pets con amiably to owner and indiff to rest + { if (char_id == tnpc->GetOwner()->CastToClient()->CharacterID()) return FACTION_AMIABLE; else return FACTION_INDIFFERENT; + } //First get the NPC's Primary faction if(pFaction > 0) diff --git a/zone/client_logs.cpp b/zone/client_logs.cpp index 8961ac991..66bfbf893 100644 --- a/zone/client_logs.cpp +++ b/zone/client_logs.cpp @@ -128,7 +128,7 @@ void ClientLogs::EQEmuIO_pva(EQEMuLog::LogIDs id, const char *prefix, const char if(fmt[0] == '\n' || fmt[0] == '\r') return; //skip new lines... char *buf = _buffer; - int plen = snprintf(buf, MAX_CLIENT_LOG_MESSAGE_LENGTH, prefix); + int plen = snprintf(buf, MAX_CLIENT_LOG_MESSAGE_LENGTH, "%s", prefix); buf += plen; vsnprintf(buf, MAX_CLIENT_LOG_MESSAGE_LENGTH-plen, fmt, ap); _buffer[MAX_CLIENT_LOG_MESSAGE_LENGTH] = '\0'; diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index adc7ca95e..133f5caa6 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -3899,7 +3899,7 @@ void Client::Handle_OP_LDoNInspect(const EQApplicationPacket *app) void Client::Handle_OP_Dye(const EQApplicationPacket *app) { if(app->size!=sizeof(DyeStruct)) - printf("Wrong size of DyeStruct, Got: %i, Expected: %lu\n",app->size,sizeof(DyeStruct)); + printf("Wrong size of DyeStruct, Got: %i, Expected: %i\n",app->size,sizeof(DyeStruct)); else{ DyeStruct* dye = (DyeStruct*)app->pBuffer; DyeArmor(dye); @@ -3970,7 +3970,7 @@ void Client::Handle_OP_GuildPublicNote(const EQApplicationPacket *app) if (app->size < sizeof(GuildUpdate_PublicNote)) { // client calls for a motd on login even if they arent in a guild - printf("Error: app size of %i < size of OP_GuildPublicNote of %lu\n",app->size,sizeof(GuildUpdate_PublicNote)); + printf("Error: app size of %i < size of OP_GuildPublicNote of %i\n",app->size,sizeof(GuildUpdate_PublicNote)); return; } GuildUpdate_PublicNote* gpn=(GuildUpdate_PublicNote*)app->pBuffer; @@ -4028,7 +4028,7 @@ void Client::Handle_OP_SetGuildMOTD(const EQApplicationPacket *app) if (app->size != sizeof(GuildMOTD_Struct)) { // client calls for a motd on login even if they arent in a guild - printf("Error: app size of %i != size of GuildMOTD_Struct of %lu\n",app->size,sizeof(GuildMOTD_Struct)); + printf("Error: app size of %i != size of GuildMOTD_Struct of %i\n",app->size,sizeof(GuildMOTD_Struct)); return; } if(!IsInAGuild()) { @@ -5007,7 +5007,7 @@ void Client::Handle_OP_TradeAcceptClick(const EQApplicationPacket *app) EQApplicationPacket* outapp = new EQApplicationPacket(OP_FinishTrade, 0); QueuePacket(outapp); safe_delete(outapp); - if(with->IsNPC()) + if(with->IsNPC()) { // Audit trade to database for player trade stream if(RuleB(QueryServ, PlayerLogHandins)) { uint16 handin_count = 0; @@ -5027,6 +5027,7 @@ void Client::Handle_OP_TradeAcceptClick(const EQApplicationPacket *app) else { FinishTrade(with->CastToNPC()); } + } #ifdef BOTS else if(with->IsBot()) with->CastToBot()->FinishTrade(this, Bot::BotTradeClientNormal); @@ -6935,7 +6936,7 @@ void Client::Handle_OP_DeleteSpell(const EQApplicationPacket *app) void Client::Handle_OP_LoadSpellSet(const EQApplicationPacket *app) { if(app->size!=sizeof(LoadSpellSet_Struct)) { - printf("Wrong size of LoadSpellSet_Struct! Expected: %lu, Got: %i\n",sizeof(LoadSpellSet_Struct),app->size); + printf("Wrong size of LoadSpellSet_Struct! Expected: %i, Got: %i\n",sizeof(LoadSpellSet_Struct),app->size); return; } int i; @@ -6950,7 +6951,7 @@ void Client::Handle_OP_LoadSpellSet(const EQApplicationPacket *app) void Client::Handle_OP_PetitionBug(const EQApplicationPacket *app) { if(app->size!=sizeof(PetitionBug_Struct)) - printf("Wrong size of BugStruct! Expected: %lu, Got: %i\n",sizeof(PetitionBug_Struct),app->size); + printf("Wrong size of BugStruct! Expected: %i, Got: %i\n",sizeof(PetitionBug_Struct),app->size); else{ Message(0, "Petition Bugs are not supported, please use /bug."); } @@ -6960,7 +6961,7 @@ void Client::Handle_OP_PetitionBug(const EQApplicationPacket *app) void Client::Handle_OP_Bug(const EQApplicationPacket *app) { if(app->size!=sizeof(BugStruct)) - printf("Wrong size of BugStruct got %d expected %lu!\n", app->size, sizeof(BugStruct)); + printf("Wrong size of BugStruct got %d expected %i!\n", app->size, sizeof(BugStruct)); else{ BugStruct* bug=(BugStruct*)app->pBuffer; database.UpdateBug(bug); @@ -8356,7 +8357,7 @@ void Client::Handle_OP_OpenTributeMaster(const EQApplicationPacket *app) _pkt(TRIBUTE__IN, app); if(app->size != sizeof(StartTribute_Struct)) - printf("Error in OP_OpenTributeMaster. Expected size of: %lu, but got: %i\n",sizeof(StartTribute_Struct),app->size); + printf("Error in OP_OpenTributeMaster. Expected size of: %i, but got: %i\n",sizeof(StartTribute_Struct),app->size); else { //Opens the tribute master window StartTribute_Struct* st = (StartTribute_Struct*)app->pBuffer; @@ -8381,7 +8382,7 @@ void Client::Handle_OP_OpenGuildTributeMaster(const EQApplicationPacket *app) _pkt(TRIBUTE__IN, app); if(app->size != sizeof(StartTribute_Struct)) - printf("Error in OP_OpenGuildTributeMaster. Expected size of: %lu, but got: %i\n",sizeof(StartTribute_Struct),app->size); + printf("Error in OP_OpenGuildTributeMaster. Expected size of: %i, but got: %i\n",sizeof(StartTribute_Struct),app->size); else { //Opens the guild tribute master window StartTribute_Struct* st = (StartTribute_Struct*)app->pBuffer; @@ -8407,7 +8408,7 @@ void Client::Handle_OP_TributeItem(const EQApplicationPacket *app) //player donates an item... if(app->size != sizeof(TributeItem_Struct)) - printf("Error in OP_TributeItem. Expected size of: %lu, but got: %i\n",sizeof(StartTribute_Struct),app->size); + printf("Error in OP_TributeItem. Expected size of: %i, but got: %i\n",sizeof(StartTribute_Struct),app->size); else { TributeItem_Struct* t = (TributeItem_Struct*)app->pBuffer; @@ -8436,7 +8437,7 @@ void Client::Handle_OP_TributeMoney(const EQApplicationPacket *app) //player donates money if(app->size != sizeof(TributeMoney_Struct)) - printf("Error in OP_TributeMoney. Expected size of: %lu, but got: %i\n",sizeof(StartTribute_Struct),app->size); + printf("Error in OP_TributeMoney. Expected size of: %i, but got: %i\n",sizeof(StartTribute_Struct),app->size); else { TributeMoney_Struct* t = (TributeMoney_Struct*)app->pBuffer; @@ -8584,7 +8585,7 @@ void Client::Handle_OP_Ignore(const EQApplicationPacket *app) void Client::Handle_OP_FindPersonRequest(const EQApplicationPacket *app) { if(app->size != sizeof(FindPersonRequest_Struct)) - printf("Error in FindPersonRequest_Struct. Expected size of: %lu, but got: %i\n",sizeof(FindPersonRequest_Struct),app->size); + printf("Error in FindPersonRequest_Struct. Expected size of: %i, but got: %i\n",sizeof(FindPersonRequest_Struct),app->size); else { FindPersonRequest_Struct* t = (FindPersonRequest_Struct*)app->pBuffer; diff --git a/zone/command.cpp b/zone/command.cpp index 66fbcaf9e..b08fe3104 100644 --- a/zone/command.cpp +++ b/zone/command.cpp @@ -1759,10 +1759,12 @@ void command_timezone(Client *c, const Seperator *sep) c->Message(13, "Current timezone is: %ih %im", zone->zone_time.getEQTimeZoneHr(), zone->zone_time.getEQTimeZoneMin()); } else { - if(sep->arg[2]=="") - strcpy(sep->arg[2], "0"); - c->Message(13, "Setting timezone to %s h %s m", sep->arg[1], sep->arg[2]); - uint32 ntz=(atoi(sep->arg[1])*60)+atoi(sep->arg[2]); + uint8 hours = atoi(sep->arg[1]); + uint8 minutes = atoi(sep->arg[2]); + if(!sep->IsNumber(2)) + minutes = 0; + c->Message(13, "Setting timezone to %i h %i m", hours, minutes); + uint32 ntz=(hours*60)+minutes; zone->zone_time.setEQTimeZone(ntz); database.SetZoneTZ(zone->GetZoneID(), zone->GetInstanceVersion(), ntz); @@ -3897,7 +3899,7 @@ void command_fixmob(Client *c, const Seperator *sep) { uint32 Adjustment = 1; // Previous or Next - char codeMove; + char codeMove = 0; if (sep->arg[2]) { diff --git a/zone/embparser.cpp b/zone/embparser.cpp index 4a8a22be9..26592007a 100644 --- a/zone/embparser.cpp +++ b/zone/embparser.cpp @@ -1465,7 +1465,7 @@ bool PerlembParser::PlayerHasQuestSub(const char *subname) { if(playerQuestLoaded.count(zone->GetShortName()) == 0) LoadPlayerScript(zone->GetShortName()); - if(subname == "EVENT_CAST") + if(strcmp("EVENT_CAST",subname) == 0) return (playerQuestLoaded[zone->GetShortName()] == pQuestEventCast); return(perl->SubExists(packagename.c_str(), subname)); @@ -1478,7 +1478,7 @@ bool PerlembParser::GlobalPlayerHasQuestSub(const char *subname) { if(globalPlayerQuestLoaded == pQuestReadyToLoad) LoadGlobalPlayerScript(); - if(subname == "EVENT_CAST") + if(strcmp("EVENT_CAST",subname) == 0) return (globalPlayerQuestLoaded == pQuestEventCast); return(perl->SubExists(packagename.c_str(), subname)); diff --git a/zone/entity.cpp b/zone/entity.cpp index 904f6e663..77da69c05 100644 --- a/zone/entity.cpp +++ b/zone/entity.cpp @@ -1486,11 +1486,13 @@ void EntityList::RemoveFromTargets(Mob* mob, bool RemoveFromXTargets) m->RemoveFromHateList(mob); if(RemoveFromXTargets) + { if(m->IsClient()) m->CastToClient()->RemoveXTarget(mob, false); // FadingMemories calls this function passing the client. else if(mob->IsClient()) mob->CastToClient()->RemoveXTarget(m, false); + } } } diff --git a/zone/merc.cpp b/zone/merc.cpp index 5053736aa..0e652ff5a 100644 --- a/zone/merc.cpp +++ b/zone/merc.cpp @@ -5063,7 +5063,7 @@ Merc* Merc::LoadMerc(Client *c, MercTemplate* merc_template, uint32 merchant_id, snprintf(c->GetEPP().merc_name, 64, "%s", c->GetMercInfo().merc_name); snprintf(npc_type->name, 64, "%s", c->GetMercInfo().merc_name); } - uint8 gender; + uint8 gender = 0; if(merchant_id > 0) { NPC* tar = entity_list.GetNPCByID(merchant_id); if(tar) { @@ -5587,7 +5587,7 @@ bool Merc::Suspend() { } bool Merc::Unsuspend(bool setMaxStats) { - Client* mercOwner; + Client* mercOwner = nullptr; bool loaded = false; if(GetMercOwner()) { diff --git a/zone/mob.cpp b/zone/mob.cpp index 1296e16a3..33560ed55 100644 --- a/zone/mob.cpp +++ b/zone/mob.cpp @@ -92,13 +92,13 @@ Mob::Mob(const char* in_name, mana_timer(2000), spellend_timer(0), rewind_timer(30000), //Timer used for determining amount of time between actual player position updates for /rewind. + bindwound_timer(10000), stunned_timer(0), spun_timer(0), bardsong_timer(6000), - flee_timer(FLEE_CHECK_TIMER), - bindwound_timer(10000), gravity_timer(1000), - viral_timer(0) + viral_timer(0), + flee_timer(FLEE_CHECK_TIMER) { targeted = 0; @@ -879,7 +879,7 @@ void Mob::FillSpawnStruct(NewSpawn_Struct* ns, Mob* ForWho) // Changing the first string made it vanish, so it has some significance. if(lastname) - sprintf(ns->spawn.DestructibleModel, lastname); + sprintf(ns->spawn.DestructibleModel, "%s", lastname); // Changing the second string made no visible difference sprintf(ns->spawn.DestructibleName2, "%s", ns->spawn.name); // Putting a string in the final one that was previously empty had no visible effect. diff --git a/zone/mob.h b/zone/mob.h index ad29d3423..985e42256 100644 --- a/zone/mob.h +++ b/zone/mob.h @@ -969,11 +969,6 @@ protected: Timer tic_timer; Timer mana_timer; - float rewind_x; - float rewind_y; - float rewind_z; - Timer rewind_timer; - //spell casting vars Timer spellend_timer; uint16 casting_spell_id; @@ -992,6 +987,11 @@ protected: uint8 bardsong_slot; uint32 bardsong_target_id; + float rewind_x; + float rewind_y; + float rewind_z; + Timer rewind_timer; + // Currently 3 max nimbus particle effects at a time uint32 nimbus_effect1; uint32 nimbus_effect2; @@ -1026,6 +1026,10 @@ protected: int16 rooted_mod; //Modifier to root break chance, defined when root is cast on a target. bool offhand; + // Bind wound + Timer bindwound_timer; + Mob* bindwound_target; + Timer stunned_timer; Timer spun_timer; Timer bardsong_timer; @@ -1108,9 +1112,6 @@ protected: uint32 pDontSnareMeBefore; uint32 pDontCureMeBefore; - // Bind wound - Timer bindwound_timer; - Mob* bindwound_target; // hp event int nexthpevent; int nextinchpevent; diff --git a/zone/npc.cpp b/zone/npc.cpp index d7a3fefea..f163743c3 100644 --- a/zone/npc.cpp +++ b/zone/npc.cpp @@ -110,10 +110,10 @@ NPC::NPC(const NPCType* d, Spawn2* in_respawn, float x, float y, float z, float classattack_timer(1000), knightattack_timer(1000), assist_timer(AIassistcheck_delay), + qglobal_purge_timer(30000), sendhpupdate_timer(1000), enraged_timer(1000), - taunt_timer(TauntReuseTime * 1000), - qglobal_purge_timer(30000) + taunt_timer(TauntReuseTime * 1000) { //What is the point of this, since the names get mangled.. Mob* mob = entity_list.GetMob(name); diff --git a/zone/spawngroup.cpp b/zone/spawngroup.cpp index 790be6ef1..29e82d028 100644 --- a/zone/spawngroup.cpp +++ b/zone/spawngroup.cpp @@ -130,7 +130,7 @@ void SpawnGroupList::AddSpawnGroup(SpawnGroup* newGroup) { SpawnGroup* SpawnGroupList::GetSpawnGroup(uint32 in_id) { if(groups.count(in_id) != 1) - return(false); + return nullptr; return(groups[in_id]); } diff --git a/zone/special_attacks.cpp b/zone/special_attacks.cpp index 4950e3b35..4d4d07562 100644 --- a/zone/special_attacks.cpp +++ b/zone/special_attacks.cpp @@ -75,17 +75,20 @@ void Mob::ApplySpecialAttackMod(SkillType skill, int32 &dmg, int32 &mindmg) { case ROUND_KICK: case KICK: item_slot = SLOT_FEET; - break; + break; case BASH: item_slot = SLOT_SECONDARY; - break; + break; case DRAGON_PUNCH: case EAGLE_STRIKE: case TIGER_CLAW: item_slot = SLOT_HANDS; - break; + break; + + default: + break; } if (item_slot >= 0){ diff --git a/zone/spell_effects.cpp b/zone/spell_effects.cpp index d4ba42cc7..ad858a11c 100644 --- a/zone/spell_effects.cpp +++ b/zone/spell_effects.cpp @@ -4488,12 +4488,13 @@ int16 Mob::CalcFocusEffect(focusType type, uint16 focus_id, uint16 spell_id, boo case SE_TriggerOnCast: { if(type == focusTriggerOnCast) - + { if(MakeRandomInt(0, 100) <= focus_spell.base[i]) value = focus_spell.base2[i]; else value = 0; + } break; } @@ -5106,7 +5107,7 @@ bool Mob::TryDivineSave() { SetHP(1); - uint16 EffectsToTry[] = + int16 EffectsToTry[] = { aabonuses.DivineSaveChance[1], itembonuses.DivineSaveChance[1], diff --git a/zone/tasks.cpp b/zone/tasks.cpp index 888331e1e..eec66e57e 100644 --- a/zone/tasks.cpp +++ b/zone/tasks.cpp @@ -2483,10 +2483,8 @@ void ClientTaskState::SendTaskHistory(Client *c, int TaskIndex) { thd1 = (TaskHistoryReplyData1_Struct*)Ptr; thd1->ActivityType = Task->Activity[i].Type; Ptr = (char *)thd1 + sizeof(TaskHistoryReplyData1_Struct); - sprintf(Ptr, Task->Activity[i].Text1); - Ptr = Ptr + strlen(Ptr) + 1; - sprintf(Ptr, Task->Activity[i].Text2); - Ptr = Ptr + strlen(Ptr) + 1; + VARSTRUCT_ENCODE_STRING(Ptr, Task->Activity[i].Text1); + VARSTRUCT_ENCODE_STRING(Ptr, Task->Activity[i].Text2); thd2 = (TaskHistoryReplyData2_Struct*)Ptr; thd2->GoalCount = Task->Activity[i].GoalCount; thd2->unknown04 = 0xffffffff; @@ -2494,8 +2492,7 @@ void ClientTaskState::SendTaskHistory(Client *c, int TaskIndex) { thd2->ZoneID = Task->Activity[i].ZoneID; thd2->unknown16 = 0x00000000; Ptr = (char *)thd2 + sizeof(TaskHistoryReplyData2_Struct); - sprintf(Ptr, Task->Activity[i].Text3); - Ptr = Ptr + strlen(Ptr) + 1; + VARSTRUCT_ENCODE_STRING(Ptr, Task->Activity[i].Text3); } } diff --git a/zone/trading.cpp b/zone/trading.cpp index 66581dd17..c0e5bd89f 100644 --- a/zone/trading.cpp +++ b/zone/trading.cpp @@ -2144,7 +2144,7 @@ void Client::ShowBuyLines(const EQApplicationPacket *app) { // This packet produces the SoandSo is browsing your Buy Lines message bb->Action = Barter_SellerBrowsing; - sprintf(bb->PlayerName, GetName()); + sprintf(bb->PlayerName, "%s", GetName()); Buyer->QueuePacket(outapp); @@ -2710,7 +2710,7 @@ void Client::BuyerItemSearch(const EQApplicationPacket *app) { pdest = strstr(Name, Criteria); if (pdest != nullptr) { - sprintf(bisr->Results[Count].ItemName, item->Name); + sprintf(bisr->Results[Count].ItemName, "%s", item->Name); bisr->Results[Count].ItemID = item->ID; bisr->Results[Count].Unknown068 = item->Icon; bisr->Results[Count].Unknown072 = 0x00000000; diff --git a/zone/zoning.cpp b/zone/zoning.cpp index 93b7cb0cc..7daea8e65 100644 --- a/zone/zoning.cpp +++ b/zone/zoning.cpp @@ -94,6 +94,8 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) { return; } break; + default: + break; }; } else { @@ -247,6 +249,8 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) { LogFile->write(EQEMuLog::Error, "Zoning %s: Invalid unsolicited zone request to zone id '%s'. Not near a zone point.", GetName(), target_zone_name); SendZoneCancel(zc); return; + default: + break; }; //OK, now we should know where were going...