Advertisement
Guest User

Untitled

a guest
Jun 10th, 2014
276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 3.93 KB | None | 0 0
  1. Index: db/pre-re/skill_unit_db.txt
  2. ======================================================================================================
  3. @@ -37,7 +37,7 @@
  4.   83,0x86,    ,  0, 3,1000,enemy, 0x010 //WZ_METEOR
  5.   85,0x86,    ,  0, 6:6:6:6:6:6:6:6:6:6:8,1250,enemy,0x018  //WZ_VERMILION
  6.   87,0x8d,    , -1, 0,  -1,all,   0x010 //WZ_ICEWALL
  7. - 89,0x86,    ,  0, 5, 450,enemy, 0x018 //WZ_STORMGUST
  8. + 89,0x86,    ,  0, 1, 450,enemy, 0x018 //WZ_STORMGUST
  9.   91,0x86,    ,  0, 2,1000,enemy, 0x010 //WZ_HEAVENDRIVE
  10.   92,0x8e,    ,  2, 0,  -1,enemy, 0x010 //WZ_QUAGMIRE
  11.  115,0x90,    ,  0, 1,1000,enemy, 0x006 //HT_SKIDTRAP
  12.  
  13. Index: src/map/skill.h
  14. ======================================================================================================
  15. @@ -38,7 +38,7 @@ struct status_change_entry;
  16.  #define MAX_SQUARE_LAYOUT      5   // 11*11 Placement of a maximum unit
  17.  #define MAX_SKILL_UNIT_COUNT ((MAX_SQUARE_LAYOUT*2+1)*(MAX_SQUARE_LAYOUT*2+1))
  18.  #define MAX_SKILLTIMERSKILL 15
  19. -#define MAX_SKILLUNITGROUP 25
  20. +#define MAX_SKILLUNITGROUP 810
  21.  #define MAX_SKILL_ITEM_REQUIRE 10
  22.  #define MAX_SKILLUNITGROUPTICKSET 25
  23.  #define MAX_SKILL_NAME_LENGTH 30
  24. @@ -1676,6 +1676,8 @@ struct skill_unit_group {
  25.     int party_id;
  26.     int guild_id;
  27.     int bg_id;
  28. +   int16 cux;
  29. +   int16 cuy;
  30.     int map;
  31.     int target_flag; //Holds BCT_* flag for battle_check_target
  32.     int bl_flag;    //Holds BL_* flag for map_foreachin* functions
  33.  
  34. Index: src/map/skill.c
  35. ======================================================================================================
  36. @@ -9947,7 +9950,6 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
  37.         case WZ_FIREPILLAR:
  38.         case WZ_QUAGMIRE:
  39.         case WZ_VERMILION:
  40. -       case WZ_STORMGUST:
  41.         case WZ_HEAVENDRIVE:
  42.         case PR_SANCTUARY:
  43.         case PR_MAGNUS:
  44. @@ -10078,6 +10080,15 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
  45.                     skill_id,0,skill_lv,sg->group_id,skill->get_time(skill_id,skill_lv));
  46.             flag|=1;
  47.             break;
  48. +       // Initialize SG cells on a 9x9 grind [GrumpyPanda]
  49. +       case WZ_STORMGUST:
  50. +           {
  51. +           int i;
  52. +           int j;
  53. +           for(i=0;i<9;i++)
  54. +               for(j=0;j<9;j++)
  55. +                   skill->unitsetting(src,skill_id,skill_lv,x-4+i,y-4+j,0);
  56. +           }
  57. +           break;
  58.         case RG_CLEANER: // [Valaris]
  59.             r = skill->get_splash(skill_id, skill_lv);
  60.             map->foreachinarea(skill->graffitiremover,src->m,x-r,y-r,x+r,y+r,BL_SKILL);
  61. @@ -11047,6 +11058,8 @@ struct skill_unit_group* skill_unitsetting(struct block_list *src, uint16 skill_
  62.     group->state.song_dance = (unit_flag&(UF_DANCE|UF_SONG)?1:0)|(unit_flag&UF_ENSEMBLE?2:0); //Signals if this is a song/dance/duet
  63.     group->state.guildaura = ( skill_id >= GD_LEADERSHIP && skill_id <= GD_HAWKEYES )?1:0;
  64.     group->item_id = req_item;
  65. +   group->cux = x;
  66. +   group->cuy = y;
  67.     //if tick is greater than current, do not invoke onplace function just yet. [Skotlex]
  68.     if (DIFF_TICK(group->tick, timer->gettick()) > SKILLUNITTIMER_INTERVAL)
  69.         active_flag = 0;
  70. @@ -15572,6 +15611,8 @@ struct skill_unit_group* skill_initunitgroup (struct block_list* src, int count,
  71.     group->val1        = 0;
  72.     group->val2        = 0;
  73.     group->val3        = 0;
  74. +   group->cux         = 0;
  75. +   group->cuy         = 0;
  76.     group->skill_id    = skill_id;
  77.     group->skill_lv    = skill_lv;
  78.     group->unit_id     = unit_id;
  79. @@ -15789,10 +15830,19 @@ int skill_unit_timer_sub_onplace(struct block_list* bl, va_list ap) {
  80.         return 0;
  81.  
  82.     nullpo_ret(group);
  83. -
  84. +   // This enables SG and MS to splash onto LP [GrumpyPanda]
  85. +   switch(group->skill_id){
  86. +   case WZ_METEOR:
  87. +   case WZ_STORMGUST:
  88. +   {
  89. +       if(map->getcell(bl->m, group->cux, group->cuy, CELL_CHKLANDPROTECTOR))
  90. +       return 0;
  91. +   }
  92. +       break;
  93. +   default:
  94.     if( !(skill->get_inf2(group->skill_id)&(INF2_SONG_DANCE|INF2_TRAP|INF2_NOLP)) && map->getcell(bl->m, bl->x, bl->y, CELL_CHKLANDPROTECTOR) )
  95.         return 0; //AoE skills are ineffective. [Skotlex]
  96. -
  97. +   }
  98.     if( battle->check_target(&su->bl,bl,group->target_flag) <= 0 )
  99.         return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement