..:: Reteaua Nebuna - www.milennium.ro ::..
..:: Forum Oficial RN - A fi nebun sau a nu fi, asta da nebunie ::..
Lista Forumurilor Pe Tematici
..:: Reteaua Nebuna - www.milennium.ro ::.. | Reguli | Inregistrare | Login

POZE ..:: RETEAUA NEBUNA - WWW.MILENNIUM.RO ::..

Nu sunteti logat.
Nou pe simpatie:
Nebunatyka
Femeie
23 ani
Bucuresti
cauta Barbat
23 - 73 ani
..:: Reteaua Nebuna - www.milennium.ro ::.. / Server RN World Of Warcraft - Recycle Bin / cine a mai pierdut rank Moderat de DarkLord, Justice, KrieppeN, NexX, Popika_69, Silk, Wrath, para, tasmania
Autor
Mesaj Pagini: 1
MiniMe
Corporal

Inregistrat: acum 18 ani
Postari: 99
am o rugaminte astazi dupa ce a cazut serveru am pierdut 4 rankuri sincer le vreau inapoi care a mai pierdut sa posteze aici !!!!thx  

_______________________________________
sa terminat vacanta din nou la post

pus acum 18 ani
   
Slayer
Sergeant

Inregistrat: acum 18 ani
Postari: 141
tu ai noroc...eu am pierdut 10 rankuri...de la rank 14 am ajuns la rank 4  ...oricum...ca dovada ca eram rank 14 am intemurile de high warlord cumparate si puse pe mine...daca nu eram rank nu puteam sa le iau 

Modificat de Slayer (acum 18 ani)


_______________________________________
Always look behaing you....you`ll never know who you see...
<Ex> <Mage> <Horde> Warlord of <Nemesis>
-=BACK=-

pus acum 18 ani
   
DarkLord
Moderator

Din: Bucuresti / Berceni
Inregistrat: acum 18 ani
Postari: 1626
Lol Ex ai ramas fara rank ?...lol,sper sa nu fi patit la fel.Ma uit acum.

_______________________________________
-[M]-DARKLORD PVPGN  DOTA PLAYER
FAVOURITE HERO : ANUB'ARAK - NERUBIAN ASSASSIN

pus acum 18 ani
   
MiniMe
Corporal

Inregistrat: acum 18 ani
Postari: 99
sincer nu prea am cu ce sa demonstrez ca am avut rank 6 da ii adevarat nu aveam de ce sa mint   

_______________________________________
sa terminat vacanta din nou la post

pus acum 18 ani
   
MiniMe
Corporal

Inregistrat: acum 18 ani
Postari: 99
deenisa de la rank 13 are rank 5

_______________________________________
sa terminat vacanta din nou la post

pus acum 18 ani
   
george
Corporal

Inregistrat: acum 18 ani
Postari: 76
Eu am pierdut dupa crashul asta 8 rankuri am ajuns knight (rank 6) de la Leader lvl 14. Desi am itemele bune pe mine si eu as vrea rankul inapoi ca e o "mica" MARE diferenta intre Leader si knight. Mersi.

_______________________________________
Geo - Human Rogue - lvl 70 - Knight in Muschetarii
HAI ROMANIA - HAI MUTU

pus acum 18 ani
   
Slayer
Sergeant

Inregistrat: acum 18 ani
Postari: 141
doamne...mi-am dat staful jos sa puscuiesc si acum nu-l mai pot pune la loc....     

_______________________________________
Always look behaing you....you`ll never know who you see...
<Ex> <Mage> <Horde> Warlord of <Nemesis>
-=BACK=-

pus acum 18 ani
   
MiniMe
Corporal

Inregistrat: acum 18 ani
Postari: 99
inca unu pe lista darkness de la lider ii knight  

_______________________________________
sa terminat vacanta din nou la post

pus acum 18 ani
   
DarkLord
Moderator

Din: Bucuresti / Berceni
Inregistrat: acum 18 ani
Postari: 1626
Si asa din rank 14 am ajuns rank 4...nu m-as fi suparat daca era calculat klumea,pt ca la 25k honor nu ai cum sa fii High Warlord,rank pe care il castigi dupa 60k honor,insa tot bulit e calculat....off,o sa postez pe forumul la astia de la mangos ca sunt prea dobitoci,si ca nu stiu sa calculeze un amarat de rank.

_______________________________________
-[M]-DARKLORD PVPGN  DOTA PLAYER
FAVOURITE HERO : ANUB'ARAK - NERUBIAN ASSASSIN

pus acum 18 ani
   
Riidos
Sergeant

Inregistrat: acum 18 ani
Postari: 124
Aaa apropo ... nu uitati ca , multi ati luat cateva rank`uri cand s`au pierdut chars      Asa ca nu va mai plangeti      

Modificat de Riidos (acum 18 ani)


pus acum 18 ani
   
DarkLord
Moderator

Din: Bucuresti / Berceni
Inregistrat: acum 18 ani
Postari: 1626
Sorry ca nu am dat edit dar sunt 2 ideei diferite: Oricum nu o sa primim nimic inapoi....defapt nici nu stiu ce am putea primi...ca rankul ala era facut "pe aiurea".

_______________________________________
-[M]-DARKLORD PVPGN  DOTA PLAYER
FAVOURITE HERO : ANUB'ARAK - NERUBIAN ASSASSIN

pus acum 18 ani
   
shamanuro
Moderator

Din:
Inregistrat: acum 18 ani
Postari: 1933
La 65K honor e high warlord...si pe official nu cumperi cu gold...ci cu honor...din cate stiu...poate aberez, nush

_______________________________________
Retras din activitate pe srv asta ... mia facut placere dar m-am saturat sa-si bata joc lumea de munca si timpul meu . Bafta

pus acum 18 ani
   
Slayer
Sergeant

Inregistrat: acum 18 ani
Postari: 141
pai de unde sa faci 65k honor ??...altii cu 295 de kiluri au rank 8...altii cu 700 au rank 4 nu....daca si asa se calculeaza calumea eu nu mai zic nimic...

_______________________________________
Always look behaing you....you`ll never know who you see...
<Ex> <Mage> <Horde> Warlord of <Nemesis>
-=BACK=-

pus acum 18 ani
   
shamanuro
Moderator

Din:
Inregistrat: acum 18 ani
Postari: 1933
Lol...a intrat var'miu pe DeRu si a zis ca am rank 4...la 308 kills...meh, e si normal sa am atat, nu comentez...dar aici p srv asta nu prea ai cum sa faci Rank prea mare Deoarece sunt putini playeri si BG nu merg cum trebuie (e.g. ressurection ... nu te invite in x secunde, ci trebuie sa mergi la mort )...

_______________________________________
Retras din activitate pe srv asta ... mia facut placere dar m-am saturat sa-si bata joc lumea de munca si timpul meu . Bafta

pus acum 18 ani
   
PaDaS
Camatar de Trib

Din: Bucuresti / Berceni
Inregistrat: acum 19 ani
Postari: 1501
rankul era prost calculat amici    , acum am pus alt system de honor, s a recalcualt la fiecare , au ramas kilurile insa s a recalculat rankul cum trebuie, si mai era acea problema cu rank peste 33 de dadea crash la server ... sper sa nu ma injurati prea mult dar a trebuit sa fac si aceasta chestie cu honor ....

_______________________________________
Hub   Reteaua   Nebuna  :  reneb.no-ip.org

Camatar de trib -  TBC in curand pe MilenniuM.ro
BOTD - All I leave behind is the breath of the dying!
WoW addiction is a weapon of mass destruction

pus acum 18 ani
   
shamanuro
Moderator

Din:
Inregistrat: acum 18 ani
Postari: 1933
lol padas, am auzit k ati inchis serveru kt era alianta la saphiron si mai avea...30% sau plm...imi imbraca ala druidu si mie..pf

_______________________________________
Retras din activitate pe srv asta ... mia facut placere dar m-am saturat sa-si bata joc lumea de munca si timpul meu . Bafta

pus acum 18 ani
   
PaDaS
Camatar de Trib

Din: Bucuresti / Berceni
Inregistrat: acum 19 ani
Postari: 1501
am oprit servarul sa fac update, ma grabeam sa ajung acasa si nu am mai intrat sa anunt, era tarziu si ma grabeam, NU am stiut ca A era la sapp

_______________________________________
Hub   Reteaua   Nebuna  :  reneb.no-ip.org

Camatar de trib -  TBC in curand pe MilenniuM.ro
BOTD - All I leave behind is the breath of the dying!
WoW addiction is a weapon of mass destruction

pus acum 18 ani
   
MiniMe
Corporal

Inregistrat: acum 18 ani
Postari: 99
multumim padas am stat acolo o ora jumatate iarasi si iarasi a cazut asa sa intamplat si penultima data     

_______________________________________
sa terminat vacanta din nou la post

pus acum 18 ani
   
maryoo
Moderator

Din: Constanta-Mamaia
Inregistrat: acum 18 ani
Postari: 1460

Slayer a scris:

pai de unde sa faci 65k honor ??...altii cu 295 de kiluri au rank 8...altii cu 700 au rank 4 nu....daca si asa se calculeaza calumea eu nu mai zic nimic...



Nu vreau sa ma dau mare da sa stiti si voi ceva....nu prea conteaza cat honor ai sau cate kills ai......ci standing..........
PS: numai stiu exact dar sper sa nu ma insel:primii 3 sunt GRAND MARSHAL(iau de la A ca sunt aliac )....urmatorii 5 field marshal.....si tot asa deci STANDING-ul e important care variaza(sunt mult mai multe motive care influenteaza standing-ul)...k ms
PS2:daca gresesc astept sa ma corecteze cineva dar sunt mai mult ca sigur ca HONOR se calculeaza in functie de standing

Modificat de maryoo (acum 18 ani)


_______________________________________
pace voua cititorilor))

pus acum 18 ani
   
DarkLord
Moderator

Din: Bucuresti / Berceni
Inregistrat: acum 18 ani
Postari: 1626
Nu se calculeaza asa...oricum e prost calculat,pe blizz se calculeaza in functie de honor,si deja unii cu honor mai putin ca mine au rank 8 si eu am rank 4...daca asta se numeste calculat corect...GG..oricum nu ma intereseaza honorul,dar asa ca fapt divers.

Poate pe mangos e ca maryoo nu am stat sa verific insa pe original in functie de honor se calculeaza:0 h-rank 0;1-100h rank 1;100-500 rank 3....s.a.m.d.Si eu la 20k honor am rank 4...mda


_______________________________________
-[M]-DARKLORD PVPGN  DOTA PLAYER
FAVOURITE HERO : ANUB'ARAK - NERUBIAN ASSASSIN

pus acum 18 ani
   
xzander
Moderator

Inregistrat: acum 18 ani
Postari: 732
deja pe oficial ... ranku e doar de forma acum... nici nu se mai ia in consideratie... ai honor.... cumperi iteme bune... (limita de honor e de aproape 5k)... nu ai... te duci si faci... honoru e bun de schimb... daca vrei sa te dai mare te dai cu nr de kills si itemele de pe tine.... acum va asteptam in sw sa va refaceti ranku :P
pe noi ne gasiti acolo....


_______________________________________
E .· ` ' / · . F
Your whining fuels me


pus acum 18 ani
   
xzander
Moderator

Inregistrat: acum 18 ani
Postari: 732

DarkLord a scris:

Poate pe mangos e ca maryoo nu am stat sa verific insa pe original in functie de honor se calculeaza:0 h-rank 0;1-100h rank 1;100-500 rank 3....s.a.m.d.Si eu la 20k honor am rank 4...mda



si btw ... limitele sunt
0-1000 r1
1001-5000 r2
5001-10000 r3
10001-15000 r4
etc etc etc
ai uitat un 0 ...


_______________________________________
E .· ` ' / · . F
Your whining fuels me


pus acum 18 ani
   
xzander
Moderator

Inregistrat: acum 18 ani
Postari: 732
hmmm... m-am uitat un pic pe wowadmin.... acolo vad ca am rank 16... acolo de obicei imi arata rank +5 .... deci se poate sa fi ramas la commander ?...

_______________________________________
E .· ` ' / · . F
Your whining fuels me


pus acum 18 ani
   
Fayth
Lieutenanat Commander

Inregistrat: acum 18 ani
Postari: 680
si eu am pierdut rankul dar mi se pare normal ... e adevarat ca era calculat aiurea ... dar am o intrebare ... daca aveam cumparate itemele de warlord si puse pe noi, s-au dat jos ? (eu nu le aveam ... ) ... eu aveam doar mounturile de lieutennant general ( rank 11 )... nu cred ca le mai pot folosi asa-i ?

_______________________________________
Re ol

pus acum 18 ani
   
Silk
Moderator

Inregistrat: acum 18 ani
Postari: 1618
io din rank...nuj cate aveam k cre k aveam vreo 5 rankuri peste leader...am legionnaire...da tot am itemele, deci nu ma plang
asta insemna rank...7-8 la 934 de killuri cate am

Modificat de Silk (acum 18 ani)


_______________________________________
DPS Masiv!!!

pus acum 18 ani
   
Silk
Moderator

Inregistrat: acum 18 ani
Postari: 1618
sambata&duminica hai sa facem o reuniune de faction in fata la sw...sa ne recuperam ranku

_______________________________________
DPS Masiv!!!

pus acum 18 ani
   
Malekith
Pe lista neagra

Inregistrat: acum 18 ani
Postari: 627
vati gandit k poate ati depashit ranku .... ni sa intamplat la murlti ... aprerea mea ..... eu de al lider artam k private dar aveam setu d pvp pe mn ... asha k nush parerea mea e k e aiurea sa depasheshti ...... alti avea 50shi ceva de K shi au depashit ..

pus acum 18 ani
   
Wrath
Team MilenniuM.ro

Din: Brasov
Inregistrat: acum 18 ani
Postari: 427
Pe oficial nu e limita de 5000, nu are cum din moment ce pentru a cumpara iteme bune ajungi sa cheltui si cate 28K honor. E dragut pe blizz, dar mult mai greu(m-am obisnuit cu t2-u, iteme din naxx si xp rate mare ). La lvl 18 am dat de mobi cu fear, curse of agony, stun, stealth, forst nova, fireball de 70-80+dmg...o sa postez in curand si niste pozne...
Cheers!


_______________________________________
Char: Wraath,  Race: Undead,  Class: Rogue
"Wash your hands in the lake of your blood jut before
you die!"
Hey you! in the mirror stop twisting my weak mind!

pus acum 18 ani
   
Hexu
Admin EpiC

Inregistrat: acum 18 ani
Postari: 129
pei ...am fost atacatzi acum ..ji nea dat kill ..dar doar la unii ..ji honor ..nu..
parerea mea ...era mai marfa inainte
k oricum nu suntem k pe blizz ..ji ma refer la numar ..facetzi cum vretzi
+ cum sau recalculat killurile ..avand in vedere k honor se da  in functzie de rankul inamicului ..ji partyul in care ejti ..ji tot .. practic ce atzi facut ..atzi facut media sau cum..?


_______________________________________
FuffyPaws  lvl 60 Gnome Mage
Mica ji Focoasa ))
Alinys  lvl 60 Gnome Rogue
Mica dar suparata

pus acum 18 ani
   
PaDaS
Camatar de Trib

Din: Bucuresti / Berceni
Inregistrat: acum 19 ani
Postari: 1501
asta e patchul nou de honor , e 3262 , acum pe server e ultima rev 3262.

Index: src/game/Formulas.h
===================================================================
--- src/game/Formulas.h    (revision 3262)
+++ src/game/Formulas.h    (working copy)
@@ -72,19 +72,42 @@
         // then when player save, save it!!!
         inline float HonorableKillPoints( Player *killer, Player *victim )
         {
-            int total_kills  = killer->CalculateTotalKills(victim);
-            //int k_rank       = killer->CalculateHonorRank( killer->GetTotalHonor() );
-            uint32 v_rank    = victim->CalculateHonorRank( victim->GetTotalHonor() );
-            uint32 k_level   = killer->getLevel();
-            //int v_level      = victim->getLevel();
-            float diff_honor = (victim->GetTotalHonor() /(killer->GetTotalHonor()+1))+1;
-            float diff_level = (victim->getLevel()*(1.0/( killer->getLevel() )));
+            //New formulas by Zhivoi (Greetings from Russia)
+            int total_kills = killer->CalculateTotalKills(victim);
+            float f;
+            if(total_kills < 10) f = (10 - (float)total_kills)*0.1;
+            else f = 0.0;
+           
+            uint32 k_grey = 0;
+            uint32 k_level = killer->getLevel();
+            uint32 v_level = victim->getLevel();
+           
+            if(k_level <= 5)
+                 k_grey = 0;
+            else if( k_level <= 39 )
+                k_grey = k_level - 5 - k_level/10;
+            else
+                k_grey = k_level - 1 - k_level/5;
+           
+            float diff_level;
+            if((k_level - k_grey) != 0)
+                diff_level = ((float)(v_level - k_grey)) / ((float)(k_level - k_grey));
+            else return 999;    //Check, in character_kill we will see, if working incorrectly
+           
+            if(diff_level > 2.0) diff_level = 2.0;
+            if(diff_level <= 0.0) return 888; //For Debug
+           
+            int32 v_rank = (victim->GetHonorRank() - 4); //We cut all up to the first positive rank
+            if(v_rank < 0) v_rank = 0;
+            if(v_rank < 0) return 777;

-            int f = (4 - total_kills) >= 0 ? (4 - total_kills) : 0;
-            int honor_points = int(((float)(f * 0.25)*(float)((k_level+(v_rank*5+1))*(1+0.05*diff_honor)*diff_level)));
-            return (honor_points <= 400 ? honor_points : 400);
+            float honor_points = f * diff_level * (190 + v_rank*10);
+            //float honor_points = f * diff_level * (190);
+            honor_points *= ((float)k_level) / 60.0; //factor of dependence on levels of the killer
+
+            if(honor_points > 660) return 666; //For Debug
+            else return honor_points;
         }
-
     }

     namespace Combat
Index: src/game/Level0.cpp
===================================================================
--- src/game/Level0.cpp    (revision 3262)
+++ src/game/Level0.cpp    (working copy)
@@ -229,7 +229,7 @@
{
     uint32 dishonorable_kills       = m_session->GetPlayer()->GetUInt32Value(PLAYER_FIELD_LIFETIME_DISHONORABLE_KILLS);
     uint32 honorable_kills          = m_session->GetPlayer()->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORABLE_KILLS);
-    uint32 highest_rank             = (m_session->GetPlayer()->GetHonorHighestRank() < 16)? m_session->GetPlayer()->GetHonorHighestRank() : 0;
+    uint32 highest_rank             = (m_session->GetPlayer()->GetHonorHighestRank() > 4) ? m_session->GetPlayer()->GetHonorHighestRank() - 4 : 0;
     uint32 today_honorable_kills    = (uint16)m_session->GetPlayer()->GetUInt32Value(PLAYER_FIELD_SESSION_KILLS);
     uint32 today_dishonorable_kills = (uint16)(m_session->GetPlayer()->GetUInt32Value(PLAYER_FIELD_SESSION_KILLS)>>16);
     uint32 yesterday_kills          = m_session->GetPlayer()->GetUInt32Value(PLAYER_FIELD_YESTERDAY_KILLS);
@@ -283,13 +283,17 @@

     if ( m_session->GetPlayer()->GetTeam() == ALLIANCE )
     {
-        rank_name = alliance_ranks[ m_session->GetPlayer()->CalculateHonorRank( m_session->GetPlayer()->GetTotalHonor() ) ];
+        if (m_session->GetPlayer()->CalculateHonorRank(m_session->GetPlayer()->GetTotalHonor()) > 4)
+            rank_name = alliance_ranks[ m_session->GetPlayer()->CalculateHonorRank( m_session->GetPlayer()->GetTotalHonor() ) - 4 ];
+        else rank_name = alliance_ranks[0];
         hrank_name = alliance_ranks[ highest_rank ];
     }
     else
     if ( m_session->GetPlayer()->GetTeam() == HORDE )
     {
-        rank_name = horde_ranks[ m_session->GetPlayer()->CalculateHonorRank( m_session->GetPlayer()->GetTotalHonor() ) ];
+        if (m_session->GetPlayer()->CalculateHonorRank(m_session->GetPlayer()->GetTotalHonor()) > 4)
+            rank_name = horde_ranks[ m_session->GetPlayer()->CalculateHonorRank( m_session->GetPlayer()->GetTotalHonor() ) - 4 ];
+        else rank_name = horde_ranks[0];
         hrank_name = horde_ranks[ highest_rank ];
     }
     else
@@ -297,7 +301,8 @@
         rank_name = LANG_NO_RANK;
     }

-    PSendSysMessage(LANG_RANK, rank_name.c_str(), m_session->GetPlayer()->GetName(), m_session->GetPlayer()->CalculateHonorRank( m_session->GetPlayer()->GetTotalHonor() ));
+    PSendSysMessage(LANG_RANK, rank_name.c_str(), m_session->GetPlayer()->GetName(),
+        (m_session->GetPlayer()->CalculateHonorRank( m_session->GetPlayer()->GetTotalHonor() ) > 4)?m_session->GetPlayer()->CalculateHonorRank( m_session->GetPlayer()->GetTotalHonor() ) - 4 : 0);
     PSendSysMessage(LANG_HONOR_TODAY, today_honorable_kills, today_dishonorable_kills);
     PSendSysMessage(LANG_HONOR_YESTERDAY, yesterday_kills, yesterday_honor);
     PSendSysMessage(LANG_HONOR_THIS_WEEK, this_week_kills, this_week_honor);
Index: src/game/Player.cpp
===================================================================
--- src/game/Player.cpp    (revision 3262)
+++ src/game/Player.cpp    (working copy)
@@ -4151,18 +4151,21 @@
     uint32 thisWeekKills = 0;
     uint32 lastWeekKills = 0;

-    float total_honor = 0;
-    float yesterdayHonor = 0;
-    float thisWeekHonor = 0;
-    float lastWeekHonor = 0;
+    float total_honor = 0.0;
+    float yesterdayHonor = 0.0;
+    float thisWeekHonor = 0.0;
+    float lastWeekHonor = 0.0;
+    float total_last_weekend_honor = 0.0; //Total honor (until last weekend)

+
     time( &rawtime );
     now = localtime( &rawtime );

     today = ((uint32)(now->tm_year << 16)|(uint32)(now->tm_yday));

     Yesterday     = today - 1;
-    ThisWeekBegin = today - now->tm_wday;
+    ThisWeekBegin = today - (now->tm_wday - 3);
+    if(ThisWeekBegin > today) ThisWeekBegin -= 7;
     ThisWeekEnd   = ThisWeekBegin + 7;
     LastWeekBegin = ThisWeekBegin - 7;
     LastWeekEnd   = LastWeekBegin + 7;
@@ -4181,7 +4184,7 @@
             if(fields[0].GetUInt32() == HONORABLE_KILL)
             {
                 lifetime_honorableKills++;
-                //total_honor += fields[1].GetFloat();
+                total_honor += fields[1].GetFloat();

                 if( date == today)
                 {
@@ -4206,14 +4209,17 @@
                 //All honor points until last week
                 if( date < LastWeekEnd )
                 {
-                    total_honor += fields[1].GetFloat();
+                    total_last_weekend_honor += fields[1].GetFloat();
                 }

             }
             else if(fields[0].GetUInt32() == DISHONORABLE_KILL)
             {
                 lifetime_dishonorableKills++;
-                //total_honor -= fields[1].GetFloat();
+                total_honor -= fields[1].GetFloat();
+               
+                if(total_honor < -2500.0) total_honor = -2500.0;
+                if(total_honor > 64999.0) total_honor = 64999.0;

                 if( date == today)
                 {
@@ -4223,7 +4229,8 @@
                 //All honor points until last week
                 if( date < LastWeekEnd )
                 {
-                    total_honor -= fields[1].GetFloat();
+                    total_last_weekend_honor -= fields[1].GetFloat();
+                    if(total_last_weekend_honor < -2500.0) total_last_weekend_honor = -2500.0;
                 }
             }
         }
@@ -4232,14 +4239,15 @@
         delete result;
     }

-    //Store Total Honor points...
+    //Store Total Honor points...
     SetTotalHonor(total_honor);
+    SetWeekEndHonor(total_last_weekend_honor);

     //RIGHEST RANK
     //If the new rank is highest then the old one, then m_highest_rank is updated
-    if( CalculateHonorRank(total_honor) > GetHonorHighestRank() )
+    if( CalculateHonorRank(total_last_weekend_honor) > GetHonorHighestRank() )
     {
-        SetHonorHighestRank( CalculateHonorRank(total_honor) );
+        SetHonorHighestRank( CalculateHonorRank(total_last_weekend_honor) );
     }

     //RATING
@@ -4248,16 +4256,28 @@
     //STANDING
     SetHonorLastWeekStanding( MaNGOS::Honor::CalculeStanding(this) );

-    //TODO Fix next rank bar... it is not working fine! For while it be set with the total honor points...
     //NEXT RANK BAR
     //PLAYER_FIELD_HONOR_BAR
-    SetUInt32Value(PLAYER_FIELD_BYTES2, (uint32)( (total_honor < 0) ? 0: total_honor) );
+//    SetUInt32Value(PLAYER_FIELD_BYTES2, (uint32)( (total_honor < 0) ? 0: total_honor) );

-    //RANK (Patent)
-    if( CalculateHonorRank(total_honor) )
-        SetUInt32Value(PLAYER_BYTES_3, (( CalculateHonorRank(total_honor) << 24) + 0x04000000) + (m_drunk & 0xFFFE) + getGender());
-    else
-        SetUInt32Value(PLAYER_BYTES_3, (m_drunk & 0xFFFE) + getGender());
+    if( total_honor <= 0.00 )
+    {
+        SetUInt32Value(PLAYER_FIELD_BYTES2, 0 );
+    }
+    else
+    {
+        float honor_bar;
+        if( total_honor <= 2000 )
+            honor_bar = total_honor * 0.1275;
+        else if( total_honor <= 5000 )
+            honor_bar = (total_honor-2000) * 0.085;
+        else
+            honor_bar = ( (uint32)total_honor % 5000) * 0.051;
+       
+        SetUInt32Value(PLAYER_FIELD_BYTES2, (uint32)honor_bar );
+    }
+    //RANK
+        SetUInt32Value(PLAYER_BYTES_3, (CalculateHonorRank(total_last_weekend_honor) << 24) + (m_drunk & 0xFFFE) + getGender());

     //TODAY
     SetUInt32Value(PLAYER_FIELD_SESSION_KILLS, (today_dishonorableKills << 16) + today_honorableKills );
@@ -4273,7 +4293,6 @@
     SetUInt32Value(PLAYER_FIELD_LAST_WEEK_RANK, GetHonorLastWeekStanding());

     //LIFE TIME
-    SetUInt32Value(PLAYER_FIELD_SESSION_KILLS, (lifetime_dishonorableKills << 16) + lifetime_honorableKills );
     SetUInt32Value(PLAYER_FIELD_LIFETIME_DISHONORABLE_KILLS, lifetime_dishonorableKills);
     SetUInt32Value(PLAYER_FIELD_LIFETIME_HONORABLE_KILLS, lifetime_honorableKills);
     //TODO: Into what field we need to set it? Fix it!
@@ -4282,19 +4301,21 @@

uint32 Player::GetHonorRank() const
{
-    return CalculateHonorRank(m_total_honor_points);
+    return CalculateHonorRank(m_honor_points_lastweek);
}

-//What is Player's rank... private, scout...
+//What is Player's rank
uint32 Player::CalculateHonorRank(float honor_points) const
{
-    int rank = 0;
-
-    if(honor_points <=    0.00) rank = 0; else
-        if(honor_points <  2000.00) rank = 1;
+    uint32 rank = 0;
+    if        (honor_points <= -2000.0) rank = 1;    // Pariah (-4)
+    else if    (honor_points <= -1000.0) rank = 2;    // Outlaw (-3)
+    else if    (honor_points <= -500.0) rank = 3;    // Exiled (-2)
+    else if    (honor_points < 0.0) rank = 4;        // Dishonored (-1)
+    else if    (honor_points == 0.0) rank = 0;        // No rank (0)
+    else if    (honor_points <= 2000.0) rank = 5;    // First rank
     else
-        rank = ( (int)(honor_points / 5000) + 1);
-
+            rank = ((int)(honor_points / 5000) + 6);
     return rank;
}

@@ -4302,9 +4323,16 @@
int Player::CalculateTotalKills(Player *pVictim) const
{
     int total_kills = 0;
-
-    QueryResult *result = sDatabase.PQuery("SELECT count(*) as cnt FROM `character_kill` WHERE `guid` = '%u' AND `creature_template` = '%u'", GetGUIDLow(), pVictim->GetEntry());
-
+   
+    //Change GetEntry to GetGUIDLow for Victim & Added Today kills (from wowwiki)
+    time_t rawtime;
+    struct tm * now;
+    uint32 today = 0;
+    time( &rawtime );
+    now = localtime( &rawtime );
+    today = ((uint32)(now->tm_year << 16)|(uint32)(now->tm_yday));
+    //QueryResult *result = sDatabase.PQuery("SELECT `honor` FROM `character_kill` WHERE `guid` = '%u' AND `creature_template` = '%u' AND `date` = '%u'", GetGUIDLow(), pVictim->GetGUIDLow(), (uint32)today);
+    QueryResult *result = sDatabase.PQuery("SELECT count(*) as cnt FROM `character_kill` WHERE `guid` = '%u' AND `creature_template` = '%u' AND `date` = '%u'", GetGUIDLow(), pVictim->GetGUIDLow(), (uint32)today);
     if(result)
     {
         Field *fields = result->Fetch();
@@ -4315,7 +4343,7 @@
}

//How much honor Player gains/loses killing uVictim
-void Player::CalculateHonor(Unit *uVictim)
+void Player::CalculateHonor(Unit *uVictim, float honor_mn)
{
     float parcial_honor_points = 0;
     int kill_type = 0;
@@ -4333,6 +4361,15 @@
         {
             parcial_honor_points = MaNGOS::Honor:ishonorableKillPoints( getLevel() );
             kill_type = DISHONORABLE_KILL;
+///*******************************************ADDED For "Flying away DK"
+            WorldPacket data;
+            data.Initialize(SMSG_PVP_CREDIT);
+            data << (uint32) 0; // honor points   
+            data << (uint64) cVictim->GetGUID(); // guid civilian victim
+            //uint32 v_rank  = cVictim->GetHonorRank();
+            //data << (uint32) (v_rank);
+            this->GetSession()->SendPacket(&data);
+///*******************************************END
             savekill = true;
         }
     }
@@ -4342,15 +4379,34 @@
         Player *pVictim = (Player *)uVictim;

         if( GetTeam() == pVictim->GetTeam() ) return;
-
-        if( getLevel() < (pVictim->getLevel()+5) )
+        //Gray Level
+        int32 pl_grey = 0;
+        int32 pl_level = getLevel();
+        if( pl_level <= 5 )
+                 pl_grey = 0;
+            else if( pl_level <= 39 )
+                pl_grey = pl_level - 5 - pl_level/10;
+            else
+                pl_grey = pl_level - 1 - pl_level/5;
+        if( pVictim->getLevel() > pl_grey )
         {
             parcial_honor_points = MaNGOS::Honor::HonorableKillPoints( this, pVictim );
+            parcial_honor_points *= honor_mn;
             kill_type = HONORABLE_KILL;
+///*******************************************ADDED For "Flying away rank"
+            WorldPacket data;
+            data.Initialize(SMSG_PVP_CREDIT);
+            data << (uint32) parcial_honor_points; // honor points   
+            // If guid=0, in combatlog: You have been awarded %u honor points.
+            // If guid != 0, in combatlog - player_name dies, honorable kill Rank: rank_name (Estimated Honor Points: %u)
+            data << (uint64) pVictim->GetGUID(); // guid victim
+            uint32 v_rank  = pVictim->GetHonorRank();
+            data << (uint32) (v_rank);
+            this->GetSession()->SendPacket(&data);
+///*******************************************END
             savekill = true;
         }
     }
-
     if (savekill)
     {
         time_t rawtime;
@@ -4360,8 +4416,8 @@
         now = localtime( &rawtime );
         today = ((uint32)(now->tm_year << 16)|(uint32)(now->tm_yday));

-        sDatabase.PExecute("INSERT INTO `character_kill` (`guid`,`creature_template`,`honor`,`date`,`type`) VALUES (%u, %u, %f, %u, %u)", (uint32)GetGUIDLow(), (uint32)uVictim->GetEntry(), (float)parcial_honor_points, (uint32)today, (uint8)kill_type);
-
+        // Change GetEntry to GetGUIDLow for Victim
+        sDatabase.PExecute("INSERT INTO `character_kill` (`guid`,`creature_template`,`honor`,`date`,`type`) VALUES (%u, %u, %f, %u, %u)", (uint32)GetGUIDLow(), (uint32)uVictim->GetGUIDLow(), (float)parcial_honor_points, (uint32)today, (uint8)kill_type);
         UpdateHonor();
     }
}
@@ -7093,7 +7149,7 @@
         }
         if( pProto->RequiredSpell != 0 && !HasSpell( pProto->RequiredSpell ) )
             return false;
-        if( GetHonorRank() < pProto->RequiredHonorRank )
+        if( GetHonorHighestRank() < pProto->RequiredHonorRank ) //Change to Highest Rank ( Old GetHonorRank() )
             return false;
         if( getLevel() < pProto->RequiredLevel )
             return false;
@@ -7125,7 +7181,7 @@
         }
         if( pProto->RequiredSpell != 0 && !HasSpell( pProto->RequiredSpell ) )
             return EQUIP_ERR_NO_REQUIRED_PROFICIENCY;
-        if( GetHonorRank() < pProto->RequiredHonorRank )
+        if( GetHonorHighestRank() < pProto->RequiredHonorRank ) //Change to Highest Rank ( Old GetHonorRank() )
             return EQUIP_ITEM_RANK_NOT_ENOUGH;
         /*if( GetReputation() < pProto->RequiredReputation )
         return EQUIP_ITEM_REPUTATION_NOT_ENOUGH;
Index: src/game/Player.h
===================================================================
--- src/game/Player.h    (revision 3262)
+++ src/game/Player.h    (working copy)
@@ -1048,13 +1048,17 @@
         /***                  HONOR SYSTEM                     ***/
         /*********************************************************/
         void UpdateHonor();
-        void CalculateHonor(Unit *pVictim);
+//        void CalculateHonor(Unit *pVictim); //Changed for GroupHonor
+        void CalculateHonor(Unit *pVictim, float); //Changed for GroupHonor
         uint32 CalculateHonorRank(float honor) const;
         uint32 GetHonorRank() const;
         int  CalculateTotalKills(Player *pVictim) const;
         //Acessors of total honor points
         void SetTotalHonor(float total_honor_points) { m_total_honor_points = total_honor_points; };
         float GetTotalHonor(void) const { return m_total_honor_points; };
+        void SetWeekEndHonor(float total_week_honor_points) { m_honor_points_lastweek = total_week_honor_points; };
+        float GetWeekEndHonor(void) const { return m_honor_points_lastweek; };
+
         //Acessors of righest rank
         uint32 GetHonorHighestRank() const { return m_highest_rank; }
         void SetHonorHighestRank(uint32 hr) { m_highest_rank = hr; }
@@ -1308,6 +1312,9 @@
         std::deque<uint32> m_TaxiDestinations;

         float m_total_honor_points;
+        //Added by Zhivoi
+        float m_honor_points_lastweek; //For calculate rang
+
         float m_rating;
         uint32 m_highest_rank;
         int32 m_standing;
Index: src/game/Unit.cpp
===================================================================
--- src/game/Unit.cpp    (revision 3262)
+++ src/game/Unit.cpp    (working copy)
@@ -421,13 +421,13 @@
         if(player)
         {
             float honordiff = player->GetTotalHonor();
-            player->CalculateHonor(pVictim);
             honordiff -= player->GetTotalHonor();

             player->CalculateReputation(pVictim);

             if(!PvP)
             {
+                player->CalculateHonor(pVictim,1.0); //Civilian
                 DEBUG_LOG("DealDamageIsPvE";
                 uint32 xp = MaNGOS::XP::Gain(player, pVictim);

@@ -467,6 +467,64 @@
                 if(xp || honordiff < 0)
                     ProcDamageAndSpell(pVictim,PROC_FLAG_KILL_XP_GIVER,PROC_FLAG_NONE);
             }
+            ///// HONOR PARTY
+            else
+            {
+                Group *pGroup = player->groupInfo.group;
+                if(pGroup)
+                {
+                    uint32 party_level = 0; //party level
+                    uint32 party_grey = 0;    //party grey level
+                    int32 party_membcount = pGroup->GetMembersCount(); //Members
+
+                    for (uint32 i = 0; i < pGroup->GetMembersCount(); i++)
+                    {
+                        Player *pGroupGuy = objmgr.GetPlayer(pGroup->GetMemberGUID(i));
+                        if(    (!pGroupGuy) ||    //Player
+                            (pVictim->GetDistanceSq(pGroupGuy) > sWorld.getConfig(CONFIG_GROUP_XP_DISTANCE)) || //Distance
+                            (!pGroupGuy->isAlive()) )    //Died
+                        {
+                            party_membcount-=1;
+                            continue;
+                        }
+                        //We take only alive players, which beside
+                        if(i+1) //check
+                            party_leveluint32)((float)((party_level*i)+pGroupGuy->getLevel()))/((float)(i+1));
+                        else pGroupGuy->CalculateHonor(pVictim,10.0);    //FOR DEBUG
+                    }
+
+                    if( party_level <= 10 )
+                        party_grey = 0;
+                    else party_grey = party_level * 0.9;
+                   
+                    for (uint32 i = 0; i < pGroup->GetMembersCount(); i++)
+                    {
+                        Player *pGroupGuy = objmgr.GetPlayer(pGroup->GetMemberGUID(i));
+                        if(!pGroupGuy) //No Player
+                        {
+                            continue;
+                        }
+                        if(pVictim->GetDistanceSq(pGroupGuy) > sWorld.getConfig(CONFIG_GROUP_XP_DISTANCE)) //Distance too greater
+                        {
+                            continue;
+                        }
+                        if(!pGroupGuy->isAlive()) //Player has died
+                        {
+                            continue;
+                        }
+                        //if all cheks passed - give honor for this player
+                        if(pGroupGuy->getLevel() > party_grey)
+                        {
+                            if(party_membcount<1) party_membcount=1;
+                            pGroupGuy->CalculateHonor(pVictim,(float)(1.0/((float)party_membcount)));
+                        }
+                    }
+                }
+                else //No Group
+                {
+                    player->CalculateHonor(pVictim,1.0);
+                }
+            }
         }
         else
         {


_______________________________________
Hub   Reteaua   Nebuna  :  reneb.no-ip.org

Camatar de trib -  TBC in curand pe MilenniuM.ro
BOTD - All I leave behind is the breath of the dying!
WoW addiction is a weapon of mass destruction

pus acum 18 ani
   
Malekith
Pe lista neagra

Inregistrat: acum 18 ani
Postari: 627
mi-ai luat cuv din gura padas :P  

pus acum 18 ani
   
xzander
Moderator

Inregistrat: acum 18 ani
Postari: 732
ai postat inaintea mea padas...  vroiam sa le explic eu...   

_______________________________________
E .· ` ' / · . F
Your whining fuels me


pus acum 18 ani
   
Malekith
Pe lista neagra

Inregistrat: acum 18 ani
Postari: 627
Padas .... e de Arghezi nu ..... sa ude Eminescu k ala le are cu scrisu mult :P    

pus acum 18 ani
   
Baitoiuu
Knight-Champion

Din: Bucuresti / Berceni
Inregistrat: acum 18 ani
Postari: 436
prea mult de citit
Pe original ranku se calculeaza dupa standing cum a zis maryoo dar a gresit undeva .. primele 2 locuri le ocupa High Warlorzii , urmatoarele 4  Warlord , urmatoarele 8 General , urmatoarele 12 Liteunetant General s.a. 
mai e o chestie .. tu ai ajuns in primele 2 locuri esi HIgh warlord daca in timp te depaseste cineva la honor si ajungi pe locu 3 dau un ex esti Warlord dar tu poti purta in continuare itemurile de HIgh warlord din moment ce tu ai fost Highest rank High Warlord in Life time Astea spuse de un jucator pe blizzard lvl 70 rogue se stie el eu am bagat bine la cap :P

Modificat de Baitoiuu (acum 18 ani)


_______________________________________


pus acum 18 ani
   
maryoo
Moderator

Din: Constanta-Mamaia
Inregistrat: acum 18 ani
Postari: 1460

Baitoiuu a scris:

prea mult de citit
Pe original ranku se calculeaza dupa standing cum a zis maryoo dar a gresit undeva .. primele 2 locuri le ocupa High Warlorzii , urmatoarele 4  Warlord , urmatoarele 8 General , urmatoarele 12 Liteunetant General s.a. 


Stiam ca am dreptate dar am grresit la locuri.....BTW.....amandoi stim asta de la maretul TASMANIA


_______________________________________
pace voua cititorilor))

pus acum 18 ani
   
Baitoiuu
Knight-Champion

Din: Bucuresti / Berceni
Inregistrat: acum 18 ani
Postari: 436
true :X

_______________________________________


pus acum 18 ani
   
DarkLord
Moderator

Din: Bucuresti / Berceni
Inregistrat: acum 18 ani
Postari: 1626

xzander a scris:


DarkLord a scris:

Poate pe mangos e ca maryoo nu am stat sa verific insa pe original in functie de honor se calculeaza:0 h-rank 0;1-100h rank 1;100-500 rank 3....s.a.m.d.Si eu la 20k honor am rank 4...mda



si btw ... limitele sunt
0-1000 r1
1001-5000 r2
5001-10000 r3
10001-15000 r4
etc etc etc
ai uitat un 0 ...


Mda..am postat la 6:30 dimineata
Edit: Avea dreptate Maryoo asa se calcula honorul in functie de standing,ramasesem in spate pe WoW emu eu

Modificat de DarkLord (acum 18 ani)


_______________________________________
-[M]-DARKLORD PVPGN  DOTA PLAYER
FAVOURITE HERO : ANUB'ARAK - NERUBIAN ASSASSIN

pus acum 18 ani
   
maryoo
Moderator

Din: Constanta-Mamaia
Inregistrat: acum 18 ani
Postari: 1460

maryoo a scris:


Baitoiuu a scris:

prea mult de citit
Pe original ranku se calculeaza dupa standing cum a zis maryoo dar a gresit undeva .. primele 2 locuri le ocupa High Warlorzii , urmatoarele 4  Warlord , urmatoarele 8 General , urmatoarele 12 Liteunetant General s.a. 


Stiam ca am dreptate dar am grresit la locuri.....BTW.....amandoi stim asta de la maretul TASMANIA


PS:defapt ai gresit la ceva:primele 2 locuri le ocupa GRAND MARSHAL.....s.a
   

Modificat de maryoo (acum 18 ani)


_______________________________________
pace voua cititorilor))

pus acum 18 ani
   
Hexu
Admin EpiC

Inregistrat: acum 18 ani
Postari: 129
pei ..da ma rog ..se calculeaza dupa standing ..dar standing dupa ce se calculeaza .. k eu am mai multe HK decat Malekith ..ji am rank mai mic ..ji Honor nici nu da cand omor ..so ..whats the point ><

_______________________________________
FuffyPaws  lvl 60 Gnome Mage
Mica ji Focoasa ))
Alinys  lvl 60 Gnome Rogue
Mica dar suparata

pus acum 18 ani
   
maryoo
Moderator

Din: Constanta-Mamaia
Inregistrat: acum 18 ani
Postari: 1460

Hexu a scris:

pei ..da ma rog ..se calculeaza dupa standing ..dar standing dupa ce se calculeaza .. k eu am mai multe HK decat Malekith ..ji am rank mai mic ..ji Honor nici nu da cand omor ..so ..whats the point ><


Standing......dupa mai multe criterii.....kills intr.o singura zi.....pe saptamana...in ultima saptamana...HONOR cumulat..sunt multe care determina standing-ul....mai corect trebuie sa farmezi mult....


_______________________________________
pace voua cititorilor))

pus acum 18 ani
   
Pagini: 1  

Mergi la