yad02
Members-
Posts
149 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Everything posted by yad02
-
Not fixed in 7018 in area 3648 near water but out of water breath timer appears !
-
void Player::learnSkillRewardedSpells(uint32 skill_id, uint32 skill_value ) { uint32 raceMask = getRaceMask(); uint32 classMask = getClassMask(); for (uint32 j=0; j<sSkillLineAbilityStore.GetNumRows(); ++j) { SkillLineAbilityEntry const *pAbility = sSkillLineAbilityStore.LookupEntry(j); if (!pAbility || pAbility->skillId!=skill_id || pAbility->learnOnGetSkill != ABILITY_LEARNED_ON_GET_PROFESSION_SKILL) continue; // Check race if set if (pAbility->racemask && !(pAbility->racemask & raceMask)) continue; // Check class if set if (pAbility->classmask && !(pAbility->classmask & classMask)) continue; if (sSpellStore.LookupEntry(pAbility->spellId)) { // Ok need learn spell if(skill_value < pAbility->req_skill_value || skill_value - pAbility->req_skill_value >= 75) { if(pAbility->req_skill_value > 1) removeSpell(pAbility->spellId); } else if(pAbility->req_skill_value == 1 || skill_value - pAbility->req_skill_value < 75) { if(GetSession()->PlayerLoading()) addSpell(pAbility->spellId,true,true,true); else learnSpell(pAbility->spellId); } } } } rewrite tests : if(skill_value < pAbility->req_skill_value || skill_value - pAbility->req_skill_value >= 75) else if(pAbility->req_skill_value == 1 || skill_value - pAbility->req_skill_value < 75) It's better, in spellbook all is right A little bug with .learn command : when you do a .learn spell_rank_6 you learn rank 5 4 3 2 1 (spell_chain effect) When you disconnect all rank are removed Other "bug" with spell for example when you get 300 skill in chat client console : rank 3 is removed rank 2 is removed rank 1 is removed you learn rank 1 you learn rank 2 you learn rank 3 you learn rank 4 your profession skill is 300
-
Are you sure ? I regenerated my map the last week but this bugs are always present... I regenerate one more time today for test and I tell you what happen
-
I clean my sources and I see it. Thank you for help ! Now this code is correct !
-
He is beginner and he says me that (in Ragefire Chasm) a player who fall in lava die so he thinks it's the same way for all dungeons. Sorry I didn't think that a player with 200hp at level 15 take a one hit kill with lava damage at 600, I remove it. About other "bugs", the code is it correct ? It's possible to change topic name to just "[Patch] Lava/Water Fixs" ?
-
Tested works perfectly with a remove old rank spell system. Someone can test if it's really Blizzlike ? The order of chat message information is it good ? Actually it's this oder Learn Spell of Profession Learn Profession Skill = 2 Skill = 3 ... Skill = 73 Skill = 74 You learn Spell Rank 1 Skill = 75 Skill = 76 ... Skill = 148 Skill = 149 You unlearn Spell Rank 1 You learn Spell Rank 2 Skill = 150 Skill = 151 ...
-
Sorry it's a mistake from me ! It should be this : (I haven't test it, I do it in around 10hours) Index: src/game/Player.cpp =================================================================== --- src/game/Player.cpp (revision 205) +++ src/game/Player.cpp (working copy) @@ -4789,6 +4789,15 @@ new_value = MaxValue; SetUInt32Value(PLAYER_SKILL_VALUE_INDEX(i),MAKE_SKILL_VALUE(new_value,MaxValue)); + uint32 SkillLevels[]={75,150,225,300,375,450}; + for(uint32 j = 0; j < sizeof(SkillLevels)/sizeof(uint32) - 1; j++) + { + if((SkillValue < SkillLevels[j] && new_value >= SkillLevels[j])) + { + learnSkillRewardedSpells( (GetUInt32Value(PLAYER_SKILL_INDEX(i)) & 0x0000FFFF), SkillLevels[j]); + break; + } + } GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL); sLog.outDebug("Player::UpdateSkillPro Chance=%3.1f%% taken", Chance/10.0); return true; @@ -5046,7 +5055,7 @@ (*i)->ApplyModifier(true); // Learn all spells for skill - learnSkillRewardedSpells(id); + learnSkillRewardedSpells(id, 1); return; } } @@ -17993,7 +18002,7 @@ } } -void Player::learnSkillRewardedSpells(uint32 skill_id ) +void Player::learnSkillRewardedSpells(uint32 skill_id, uint32 skill_value ) { uint32 raceMask = getRaceMask(); uint32 classMask = getClassMask(); @@ -18002,6 +18011,7 @@ SkillLineAbilityEntry const *pAbility = sSkillLineAbilityStore.LookupEntry(j); if (!pAbility || pAbility->skillId!=skill_id || pAbility->learnOnGetSkill != ABILITY_LEARNED_ON_GET_PROFESSION_SKILL) continue; // Check race if set if (pAbility->racemask && !(pAbility->racemask & raceMask)) continue; @@ -18012,7 +18022,10 @@ if (sSpellStore.LookupEntry(pAbility->spellId)) { // Ok need learn spell - learnSpell(pAbility->spellId); + if(skill_value - pAbility->req_skill_value >= 75) + { + if(pAbility->req_skill_value > 1 && skill_value > 1) + removeSpell(pAbility->spellId); + } + else + learnSpell(pAbility->spellId); } } } @@ -18026,7 +18039,7 @@ uint32 pskill = GetUInt32Value(PLAYER_SKILL_INDEX(i)) & 0x0000FFFF; - learnSkillRewardedSpells(pskill); + learnSkillRewardedSpells(pskill, 1); } } Index: src/game/Player.h =================================================================== --- src/game/Player.h (revision 205) +++ src/game/Player.h (working copy) @@ -1745,7 +1745,7 @@ uint16 GetPureSkillValue(uint32 skill) const; // skill value int16 GetSkillTempBonusValue(uint32 skill) const; bool HasSkill(uint32 skill) const; - void learnSkillRewardedSpells( uint32 id ); + void learnSkillRewardedSpells( uint32 id, uint32 value ); void learnSkillRewardedSpells(); void SetDontMove(bool dontMove);
-
Have you got an idea about how get all rank spell when you have just a spell ? For example get the spells id for rank 1, 2, 3, when you know the spell id of the rank 4 ?
-
I dont' see how remove old spell rank but I looking for About hardcode "if <> tests" what do you think of this : uint32 SkillLevels[]={75,150,225,300,375,450}; for(uint32 j = 0; j < sizeof(SkillLevels)/sizeof(uint32) - 1; j++) { if((SkillValue < SkillLevels[j] && new_value >= SkillLevels[j])) { learnSkillRewardedSpells( (GetUInt32Value(PLAYER_SKILL_INDEX(i)) & 0x0000FFFF), new_value); break; } } I haven't test it but is it a better way ?
-
Rewrite without for loop, It works perfectly when remplacing this Player::learnSkillRewardedSpells(uint32 skill_id ) by Player::learnSkillRewardedSpells(uint32 skill_id, uint32 new_value )
-
In fact I don't see how get "i" whitout use the for loop
-
Toughness fixed on post #1 (in SpellAuras.cpp) It works but I don't know if I must fix it with this method... If other ability or special capacity has the same problem (cumulative effect with rank) say it me please
-
So it's ready for add to git !
-
What bug does the patch fix? What features does the patch add? Blizzard changes in booty bay : mounts are allowed For which repository revision was the patch created? 6985 Who has been writing this patch? Please include either forum user names or email addresses. Except if I wrong this area allow mount since 3.0.3 (Area 35 - Booty Bay) In Spell.cpp : case SPELL_AURA_MOUNTED: { if (m_caster->IsInWater()) return SPELL_FAILED_ONLY_ABOVEWATER; if (m_caster->GetTypeId()==TYPEID_PLAYER && ((Player*)m_caster)->GetTransport()) return SPELL_FAILED_NO_MOUNTS_ALLOWED; // Ignore map check if spell have AreaId. AreaId already checked and this prevent special mount spells if (m_caster->GetTypeId()==TYPEID_PLAYER && !sMapStore.LookupEntry(m_caster->GetMapId())->IsMountAllowed() && !m_IsTriggeredSpell && !m_spellInfo->AreaId) return SPELL_FAILED_NO_MOUNTS_ALLOWED; - if (m_caster->GetAreaId()==35) - return SPELL_FAILED_NO_MOUNTS_ALLOWED; - ShapeshiftForm form = m_caster->m_form; if( form == FORM_CAT || form == FORM_TREE || form == FORM_TRAVEL || form == FORM_AQUA || form == FORM_BEAR || form == FORM_DIREBEAR || form == FORM_CREATUREBEAR || form == FORM_GHOSTWOLF || form == FORM_FLIGHT || form == FORM_FLIGHT_EPIC || form == FORM_MOONKIN || form == FORM_METAMORPHOSIS ) return SPELL_FAILED_NOT_SHAPESHIFT; break; } In Player.cpp void Player::UpdateAreaDependentAuras( uint32 newArea ) { // remove auras from spells with area limitations for(AuraMap::iterator iter = m_Auras.begin(); iter != m_Auras.end() { // use m_zoneUpdateId for speed: UpdateArea called from UpdateZone or instead UpdateZone in both cases m_zoneUpdateId up-to-date if(!IsSpellAllowedInLocation(iter->second->GetSpellProto(),GetMapId(),m_zoneUpdateId,newArea)) RemoveAura(iter); else ++iter; } - // unmount if enter in this subzone - if( newArea == 35) - RemoveSpellsCausingAura(SPELL_AURA_MOUNTED); - // Dragonmaw Illusion - else if( newArea == 3759 || newArea == 3966 || newArea == 3939 ) + // Dragonmaw Illusion + if( newArea == 3759 || newArea == 3966 || newArea == 3939 ) { if( GetDummyAura(40214) ) { if( !HasAura(40216,0) ) CastSpell(this,40216,true); if( !HasAura(42016,0) ) CastSpell(this,42016,true); } } } if this code is not correct delete it please. Source : http://www.wowinsider.com/2008/08/12/mounts-now-welcome-in-booty-bay/ Just to be sure, can you verify it on live server please ? Thank you... PS : Sorry I haven't got the lines numbers... I'm not on my own computer...
-
I test with these records : 53120 0 53120 1 0 53121 53120 53120 2 0 53122 53121 53120 3 0 53123 53122 53120 4 0 53124 53123 53120 5 0 53040 53124 53120 6 0 it doesn't work... when you learn the rank 2 you get the effect of rank 1 + rank 2 Maybe I must do the contrary : when a player learn a spell N+1 he unlearn spell N but it seems very hardcoded and bad...
-
ok so exists a "bug" on Aura: Mod Increase Health no ? (http://www.wowhead.com/?spell=53120) how mangos does to remove the old rank of a spell ?
-
ok so it's possible to have another bug in spell system... maybe I'm wrong but it seems that with toughness rank 6 you cumulate effects of rank 1 + 2 + 3 + 4 + 5 + 6. I try .unlearn 53123 (Toughness rank 4) on a player with Toughness rank 1 to 6 and this HP has changed... however I don't see how correct it...
-
In fact the problem is this one in : [is right] Profession 75/X --> You learn Spell/Ability Rank 1 (when you get 75 skill's points) Profession 150/X --> You learn Spell/Ability Rank 2 (when you get 150 skill's points) ... [/is right] for example you can meet this two cases : [is right] You learn Profession with maxskill cap = 75 Profession 75/75 --> You learn Spell/Ability Rank 1 (when you get 75 skill's points) You learn Profession with maxskill cap = 150 (but you are allowed to learn this profession if your current skill >= 50) Profession 75/150 --> You learn Spell/Ability Rank 1 (when you get 75 skill's points) [/is right] In other words i see how to do a "spell learn spells", but for me it's the unique way to do a "skill value learn spell", however maybe I'm in wrong
-
it's ok about : "bonus skills/abilities/passive" I just want to be sure that all professions in Blacksmithing, Mining, Leatherworking, Herbalism, alchemy use this system : [is right] Profession 75/X --> You learn Spell/Ability Rank 1 (when you get 75 skill's points) Profession 150/X --> You learn Spell/Ability Rank 2 (when you get 150 skill's points) Profession 225/X --> You learn Spell/Ability Rank 3 (when you get 225 skill's points) Profession 300/X --> You learn Spell/Ability Rank 4 (when you get 300 skill's points) Profession 375/X --> You learn Spell/Ability Rank 5 (when you get 375 skill's points) Profession 450/X --> You learn Spell/Ability Rank 6 (when you get 450 skill's points) [/is right] and not this one : [is wrong] Profession 1/75 --> You learn Spell/Ability Rank 1 (when you learn the profession) Profession 75/X --> You learn Spell/Ability Rank 2 (when you get 75 skill's points) Profession 150/X --> You learn Spell/Ability Rank 3 (when you get 150 skill's points) Profession 225/X --> You learn Spell/Ability Rank 4 (when you get 225 skill's points) Profession 300/X --> You learn Spell/Ability Rank 5 (when you get 300 skill's points) Profession 375/X --> You learn Spell/Ability Rank 6 (when you get 375 skill's points) [/is wrong]
-
Just to be sure, all profession work with this system ? Profession 75/X --> You learn Spell/Ability Rank 1 (when you get 75 skill's points) Profession 150/X --> You learn Spell/Ability Rank 2 (when you get 150 skill's points) Profession 225/X --> You learn Spell/Ability Rank 3 (when you get 225 skill's points) Profession 300/X --> You learn Spell/Ability Rank 4 (when you get 300 skill's points) Profession 375/X --> You learn Spell/Ability Rank 5 (when you get 375 skill's points) Profession 450/X --> You learn Spell/Ability Rank 6 (when you get 450 skill's points)
-
Profession 75/X --> You learn Spell/Ability Rank 1 (when you get 75 skill's points) Profession 150/X --> You learn Spell/Ability Rank 2 (when you get 150 skill's points) Profession 225/X --> You learn Spell/Ability Rank 3 (when you get 225 skill's points) Profession 300/X --> You learn Spell/Ability Rank 4 (when you get 300 skill's points) Profession 375/X --> You learn Spell/Ability Rank 5 (when you get 375 skill's points) Profession 450/X --> You learn Spell/Ability Rank 6 (when you get 450 skill's points) It's better ? About toughness another bug? exist : it's normal that when you get the rank N, you have the effect of ranks N-1, N-2, N-3 etc.. ? I'm not on my own computer so...
-
It works in this way : Profession 1/75 --> You learn Spell/Ability Rank 1 (when you learn the profession) Profession 75/X --> You learn Spell/Ability Rank 2 (when you get 75 skill's points) Profession 150/X --> You learn Spell/Ability Rank 3 (when you get 150 skill's points) Profession 225/X --> You learn Spell/Ability Rank 4 (when you get 225 skill's points) Profession 300/X --> You learn Spell/Ability Rank 5 (when you get 300 skill's points) Profession 375/X --> You learn Spell/Ability Rank 6 (when you get 375 skill's points) Profession 450/X --> Rank 7 doesn't exist... useless I'm stupid... (I edit the code) I'm not sure it is the Blizzlike working (I use informations from a blizz player)
-
I don't know In beta test part, it seem to be disable (http://www.wowinsider.com/2008/08/12/mounts-now-welcome-in-booty-bay/) by Blizz However if someone can confirm this "news" for 3.0.3 current version ... NB: I listen it somewhere...everywhere in fact but I doesn't want a "MaNGOS server with Full Northrend DB spawn". I just want to bring some help to MaNGOS dev.
-
Except if I wrong this area allow mount since 3.0.3 Area 35 (Booty Bay) Delete this in Spell.cpp : if (m_caster->GetAreaId()==35) return SPELL_FAILED_NO_MOUNTS_ALLOWED; And this in Player.cpp (you must replace the following "else if" to "if") if( newArea == 35) RemoveSpellsCausingAura(SPELL_AURA_MOUNTED); if this code is not correct delete it please. Source : http://www.wowinsider.com/2008/08/12/mounts-now-welcome-in-booty-bay/ Thank you... PS: exist maybe others area witch allow mounts
Contact Us
To contact us
click here
You can also email us at [email protected]
Privacy Policy | Terms & Conditions
You can also email us at [email protected]
Privacy Policy | Terms & Conditions
Copyright © getMaNGOS. All rights Reserved.
This website is in no way associated with or endorsed by Blizzard Entertainment®
This website is in no way associated with or endorsed by Blizzard Entertainment®