Skin Designed by Evanescence at IBSkin.com

Здравствуйте, гость ( Вход | Регистрация )


 
Добавить ответ в эту темуОткрыть тему
> +10 К Статам Для Супер Новиса, не работает корректно
Atomnaya
сообщение 1.12.2007, 2:10
Сообщение #1


Иконка группы


Группа: Пользователи
Сообщений: 9
Регистрация: 27.6.2007
Пользователь №: 19718



    


В продолжение открытой мною темы , хочу сказать, что если такой персонаж, как СуперНовис существует, значит, он для чего-то придуман.

Разработчики Атены настолько "забили" на СН, что даже не сделали до путя ему его законный +10 ко всем статам бонус... (ровно как и не довели до ума НИОДИН его бонус (IMG:http://rusro2.org/forum/style_emoticons/default/sad.gif) ).
В Атене бонус +10 ко всем статам позиционируется так:
Цитата
If a Super Novice has never died and is at least joblv 70, he gets all stats +10

что означает:
Цитата
если СН никогда не умирал и джоб, хотя-бы 70, то получит +10 к статам

Это есть откровенная глупость, хотя-бы потому, что на ПВП и ГВ тоже ведется счет смертей...
Короче, говоря, если даже и прожил без смертей до 99/99, а потом умер на ПВП/ГВ - прощай бонус...

Мое предложение относится к ГМам: Давайте восстановим справедливость и дадим СНу хотя-бы один его законный бонус!!!

Итак, все, что я предлагаю, это немного поправить эмуль, дабы
Цитата
после 70-го джоба, СН, если ниразу не умер, получал бы +10 ко всем статам навсегда
а не до смерти.

Выкладываю патчик для СВН (11782) версии Атены написанный мною.
Уверен, что ГМы найдут его куда применить.
Буду оооооочень благодарен, если мои мольбы услышат!

Код
Index: map.h
===================================================================
--- map.h    (revision 11782)
+++ map.h    (working copy)
@@ -734,6 +734,7 @@
    unsigned char mission_count; //Stores the bounty kill count for TK_MISSION
    short mission_mobid; //Stores the target mob_id for TK_MISSION
    int die_counter; //Total number of times you've died
+    int sn_die_bonus; //Super Novice (+10 to all stats) Bonus
    int devotion[5]; //Stores the char IDs of chars devoted to.
    int reg_num; //Number of registries (type numeric)
    int regstr_num; //Number of registries (type string)
Index: pc.c
===================================================================
--- pc.c    (revision 11782)
+++ pc.c    (working copy)
@@ -841,6 +841,7 @@
    
    sd->change_level = pc_readglobalreg(sd,"jobchange_level");
    sd->die_counter = pc_readglobalreg(sd,"PC_DIE_COUNTER");
+    sd->sn_die_bonus = pc_readglobalreg(sd,"PC_SN_BONUS10");

    if ((sd->class_&MAPID_BASEMASK)==MAPID_TAEKWON)
    {    //Better check for class rather than skill to prevent "skill resets" from unsetting this
@@ -4207,6 +4208,12 @@
    clif_updatestatus(sd,SP_JOBLEVEL);
    clif_updatestatus(sd,SP_NEXTJOBEXP);
    clif_updatestatus(sd,SP_SKILLPOINT);
+    
+    if ((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && !sd->sn_die_bonus && sd->die_counter == 0 && sd->status.job_level >= 70){
+        pc_setglobalreg(sd,"PC_SN_BONUS10",1);
+        sd->sn_die_bonus=1;
+    }    
+    
    status_calc_pc(sd,0);
    clif_misceffect(&sd->bl,1);
    if (pc_checkskill(sd, SG_DEVIL) && !pc_nextjobexp(sd))
Index: status.c
===================================================================
--- status.c    (revision 11782)
+++ status.c    (working copy)
@@ -1982,7 +1982,7 @@
    }

    // If a Super Novice has never died and is at least joblv 70, he gets all stats +10
-    if((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->die_counter == 0 && sd->status.job_level >= 70){
+    if((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->sn_die_bonus){
        status->str += 10;
        status->agi += 10;
        status->vit += 10;
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24.5.2024, 22:05
Ragnarok RusRO. Бесплатный сервер онлайн игры. Рейтинг@Mail.ru

Рейтинг серверов Айон