Merge branch 'master' into inv2

This commit is contained in:
KimLS 2015-02-22 14:27:49 -08:00
commit c71a5888ff
4 changed files with 26 additions and 12 deletions

View File

@ -1,5 +1,8 @@
EQEMu Changelog (Started on Sept 24, 2003 15:50)
-------------------------------------------------------
== 02/21/2015 ==
Noudess: Starting erudites that were supposed to start in paineel were landing in erudin on Titanium. Fixed to be paineel.
== 02/20/2015 ==
demonstar55: Implement claims for RoF/RoF2 (should no longer crash the client!)
- fixed bugs related to claims for the rest of the clients (woo infinite loops)

View File

@ -277,7 +277,8 @@ void WorldDatabase::GetCharSelectInfo(uint32 accountID, EQApplicationPacket **ou
}
}
int WorldDatabase::MoveCharacterToBind(int CharID, uint8 bindnum) {
int WorldDatabase::MoveCharacterToBind(int CharID, uint8 bindnum)
{
/* if an invalid bind point is specified, use the primary bind */
if (bindnum > 4)
{
@ -360,6 +361,7 @@ bool WorldDatabase::GetStartZone(PlayerProfile_Struct* in_pp, CharCreate_Struct*
return true;
}
void WorldDatabase::SetSoFDefaultStartZone(PlayerProfile_Struct* in_pp, CharCreate_Struct* in_cc){
if (in_cc->start_zone == RuleI(World, TutorialZoneID)) {
in_pp->zone_id = in_cc->start_zone;
@ -378,8 +380,16 @@ void WorldDatabase::SetTitaniumDefaultStartZone(PlayerProfile_Struct* in_pp, Cha
{
case 0:
{
in_pp->zone_id = 24; // erudnext
in_pp->binds[0].zoneId = 38; // tox
if (in_cc->deity == 203) // Cazic-Thule Erudites go to Paineel
{
in_pp->zone_id = 75; // paineel
in_pp->binds[0].zoneId = 75;
}
else
{
in_pp->zone_id = 24; // erudnext
in_pp->binds[0].zoneId = 38; // tox
}
break;
}
case 1:
@ -462,6 +472,7 @@ void WorldDatabase::SetTitaniumDefaultStartZone(PlayerProfile_Struct* in_pp, Cha
}
}
}
void WorldDatabase::GetLauncherList(std::vector<std::string> &rl) {
rl.clear();
@ -477,8 +488,8 @@ void WorldDatabase::GetLauncherList(std::vector<std::string> &rl) {
}
void WorldDatabase::SetMailKey(int CharID, int IPAddress, int MailKey) {
void WorldDatabase::SetMailKey(int CharID, int IPAddress, int MailKey)
{
char MailKeyString[17];
if(RuleB(Chat, EnableMailKeyIPVerification) == true)
@ -512,7 +523,8 @@ bool WorldDatabase::GetCharacterLevel(const char *name, int &level)
return true;
}
bool WorldDatabase::LoadCharacterCreateAllocations() {
bool WorldDatabase::LoadCharacterCreateAllocations()
{
character_create_allocations.clear();
std::string query = "SELECT * FROM char_create_point_allocations ORDER BY id";
@ -544,7 +556,8 @@ bool WorldDatabase::LoadCharacterCreateAllocations() {
return true;
}
bool WorldDatabase::LoadCharacterCreateCombos() {
bool WorldDatabase::LoadCharacterCreateCombos()
{
character_create_race_class_combos.clear();
std::string query = "SELECT * FROM char_create_combinations ORDER BY race, class, deity, start_zone";
@ -566,4 +579,3 @@ bool WorldDatabase::LoadCharacterCreateCombos() {
return true;
}

View File

@ -2343,7 +2343,7 @@ XS(XS_NPC_AddRangedProc) {
if(THIS == NULL)
Perl_croak(aTHX_ "THIS is NULL, avoiding crash.");
THIS->AddDefensiveProc(spell_id,chance);
THIS->AddRangedProc(spell_id,chance);
}
XSRETURN_EMPTY;
}
@ -2368,7 +2368,7 @@ XS(XS_NPC_AddDefensiveProc) {
if(THIS == NULL)
Perl_croak(aTHX_ "THIS is NULL, avoiding crash.");
THIS->AddProcToWeapon(spell_id, true, chance);
THIS->AddDefensiveProc(spell_id,chance);
}
XSRETURN_EMPTY;
}

View File

@ -1186,7 +1186,6 @@ float Mob::GetRangeDistTargetSizeMod(Mob* other)
void NPC::RangedAttack(Mob* other)
{
if (!other)
return;
//make sure the attack and ranged timers are up
@ -1306,7 +1305,7 @@ void NPC::DoRangedAttackDmg(Mob* other, bool Launch, int16 damage_mod, int16 cha
if (TotalDmg > 0)
CommonOutgoingHitSuccess(other, TotalDmg, skillInUse);
else
else if (TotalDmg < -4)
TotalDmg = -5;
if (TotalDmg > 0)