mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 09:31:30 +00:00
Merge from master
This commit is contained in:
commit
bb8d11a57b
@ -1,5 +1,28 @@
|
|||||||
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
== 06/16/2013 ==
|
||||||
|
Secrets: Fixed an issue with RoF items and Req/Rec level above 100 appearing yellow. Recommended to enable the #iteminfo command for items that have a req/rec above 100 to display proper information regarding the info.
|
||||||
|
|
||||||
|
== 06/15/2013 ==
|
||||||
|
KLS: (image) Potentially could bypass some spell checks by passing a specially crafted spell slot. This has been addressed.
|
||||||
|
|
||||||
|
== 06/12/2013 ==
|
||||||
|
KLS: Merge Hateborne's hp cap stuff
|
||||||
|
KLS: We haven't updated changelog in a while but there's been:
|
||||||
|
-Some string stuff
|
||||||
|
-A lot of fixes to things like caps.
|
||||||
|
-More work on custom mod stuff (including examples)
|
||||||
|
-Fix for login not bailing out if it cant connect to a db
|
||||||
|
-Quite a few warning changes.
|
||||||
|
|
||||||
|
== 05/09/2013 ==
|
||||||
|
Uleat: (Updated: 06/12/2013) Fixed a few observed bot issues and an beneficial AE casting bug:
|
||||||
|
Added missing Bot primary weapon proc call (secondary and ranged already exist)
|
||||||
|
Added Bard Bot instrumentation bonuses
|
||||||
|
Added checks to avoid AE Buff casting on enemy mobs
|
||||||
|
Fixed a few typos in 'Vah Shir'-related code
|
||||||
|
(Please post any discrepancies as bugs)
|
||||||
|
|
||||||
== 05/05/2013 ==
|
== 05/05/2013 ==
|
||||||
Tabasco: Added EVENT_ITEM_TICK for interactive item quest scripts. (See https://github.com/josheb/quests_dc/blob/master/items/12204.pl)
|
Tabasco: Added EVENT_ITEM_TICK for interactive item quest scripts. (See https://github.com/josheb/quests_dc/blob/master/items/12204.pl)
|
||||||
Added simple account flags. Would this work better as an additional qglobal category?
|
Added simple account flags. Would this work better as an additional qglobal category?
|
||||||
|
|||||||
@ -4992,7 +4992,11 @@ char* SerializeItem(const ItemInst *inst, int16 slot_id_in, uint32 *length, uint
|
|||||||
ibs.Magic = item->Magic;
|
ibs.Magic = item->Magic;
|
||||||
ibs.CastTime_ = item->CastTime_;
|
ibs.CastTime_ = item->CastTime_;
|
||||||
ibs.ReqLevel = item->ReqLevel;
|
ibs.ReqLevel = item->ReqLevel;
|
||||||
|
if(item->ReqLevel > 100)
|
||||||
|
ibs.ReqLevel = 100;
|
||||||
ibs.RecLevel = item->RecLevel;
|
ibs.RecLevel = item->RecLevel;
|
||||||
|
if(item->RecLevel > 100)
|
||||||
|
ibs.RecLevel = 100;
|
||||||
ibs.RecSkill = item->RecSkill;
|
ibs.RecSkill = item->RecSkill;
|
||||||
ibs.BardType = item->BardType;
|
ibs.BardType = item->BardType;
|
||||||
ibs.BardValue = item->BardValue;
|
ibs.BardValue = item->BardValue;
|
||||||
|
|||||||
@ -625,7 +625,7 @@ struct SPDat_Spell_Struct
|
|||||||
/* 019 */ uint16 mana; // Mana Used
|
/* 019 */ uint16 mana; // Mana Used
|
||||||
/* 020 */ int base[EFFECT_COUNT]; //various purposes
|
/* 020 */ int base[EFFECT_COUNT]; //various purposes
|
||||||
/* 032 */ int base2[EFFECT_COUNT]; //various purposes
|
/* 032 */ int base2[EFFECT_COUNT]; //various purposes
|
||||||
/* 044 */ int16 max[EFFECT_COUNT];
|
/* 044 */ int32 max[EFFECT_COUNT];
|
||||||
/* 056 */ //uint16 icon; // Spell icon
|
/* 056 */ //uint16 icon; // Spell icon
|
||||||
/* 057 */ //uint16 memicon; // Icon on membarthing
|
/* 057 */ //uint16 memicon; // Icon on membarthing
|
||||||
/* 058 */ int32 components[4]; // reagents
|
/* 058 */ int32 components[4]; // reagents
|
||||||
|
|||||||
@ -11016,7 +11016,7 @@ int32 Bot::CalcMaxHP() {
|
|||||||
|
|
||||||
bot_hp += GroupLeadershipAAHealthEnhancement();
|
bot_hp += GroupLeadershipAAHealthEnhancement();
|
||||||
|
|
||||||
bot_hp += bot_hp * (spellbonuses.MaxHPChange + itembonuses.MaxHPChange) / 10000;
|
bot_hp += bot_hp * ((spellbonuses.MaxHPChange + itembonuses.MaxHPChange) / 10000.0f);
|
||||||
max_hp = bot_hp;
|
max_hp = bot_hp;
|
||||||
|
|
||||||
if (cur_hp > max_hp)
|
if (cur_hp > max_hp)
|
||||||
|
|||||||
@ -250,7 +250,7 @@ int32 Client::CalcMaxHP() {
|
|||||||
|
|
||||||
max_hp += GroupLeadershipAAHealthEnhancement();
|
max_hp += GroupLeadershipAAHealthEnhancement();
|
||||||
|
|
||||||
max_hp += max_hp * (spellbonuses.MaxHPChange + itembonuses.MaxHPChange) / 10000;
|
max_hp += max_hp * ((spellbonuses.MaxHPChange + itembonuses.MaxHPChange) / 10000.0f);
|
||||||
|
|
||||||
if (cur_hp > max_hp)
|
if (cur_hp > max_hp)
|
||||||
cur_hp = max_hp;
|
cur_hp = max_hp;
|
||||||
|
|||||||
@ -4671,47 +4671,24 @@ LogFile->write(EQEMuLog::Debug, "OP CastSpell: slot=%d, spell=%d, target=%d, inv
|
|||||||
else
|
else
|
||||||
spell_to_cast = SPELL_HARM_TOUCH2;
|
spell_to_cast = SPELL_HARM_TOUCH2;
|
||||||
p_timers.Start(pTimerHarmTouch, HarmTouchReuseTime);
|
p_timers.Start(pTimerHarmTouch, HarmTouchReuseTime);
|
||||||
}
|
} else if(castspell->slot == DISCIPLINE_SPELL_SLOT) {
|
||||||
|
|
||||||
//handle disciplines, OLD, they keep changing this
|
|
||||||
if(castspell->slot == DISCIPLINE_SPELL_SLOT) {
|
|
||||||
if(!UseDiscipline(castspell->spell_id, castspell->target_id)) {
|
if(!UseDiscipline(castspell->spell_id, castspell->target_id)) {
|
||||||
printf("Unknown ability being used by %s, spell being cast is: %i\n",GetName(),castspell->spell_id);
|
printf("Unknown ability being used by %s, spell being cast is: %i\n",GetName(),castspell->spell_id);
|
||||||
InterruptSpell(castspell->spell_id);
|
InterruptSpell(castspell->spell_id);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
} else if(castspell->slot < MAX_PP_MEMSPELL) {
|
||||||
|
|
||||||
if(castspell->slot < MAX_PP_MEMSPELL)
|
|
||||||
{
|
|
||||||
spell_to_cast = m_pp.mem_spells[castspell->slot];
|
spell_to_cast = m_pp.mem_spells[castspell->slot];
|
||||||
if(spell_to_cast != castspell->spell_id)
|
if(spell_to_cast != castspell->spell_id)
|
||||||
{
|
{
|
||||||
InterruptSpell(castspell->spell_id); //CHEATER!!!
|
InterruptSpell(castspell->spell_id); //CHEATER!!!
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
//If we get to here this slot should be invalid invalid
|
||||||
|
InterruptSpell(castspell->spell_id);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
these are coming through with slot 8 now...
|
|
||||||
else if(castspell->slot == 9) //discipline, LoH, HT, etc
|
|
||||||
{
|
|
||||||
if(GetClass() == PALADIN && castspell->spell_id == SPELL_LAY_ON_HANDS)
|
|
||||||
{
|
|
||||||
spell_to_cast = SPELL_LAY_ON_HANDS;
|
|
||||||
p_timers.Start(pTimerLayHands, LayOnHandsReuseTime);
|
|
||||||
CastSpell(spell_to_cast, castspell->target_id, castspell->slot);
|
|
||||||
}
|
|
||||||
else if(GetClass() == SHADOWKNIGHT
|
|
||||||
&& (castspell->spell_id == SPELL_HARM_TOUCH || castspell->spell_id == SPELL_HARM_TOUCH2))
|
|
||||||
{
|
|
||||||
if(GetLevel() < 40)
|
|
||||||
spell_to_cast = SPELL_HARM_TOUCH;
|
|
||||||
else
|
|
||||||
spell_to_cast = SPELL_HARM_TOUCH2;
|
|
||||||
p_timers.Start(pTimerHarmTouch, HarmTouchReuseTime);
|
|
||||||
}
|
|
||||||
else*/
|
|
||||||
//try disciplines
|
|
||||||
|
|
||||||
CastSpell(spell_to_cast, castspell->target_id, castspell->slot);
|
CastSpell(spell_to_cast, castspell->target_id, castspell->slot);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -283,7 +283,7 @@ struct StatBonuses {
|
|||||||
int16 HundredHands; //extra haste, stacks with all other haste i
|
int16 HundredHands; //extra haste, stacks with all other haste i
|
||||||
int8 MeleeLifetap; //i
|
int8 MeleeLifetap; //i
|
||||||
int16 HealRate; // Spell effect that influences effectiveness of heals
|
int16 HealRate; // Spell effect that influences effectiveness of heals
|
||||||
int16 MaxHPChange; // Spell Effect
|
int32 MaxHPChange; // Spell Effect
|
||||||
int16 SkillDmgTaken[HIGHEST_SKILL+2]; // All Skills + -1
|
int16 SkillDmgTaken[HIGHEST_SKILL+2]; // All Skills + -1
|
||||||
int32 HealAmt; // Item Effect
|
int32 HealAmt; // Item Effect
|
||||||
int32 SpellDmg; // Item Effect
|
int32 SpellDmg; // Item Effect
|
||||||
|
|||||||
@ -918,7 +918,7 @@ int32 Merc::CalcMaxHP() {
|
|||||||
|
|
||||||
max_hp += GroupLeadershipAAHealthEnhancement();
|
max_hp += GroupLeadershipAAHealthEnhancement();
|
||||||
|
|
||||||
max_hp += max_hp * (spellbonuses.MaxHPChange + itembonuses.MaxHPChange) / 10000;
|
max_hp += max_hp * ((spellbonuses.MaxHPChange + itembonuses.MaxHPChange) / 10000.0f);
|
||||||
|
|
||||||
if (cur_hp > max_hp)
|
if (cur_hp > max_hp)
|
||||||
cur_hp = max_hp;
|
cur_hp = max_hp;
|
||||||
|
|||||||
@ -615,7 +615,7 @@ int32 Mob::CalcMaxMana() {
|
|||||||
|
|
||||||
int32 Mob::CalcMaxHP() {
|
int32 Mob::CalcMaxHP() {
|
||||||
max_hp = (base_hp + itembonuses.HP + spellbonuses.HP);
|
max_hp = (base_hp + itembonuses.HP + spellbonuses.HP);
|
||||||
max_hp += max_hp * (aabonuses.MaxHPChange + spellbonuses.MaxHPChange + itembonuses.MaxHPChange) / 10000;
|
max_hp += max_hp * ((aabonuses.MaxHPChange + spellbonuses.MaxHPChange + itembonuses.MaxHPChange) / 10000.0f);
|
||||||
return max_hp;
|
return max_hp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user