Перейти к содержимому


Разрещение использовать скиллы ГМам на noskll картах


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 Гость__*

Гость__*
  • Гости

Отправлено 02 августа 2009 - 14:23

Понадобилось - сделал. Потестил - работает. В диффе стоит pc_isGM() < 99 просто заменить на нужный ГМлвл(к примеру ГМлвл Eva-00) 99 для теста было.
Разширение *.patch запрещено приходится выкладывать так:

Index: skill.c
===================================================================
--- skill.c     (revision 13941)
+++ skill.c     (working copy)
@@ -375,7 +375,7 @@
                       
}
                       
break;
       
}
-       return (map[m].flag.noskill);
+       return (map[m].flag.noskill && (pc_isGM(sd) < 99));
 
}
 
 
// [orn] - skill ok to cast? and when? //homunculus

Патч под тортойс, но можно и ручками.

#2 Гость__*

Гость__*
  • Гости

Отправлено 04 августа 2009 - 03:18

Отключение triple attack, blitzbeat и double attack на noskill мапах.
skill.c
Index: skill.c
===================================================================
--- skill.c     (revision 13941)
+++ skill.c     (working copy)
@@ -457,7 +457,7 @@
       
{
               
if(sd) {
                       
// Automatic trigger of Blitz Beat
-                       if (pc_isfalcon(sd) && sd->status.weapon == W_BOW && (skill=pc_checkskill(sd,HT_BLITZBEAT))>0 &&
+                       if (!map[sd->bl.m].flag.noskill && pc_isfalcon(sd) && sd->status.weapon == W_BOW && (skill=pc_checkskill(sd,HT_BLITZBEAT))>0 &&
                                rand
()%1000 <= sstatus->luk*10/3+1 ) {
                                rate
=(sd->status.job_level+9)/10;
                                skill_castend_damage_id
(src,bl,HT_BLITZBEAT,(skill 0)
+                               if (pc_checkskill(sd, MO_CHAINCOMBO) > 0 && !map[sd->bl.m].flag.noskill)
                                        flag
=1;
                               
break;
                       
case MO_CHAINCOMBO:


        
Index: battle.c
===================================================================
--- battle.c    (revision 13941)
+++ battle.c    (working copy)
@@ -1976,7 +1976,7 @@
 
       
if(sd && !skill_num && !flag.cri)
       
{       //Check for double attack.
-               if(((skill_lv = pc_checkskill(sd,TF_DOUBLE)) > 0 && sd->weapontype1 == W_DAGGER)
+               if(((skill_lv = pc_checkskill(sd,TF_DOUBLE)) > 0 && sd->weapontype1 == W_DAGGER && !map[sd->bl.m].flag.noskill)
                       
||(sd->double_rate > 0 && sd->weapontype1 != W_FIST)) //Will fail bare-handed
               
{       //Success chance is not added, the higher one is used [Skotlex]
                       
if (rand()%100 < (5*skill_lv>sd->double_rate?5*skill_lv:sd->double_rate))

Содержание патчей под тортойс


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей

HotLog Top.Mail.Ru