Updated rest of game stuff

This commit is contained in:
tomrus88 2008-10-26 10:25:08 +03:00
parent c2f65a01c1
commit df09909ec5
10 changed files with 115 additions and 61 deletions

View file

@ -745,3 +745,9 @@ void WorldSession::HandleAuctionListItems( WorldPacket & recv_data )
data << (uint32) 300; // unk 2.3.0 const? data << (uint32) 300; // unk 2.3.0 const?
SendPacket(&data); SendPacket(&data);
} }
void WorldSession::HandleAuctionListPendingSales( WorldPacket & recv_data )
{
sLog.outDebug("CMSG_AUCTION_LIST_PENDING_SALES");
recv_data.hexlike();
}

View file

@ -422,10 +422,12 @@ void PlayerMenu::SendQuestGiverQuestDetails( Quest const *pQuest, uint64 npcGUID
} }
data << uint64(npcGUID); data << uint64(npcGUID);
data << uint64(0); // wotlk
data << uint32(pQuest->GetQuestId()); data << uint32(pQuest->GetQuestId());
data << Title << Details << Objectives; data << Title << Details << Objectives;
data << uint32(ActivateAccept); data << uint32(ActivateAccept);
data << uint32(pQuest->GetSuggestedPlayers()); data << uint32(pQuest->GetSuggestedPlayers());
data << uint8(0); // new wotlk
if (pQuest->HasFlag(QUEST_FLAGS_HIDDEN_REWARDS)) if (pQuest->HasFlag(QUEST_FLAGS_HIDDEN_REWARDS))
{ {
@ -470,6 +472,7 @@ void PlayerMenu::SendQuestGiverQuestDetails( Quest const *pQuest, uint64 npcGUID
data << uint32(pQuest->GetRewSpell()); // reward spell, this spell will display (icon) (casted if RewSpellCast==0) data << uint32(pQuest->GetRewSpell()); // reward spell, this spell will display (icon) (casted if RewSpellCast==0)
data << uint32(pQuest->GetRewSpellCast()); // casted spell data << uint32(pQuest->GetRewSpellCast()); // casted spell
data << uint32(pQuest->GetCharTitleId()); // CharTitleId, new 2.4.0, player gets this title (id from CharTitles) data << uint32(pQuest->GetCharTitleId()); // CharTitleId, new 2.4.0, player gets this title (id from CharTitles)
data << uint32(0); // new wotlk
data << uint32(QUEST_EMOTE_COUNT); data << uint32(QUEST_EMOTE_COUNT);
for (uint32 i=0; i < QUEST_EMOTE_COUNT; i++) for (uint32 i=0; i < QUEST_EMOTE_COUNT; i++)
@ -546,6 +549,8 @@ void PlayerMenu::SendQuestQueryResponse( Quest const *pQuest )
data << uint32(pQuest->GetSrcItemId()); data << uint32(pQuest->GetSrcItemId());
data << uint32(pQuest->GetFlags() & 0xFFFF); data << uint32(pQuest->GetFlags() & 0xFFFF);
data << uint32(pQuest->GetCharTitleId()); // CharTitleId, new 2.4.0, player gets this title (id from CharTitles) data << uint32(pQuest->GetCharTitleId()); // CharTitleId, new 2.4.0, player gets this title (id from CharTitles)
data << uint32(0); // added in WotLK, dunno if it's correct offset (build 8391)
data << uint32(0); // added in WotLK, dunno if it's correct offset (build 8471)
int iI; int iI;
@ -594,6 +599,7 @@ void PlayerMenu::SendQuestQueryResponse( Quest const *pQuest )
data << uint32(pQuest->ReqCreatureOrGOCount[iI]); data << uint32(pQuest->ReqCreatureOrGOCount[iI]);
data << uint32(pQuest->ReqItemId[iI]); data << uint32(pQuest->ReqItemId[iI]);
data << uint32(pQuest->ReqItemCount[iI]); data << uint32(pQuest->ReqItemCount[iI]);
data << uint32(0); // added in WotLK, dunno if offset if correct
} }
for (iI = 0; iI < QUEST_OBJECTIVES_COUNT; iI++) for (iI = 0; iI < QUEST_OBJECTIVES_COUNT; iI++)
@ -682,7 +688,8 @@ void PlayerMenu::SendQuestGiverOfferReward( Quest const* pQuest, uint64 npcGUID,
data << uint32(0x08); // unused by client? data << uint32(0x08); // unused by client?
data << uint32(pQuest->GetRewSpell()); // reward spell, this spell will display (icon) (casted if RewSpellCast==0) data << uint32(pQuest->GetRewSpell()); // reward spell, this spell will display (icon) (casted if RewSpellCast==0)
data << uint32(pQuest->GetRewSpellCast()); // casted spell data << uint32(pQuest->GetRewSpellCast()); // casted spell
data << uint32(0x00); // unk, NOT honor data << uint32(0); // Honor points reward, not implemented
data << uint32(0); // new wotlk
pSession->SendPacket( &data ); pSession->SendPacket( &data );
sLog.outDebug( "WORLD: Sent SMSG_QUESTGIVER_OFFER_REWARD NPCGuid=%u, questid=%u",GUID_LOPART(npcGUID),pQuest->GetQuestId() ); sLog.outDebug( "WORLD: Sent SMSG_QUESTGIVER_OFFER_REWARD NPCGuid=%u, questid=%u",GUID_LOPART(npcGUID),pQuest->GetQuestId() );
} }

View file

@ -1053,8 +1053,8 @@ bool ChatHandler::HandleTurnObjectCommand(const char* args)
obj->Relocate(obj->GetPositionX(), obj->GetPositionY(), obj->GetPositionZ(), o); obj->Relocate(obj->GetPositionX(), obj->GetPositionY(), obj->GetPositionZ(), o);
obj->SetFloatValue(GAMEOBJECT_FACING, o); obj->SetFloatValue(GAMEOBJECT_FACING, o);
obj->SetFloatValue(GAMEOBJECT_ROTATION+2, rot2); obj->SetFloatValue(GAMEOBJECT_PARENTROTATION+2, rot2);
obj->SetFloatValue(GAMEOBJECT_ROTATION+3, rot3); obj->SetFloatValue(GAMEOBJECT_PARENTROTATION+3, rot3);
map->Add(obj); map->Add(obj);

View file

@ -4375,6 +4375,7 @@ bool ChatHandler::HandleResetLevelCommand(const char * args)
player->SetLevel(1); player->SetLevel(1);
player->InitStatsForLevel(true); player->InitStatsForLevel(true);
player->InitTaxiNodesForLevel(); player->InitTaxiNodesForLevel();
player->InitGlyphsForLevel();
player->InitTalentForLevel(); player->InitTalentForLevel();
player->SetUInt32Value(PLAYER_XP,0); player->SetUInt32Value(PLAYER_XP,0);
@ -4418,6 +4419,7 @@ bool ChatHandler::HandleResetStatsCommand(const char * args)
player->InitStatsForLevel(true); player->InitStatsForLevel(true);
player->InitTaxiNodesForLevel(); player->InitTaxiNodesForLevel();
player->InitGlyphsForLevel();
player->InitTalentForLevel(); player->InitTalentForLevel();
return true; return true;

View file

@ -591,7 +591,7 @@ void WorldSession::HandleGetMail(WorldPacket & recv_data )
data << (uint32) (*itr)->mailTemplateId; // mail template (MailTemplate.dbc) data << (uint32) (*itr)->mailTemplateId; // mail template (MailTemplate.dbc)
data << (*itr)->subject; // Subject string - once 00, when mail type = 3 data << (*itr)->subject; // Subject string - once 00, when mail type = 3
data << (uint8) item_count; data << (uint8) item_count; // client limit is 0x10
for(uint8 i = 0; i < item_count; ++i) for(uint8 i = 0; i < item_count; ++i)
{ {
@ -602,7 +602,7 @@ void WorldSession::HandleGetMail(WorldPacket & recv_data )
data << (uint32) (item ? item->GetGUIDLow() : 0); data << (uint32) (item ? item->GetGUIDLow() : 0);
// entry // entry
data << (uint32) (item ? item->GetEntry() : 0); data << (uint32) (item ? item->GetEntry() : 0);
for(uint8 j = 0; j < 6; ++j) for(uint8 j = 0; j < 7; ++j)
{ {
// unsure // unsure
data << (uint32) (item ? item->GetEnchantmentCharges((EnchantmentSlot)j) : 0); data << (uint32) (item ? item->GetEnchantmentCharges((EnchantmentSlot)j) : 0);
@ -616,13 +616,15 @@ void WorldSession::HandleGetMail(WorldPacket & recv_data )
// unk // unk
data << (uint32) (item ? item->GetItemSuffixFactor() : 0); data << (uint32) (item ? item->GetItemSuffixFactor() : 0);
// stack count // stack count
data << (uint8) (item ? item->GetCount() : 0); data << (uint32) (item ? item->GetCount() : 0);
// charges // charges
data << (uint32) (item ? item->GetSpellCharges() : 0); data << (uint32) (item ? item->GetSpellCharges() : 0);
// durability // durability
data << (uint32) (item ? item->GetUInt32Value(ITEM_FIELD_MAXDURABILITY) : 0); data << (uint32) (item ? item->GetUInt32Value(ITEM_FIELD_MAXDURABILITY) : 0);
// durability // durability
data << (uint32) (item ? item->GetUInt32Value(ITEM_FIELD_DURABILITY) : 0); data << (uint32) (item ? item->GetUInt32Value(ITEM_FIELD_DURABILITY) : 0);
// unknown wotlk
data << (uint8) 0;
} }
mails_count += 1; mails_count += 1;

View file

@ -42,7 +42,7 @@
#define MAX_GRID_LOAD_TIME 50 #define MAX_GRID_LOAD_TIME 50
// magic *.map header // magic *.map header
const char MAP_MAGIC[] = "MAP_2.00"; const char MAP_MAGIC[] = "MAP_2.01";
GridState* si_GridStates[MAX_GRID_STATE]; GridState* si_GridStates[MAX_GRID_STATE];

View file

@ -76,7 +76,8 @@ enum Classes
#define CLASSMASK_ALL_PLAYABLE \ #define CLASSMASK_ALL_PLAYABLE \
((1<<(CLASS_WARRIOR-1))|(1<<(CLASS_PALADIN-1))|(1<<(CLASS_HUNTER-1))| \ ((1<<(CLASS_WARRIOR-1))|(1<<(CLASS_PALADIN-1))|(1<<(CLASS_HUNTER-1))| \
(1<<(CLASS_ROGUE-1)) |(1<<(CLASS_PRIEST-1)) |(1<<(CLASS_SHAMAN-1))| \ (1<<(CLASS_ROGUE-1)) |(1<<(CLASS_PRIEST-1)) |(1<<(CLASS_SHAMAN-1))| \
(1<<(CLASS_MAGE-1)) |(1<<(CLASS_WARLOCK-1))|(1<<(CLASS_DRUID-1)) ) (1<<(CLASS_MAGE-1)) |(1<<(CLASS_WARLOCK-1))|(1<<(CLASS_DRUID-1)) | \
(1<<(CLASS_DEATH_KNIGHT-1)) )
#define CLASSMASK_WAND_USERS ((1<<(CLASS_PRIEST-1))|(1<<(CLASS_MAGE-1))|(1<<(CLASS_WARLOCK-1))) #define CLASSMASK_WAND_USERS ((1<<(CLASS_PRIEST-1))|(1<<(CLASS_MAGE-1))|(1<<(CLASS_WARLOCK-1)))
@ -122,11 +123,12 @@ enum Powers
POWER_FOCUS = 2, POWER_FOCUS = 2,
POWER_ENERGY = 3, POWER_ENERGY = 3,
POWER_HAPPINESS = 4, POWER_HAPPINESS = 4,
POWER_RUNES = 5, POWER_RUNE = 5,
POWER_RUNIC_POWER = 6,
POWER_HEALTH = 0xFFFFFFFE // (-2 as signed value) POWER_HEALTH = 0xFFFFFFFE // (-2 as signed value)
}; };
#define MAX_POWERS 5 // not count POWER_RUNES for now #define MAX_POWERS 7
enum SpellSchools enum SpellSchools
{ {
@ -187,10 +189,11 @@ enum ItemQualities
ITEM_QUALITY_RARE = 3, //BLUE ITEM_QUALITY_RARE = 3, //BLUE
ITEM_QUALITY_EPIC = 4, //PURPLE ITEM_QUALITY_EPIC = 4, //PURPLE
ITEM_QUALITY_LEGENDARY = 5, //ORANGE ITEM_QUALITY_LEGENDARY = 5, //ORANGE
ITEM_QUALITY_ARTIFACT = 6 //LIGHT YELLOW ITEM_QUALITY_ARTIFACT = 6, //LIGHT YELLOW
ITEM_QUALITY_HEIRLOOM = 7
}; };
#define MAX_ITEM_QUALITY 7 #define MAX_ITEM_QUALITY 8
// *********************************** // ***********************************
// Spell Attributes definitions // Spell Attributes definitions
@ -578,7 +581,7 @@ enum SpellEffects
SPELL_EFFECT_PICKPOCKET = 71, SPELL_EFFECT_PICKPOCKET = 71,
SPELL_EFFECT_ADD_FARSIGHT = 72, SPELL_EFFECT_ADD_FARSIGHT = 72,
SPELL_EFFECT_SUMMON_POSSESSED = 73, SPELL_EFFECT_SUMMON_POSSESSED = 73,
SPELL_EFFECT_SUMMON_TOTEM = 74, SPELL_EFFECT_APPLY_GLYPH = 74,
SPELL_EFFECT_HEAL_MECHANICAL = 75, SPELL_EFFECT_HEAL_MECHANICAL = 75,
SPELL_EFFECT_SUMMON_OBJECT_WILD = 76, SPELL_EFFECT_SUMMON_OBJECT_WILD = 76,
SPELL_EFFECT_SCRIPT_EFFECT = 77, SPELL_EFFECT_SCRIPT_EFFECT = 77,
@ -658,7 +661,13 @@ enum SpellEffects
SPELL_EFFECT_TRIGGER_SPELL_2 = 151, SPELL_EFFECT_TRIGGER_SPELL_2 = 151,
SPELL_EFFECT_152 = 152, SPELL_EFFECT_152 = 152,
SPELL_EFFECT_153 = 153, SPELL_EFFECT_153 = 153,
TOTAL_SPELL_EFFECTS = 154 SPELL_EFFECT_154 = 154,
SPELL_EFFECT_155 = 155,
SPELL_EFFECT_156 = 156,
SPELL_EFFECT_157 = 157,
SPELL_EFFECT_158 = 158,
SPELL_EFFECT_159 = 159,
TOTAL_SPELL_EFFECTS = 160
}; };
// Spell aura states // Spell aura states
@ -895,9 +904,10 @@ enum GameobjectTypes
GAMEOBJECT_TYPE_BARBER_CHAIR = 32, GAMEOBJECT_TYPE_BARBER_CHAIR = 32,
GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING = 33, GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING = 33,
GAMEOBJECT_TYPE_GUILD_BANK = 34, GAMEOBJECT_TYPE_GUILD_BANK = 34,
GAMEOBJECT_TYPE_TRAPDOOR = 35
}; };
#define MAX_GAMEOBJECT_TYPE 35 // sending to client this or greater value can crash client. #define MAX_GAMEOBJECT_TYPE 36 // sending to client this or greater value can crash client.
#define GAMEOBJECT_FISHINGNODE_ENTRY 35591 // Better to define it somewhere instead of hardcoding everywhere #define GAMEOBJECT_FISHINGNODE_ENTRY 35591 // Better to define it somewhere instead of hardcoding everywhere
@ -1464,7 +1474,9 @@ enum LockType
LOCKTYPE_BLASTING = 16, LOCKTYPE_BLASTING = 16,
LOCKTYPE_SLOW_OPEN = 17, LOCKTYPE_SLOW_OPEN = 17,
LOCKTYPE_SLOW_CLOSE = 18, LOCKTYPE_SLOW_CLOSE = 18,
LOCKTYPE_FISHING = 19 LOCKTYPE_FISHING = 19,
LOCKTYPE_INSCRIPTION = 20,
LOCKTYPE_OPEN_FROM_VEHICLE = 21
}; };
enum TrainerType // this is important type for npcs! enum TrainerType // this is important type for npcs!
@ -1518,7 +1530,7 @@ enum CreatureFamily
CREATURE_FAMILY_IMP = 23, CREATURE_FAMILY_IMP = 23,
CREATURE_FAMILY_BAT = 24, CREATURE_FAMILY_BAT = 24,
CREATURE_FAMILY_HYENA = 25, CREATURE_FAMILY_HYENA = 25,
CREATURE_FAMILY_OWL = 26, CREATURE_FAMILY_BIRD_OF_PREY = 26,
CREATURE_FAMILY_WIND_SERPENT = 27, CREATURE_FAMILY_WIND_SERPENT = 27,
CREATURE_FAMILY_REMOTE_CONTROL = 28, CREATURE_FAMILY_REMOTE_CONTROL = 28,
CREATURE_FAMILY_FELGUARD = 29, CREATURE_FAMILY_FELGUARD = 29,
@ -1528,7 +1540,17 @@ enum CreatureFamily
CREATURE_FAMILY_SPOREBAT = 33, CREATURE_FAMILY_SPOREBAT = 33,
CREATURE_FAMILY_NETHER_RAY = 34, CREATURE_FAMILY_NETHER_RAY = 34,
CREATURE_FAMILY_SERPENT = 35, CREATURE_FAMILY_SERPENT = 35,
CREATURE_FAMILY_SEA_LION = 36 //CREATURE_FAMILY_SEA_LION = 36
CREATURE_FAMILY_MOTH = 37,
CREATURE_FAMILY_CHIMAERA = 38,
CREATURE_FAMILY_DEVILSAUR = 39,
CREATURE_FAMILY_GHOUL = 40,
CREATURE_FAMILY_SILITHID = 41,
CREATURE_FAMILY_WORM = 42,
CREATURE_FAMILY_RHINO = 43,
CREATURE_FAMILY_WASP = 44,
CREATURE_FAMILY_CORE_HOUND = 45,
CREATURE_FAMILY_SPIRIT_BEAST = 46
}; };
enum CreatureEliteType enum CreatureEliteType
@ -1553,6 +1575,8 @@ enum QuestTypes
QUEST_TYPE_LEGENDARY = 83, QUEST_TYPE_LEGENDARY = 83,
QUEST_TYPE_ESCORT = 84, QUEST_TYPE_ESCORT = 84,
QUEST_TYPE_HEROIC = 85, QUEST_TYPE_HEROIC = 85,
QUEST_TYPE_RAID_10 = 88,
QUEST_TYPE_RAID_25 = 89
}; };
// values based at QuestSort.dbc // values based at QuestSort.dbc
@ -1563,7 +1587,7 @@ enum QuestSort
QUEST_SORT_SEASONAL = 22, QUEST_SORT_SEASONAL = 22,
QUEST_SORT_UNDERCITY_OLD = 23, QUEST_SORT_UNDERCITY_OLD = 23,
QUEST_SORT_HERBALISM = 24, QUEST_SORT_HERBALISM = 24,
QUEST_SORT_SCARLET_MONASTERY_OLD= 25, QUEST_SORT_BATTLEGROUNDS = 25,
QUEST_SORT_ULDAMN_OLD = 41, QUEST_SORT_ULDAMN_OLD = 41,
QUEST_SORT_WARLOCK = 61, QUEST_SORT_WARLOCK = 61,
QUEST_SORT_WARRIOR = 81, QUEST_SORT_WARRIOR = 81,
@ -1592,7 +1616,10 @@ enum QuestSort
QUEST_SORT_REPUTATION = 367, QUEST_SORT_REPUTATION = 367,
QUEST_SORT_INVASION = 368, QUEST_SORT_INVASION = 368,
QUEST_SORT_MIDSUMMER = 369, QUEST_SORT_MIDSUMMER = 369,
QUEST_SORT_BREWFEST = 370 QUEST_SORT_BREWFEST = 370,
QUEST_SORT_INSCRIPTION = 371,
QUEST_SORT_DEATH_KNIGHT = 372,
QUEST_SORT_JEWELCRAFTING = 373
}; };
inline uint8 ClassByQuestSort(int32 QuestSort) inline uint8 ClassByQuestSort(int32 QuestSort)
@ -1806,6 +1833,7 @@ enum TotemCategory
TC_FEL_IRON_ROD = 41, TC_FEL_IRON_ROD = 41,
TC_ADAMANTITE_ROD = 62, TC_ADAMANTITE_ROD = 62,
TC_ETERNIUM_ROD = 63 TC_ETERNIUM_ROD = 63
// TODO: Add new wotlk
}; };
enum UnitDynFlags enum UnitDynFlags
@ -1825,6 +1853,7 @@ enum CorpseDynFlags
// Passive Spell codes explicit used in code // Passive Spell codes explicit used in code
#define SPELL_ID_GENERIC_LEARN 483 #define SPELL_ID_GENERIC_LEARN 483
#define SPELL_ID_GENERIC_LEARN_PET 55884 // used for learning mounts and companions
#define SPELL_ID_PASSIVE_BATTLE_STANCE 2457 #define SPELL_ID_PASSIVE_BATTLE_STANCE 2457
#define SPELL_ID_PASSIVE_RESURRECTION_SICKNESS 15007 #define SPELL_ID_PASSIVE_RESURRECTION_SICKNESS 15007
@ -1890,9 +1919,12 @@ enum ChatMsg
CHAT_MSG_BATTLEGROUND = 0x2C, CHAT_MSG_BATTLEGROUND = 0x2C,
CHAT_MSG_BATTLEGROUND_LEADER = 0x2D, CHAT_MSG_BATTLEGROUND_LEADER = 0x2D,
CHAT_MSG_RESTRICTED = 0x2E, CHAT_MSG_RESTRICTED = 0x2E,
CHAT_MSG_BN = 0x2F,
CHAT_MSG_ACHIEVEMENT = 0x30,
CHAT_MSG_GUILD_ACHIEVEMENT = 0x31
}; };
#define MAX_CHAT_MSG_TYPE 0x2F #define MAX_CHAT_MSG_TYPE 0x32
// Values from ItemPetFood (power of (value-1) used for compare with CreatureFamilyEntry.petDietMask // Values from ItemPetFood (power of (value-1) used for compare with CreatureFamilyEntry.petDietMask
enum PetDiet enum PetDiet
@ -2061,42 +2093,45 @@ enum ResponseCodes
CHAR_CREATE_SERVER_QUEUE = 0x37, CHAR_CREATE_SERVER_QUEUE = 0x37,
CHAR_CREATE_ONLY_EXISTING = 0x38, CHAR_CREATE_ONLY_EXISTING = 0x38,
CHAR_CREATE_EXPANSION = 0x39, CHAR_CREATE_EXPANSION = 0x39,
CHAR_CREATE_EXPANSION_CLASS = 0x3A,
CHAR_CREATE_LEVEL_REQUIREMENT = 0x3B,
CHAR_CREATE_UNIQUE_CLASS_LIMIT = 0x3C,
CHAR_DELETE_IN_PROGRESS = 0x3A, CHAR_DELETE_IN_PROGRESS = 0x3D,
CHAR_DELETE_SUCCESS = 0x3B, CHAR_DELETE_SUCCESS = 0x3E,
CHAR_DELETE_FAILED = 0x3C, CHAR_DELETE_FAILED = 0x3F,
CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER = 0x3D, CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER = 0x40,
CHAR_DELETE_FAILED_GUILD_LEADER = 0x3E, CHAR_DELETE_FAILED_GUILD_LEADER = 0x41,
CHAR_DELETE_FAILED_ARENA_CAPTAIN = 0x3F, CHAR_DELETE_FAILED_ARENA_CAPTAIN = 0x42,
CHAR_LOGIN_IN_PROGRESS = 0x40, CHAR_LOGIN_IN_PROGRESS = 0x43,
CHAR_LOGIN_SUCCESS = 0x41, CHAR_LOGIN_SUCCESS = 0x44,
CHAR_LOGIN_NO_WORLD = 0x42, CHAR_LOGIN_NO_WORLD = 0x45,
CHAR_LOGIN_DUPLICATE_CHARACTER = 0x43, CHAR_LOGIN_DUPLICATE_CHARACTER = 0x46,
CHAR_LOGIN_NO_INSTANCES = 0x44, CHAR_LOGIN_NO_INSTANCES = 0x47,
CHAR_LOGIN_FAILED = 0x45, CHAR_LOGIN_FAILED = 0x48,
CHAR_LOGIN_DISABLED = 0x46, CHAR_LOGIN_DISABLED = 0x49,
CHAR_LOGIN_NO_CHARACTER = 0x47, CHAR_LOGIN_NO_CHARACTER = 0x4A,
CHAR_LOGIN_LOCKED_FOR_TRANSFER = 0x48, CHAR_LOGIN_LOCKED_FOR_TRANSFER = 0x4B,
CHAR_LOGIN_LOCKED_BY_BILLING = 0x49, CHAR_LOGIN_LOCKED_BY_BILLING = 0x4C,
CHAR_NAME_SUCCESS = 0x4A, CHAR_NAME_SUCCESS = 0x4D,
CHAR_NAME_FAILURE = 0x4B, CHAR_NAME_FAILURE = 0x4E,
CHAR_NAME_NO_NAME = 0x4C, CHAR_NAME_NO_NAME = 0x4F,
CHAR_NAME_TOO_SHORT = 0x4D, CHAR_NAME_TOO_SHORT = 0x50,
CHAR_NAME_TOO_LONG = 0x4E, CHAR_NAME_TOO_LONG = 0x51,
CHAR_NAME_INVALID_CHARACTER = 0x4F, CHAR_NAME_INVALID_CHARACTER = 0x52,
CHAR_NAME_MIXED_LANGUAGES = 0x50, CHAR_NAME_MIXED_LANGUAGES = 0x53,
CHAR_NAME_PROFANE = 0x51, CHAR_NAME_PROFANE = 0x54,
CHAR_NAME_RESERVED = 0x52, CHAR_NAME_RESERVED = 0x55,
CHAR_NAME_INVALID_APOSTROPHE = 0x53, CHAR_NAME_INVALID_APOSTROPHE = 0x56,
CHAR_NAME_MULTIPLE_APOSTROPHES = 0x54, CHAR_NAME_MULTIPLE_APOSTROPHES = 0x57,
CHAR_NAME_THREE_CONSECUTIVE = 0x55, CHAR_NAME_THREE_CONSECUTIVE = 0x58,
CHAR_NAME_INVALID_SPACE = 0x56, CHAR_NAME_INVALID_SPACE = 0x59,
CHAR_NAME_CONSECUTIVE_SPACES = 0x57, CHAR_NAME_CONSECUTIVE_SPACES = 0x5A,
CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 0x58, CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 0x5B,
CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 0x59, CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 0x5C,
CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 0x5A, CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 0x5D
}; };
/// Ban function modes /// Ban function modes

View file

@ -620,9 +620,9 @@ void Player::UpdateManaRegen()
int32 modManaRegenInterrupt = GetTotalAuraModifier(SPELL_AURA_MOD_MANA_REGEN_INTERRUPT); int32 modManaRegenInterrupt = GetTotalAuraModifier(SPELL_AURA_MOD_MANA_REGEN_INTERRUPT);
if (modManaRegenInterrupt > 100) if (modManaRegenInterrupt > 100)
modManaRegenInterrupt = 100; modManaRegenInterrupt = 100;
SetStatFloatValue(PLAYER_FIELD_MOD_MANA_REGEN_INTERRUPT, power_regen_mp5 + power_regen * modManaRegenInterrupt / 100.0f); SetStatFloatValue(UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER, power_regen_mp5 + power_regen * modManaRegenInterrupt / 100.0f);
SetStatFloatValue(PLAYER_FIELD_MOD_MANA_REGEN, power_regen_mp5 + power_regen); SetStatFloatValue(UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER, power_regen_mp5 + power_regen);
} }
void Player::_ApplyAllStatBonuses() void Player::_ApplyAllStatBonuses()

View file

@ -165,8 +165,9 @@ bool Transport::Create(uint32 guidlow, uint32 mapid, float x, float y, float z,
SetFloatValue(OBJECT_FIELD_SCALE_X, goinfo->size); SetFloatValue(OBJECT_FIELD_SCALE_X, goinfo->size);
SetUInt32Value(GAMEOBJECT_FACTION, goinfo->faction); SetUInt32Value(GAMEOBJECT_FACTION, goinfo->faction);
SetUInt32Value(GAMEOBJECT_FLAGS, goinfo->flags); //SetUInt32Value(GAMEOBJECT_FLAGS, goinfo->flags);
SetUInt32Value(GAMEOBJECT_FLAGS, MAKE_PAIR32(0x28, 0x64));
SetUInt32Value(GAMEOBJECT_LEVEL, m_period);
SetEntry(goinfo->id); SetEntry(goinfo->id);
SetUInt32Value(GAMEOBJECT_DISPLAYID, goinfo->displayId); SetUInt32Value(GAMEOBJECT_DISPLAYID, goinfo->displayId);
@ -176,7 +177,7 @@ bool Transport::Create(uint32 guidlow, uint32 mapid, float x, float y, float z,
SetGoAnimProgress(animprogress); SetGoAnimProgress(animprogress);
if(dynflags) if(dynflags)
SetUInt32Value(GAMEOBJECT_DYN_FLAGS, dynflags); SetUInt32Value(GAMEOBJECT_DYNAMIC, MAKE_PAIR32(0, dynflags));
return true; return true;
} }

View file

@ -59,8 +59,9 @@ bool ChatHandler::HandleDebugSpellFailCommand(const char* args)
uint8 failnum = (uint8)atoi(px); uint8 failnum = (uint8)atoi(px);
WorldPacket data(SMSG_CAST_FAILED, 5); WorldPacket data(SMSG_CAST_FAILED, 5);
data << (uint32)133; data << uint8(0);
data << failnum; data << uint32(133);
data << uint8(failnum);
m_session->SendPacket(&data); m_session->SendPacket(&data);
return true; return true;