Jump to content
  • 0

request: creator stalker proffesor


cadz

Question


  • Group:  Members
  • Topic Count:  83
  • Topics Per Day:  0.02
  • Content Count:  243
  • Reputation:   1
  • Joined:  08/29/12
  • Last Seen:  

hi there how to fix the stalker skill when im using the full protect of the creator only the full strip block right? and the 1 by 1 stripped will bypass the full protect like weapon strip. how to fix this thanks in advance...

hi there anyone can help me when i used FCP professor cannot dispel it and stalker cannot normally stripped anyone can help me thanks in advance.

anyone?

bump!

Link to comment
Share on other sites

9 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  782
  • Reputation:   82
  • Joined:  01/01/12
  • Last Seen:  

Open skill.c find

int skill_strip_equip(struct block_list *bl, unsigned short where, int rate, int lv, int time)
{
struct status_change *sc;
const int pos[5]			 = {EQP_WEAPON, EQP_SHIELD, EQP_ARMOR, EQP_HELM, EQP_ACC};
const enum sc_type sc_atk[5] = {SC_STRIPWEAPON, SC_STRIPSHIELD, SC_STRIPARMOR, SC_STRIPHELM, SC__STRIPACCESSORY};
const enum sc_type sc_def[5] = {SC_CP_WEAPON, SC_CP_SHIELD, SC_CP_ARMOR, SC_CP_HELM, 0};
int i;
if (rnd()%100 >= rate)
 return 0;
sc = status_get_sc(bl);
if (!sc || sc->option&OPTION_MADOGEAR ) //Mado Gear cannot be divested [ind]
 return 0;
for (i = 0; i < ARRAYLENGTH(pos); i++) {
 if (where&pos[i] && sc->data[sc_def[i]])
  where&=~pos[i];
}
if (!where) return 0;
for (i = 0; i < ARRAYLENGTH(pos); i++) {
 if (where&pos[i] && !sc_start(bl, sc_atk[i], 100, lv, time))
  where&=~pos[i];
}
return where?1:0;
}

Remove the following parts:

const enum sc_type sc_def[5] = {SC_CP_WEAPON, SC_CP_SHIELD, SC_CP_ARMOR, SC_CP_HELM, 0};

for (i = 0; i < ARRAYLENGTH(pos); i++) {
 if (where&pos[i] && sc->data[sc_def[i]])
  where&=~pos[i];
}
if (!where) return 0;

I'm not sure if this works, this will break the check of FCP status in enemy when casting Strip. Btw, wrong section this supposed to post in Source Support.

Edited by darristan
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  83
  • Topics Per Day:  0.02
  • Content Count:  243
  • Reputation:   1
  • Joined:  08/29/12
  • Last Seen:  

sorry about the wrong post. do i need to recompile?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  782
  • Reputation:   82
  • Joined:  01/01/12
  • Last Seen:  

Of course, tell me if it doesn't work.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  83
  • Topics Per Day:  0.02
  • Content Count:  243
  • Reputation:   1
  • Joined:  08/29/12
  • Last Seen:  

hmm what do i need to remove this one?

const enum sc_type sc_def[5]

or this one?

for (i = 0; i < ARRAYLENGTH(pos); i++) {

if (where&pos && sc->data[sc_def])

where&=~pos;

}

if (!where) return 0;

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  782
  • Reputation:   82
  • Joined:  01/01/12
  • Last Seen:  

Or you can just replace entire with this:

int skill_strip_equip(struct block_list *bl, unsigned short where, int rate, int lv, int time)
{
struct status_change *sc;
const int pos[5]  = {EQP_WEAPON, EQP_SHIELD, EQP_ARMOR, EQP_HELM, EQP_ACC};
const enum sc_type sc_atk[5] = {SC_STRIPWEAPON, SC_STRIPSHIELD, SC_STRIPARMOR, SC_STRIPHELM, SC__STRIPACCESSORY};
int i;
if (rnd()%100 >= rate)
 return 0;
sc = status_get_sc(bl);
if (!sc || sc->option&OPTION_MADOGEAR ) //Mado Gear cannot be divested [ind]
 return 0;
for (i = 0; i < ARRAYLENGTH(pos); i++) {
 if (where&pos[i] && !sc_start(bl, sc_atk[i], 100, lv, time))
  where&=~pos[i];
}
return where?1:0;
}

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  83
  • Topics Per Day:  0.02
  • Content Count:  243
  • Reputation:   1
  • Joined:  08/29/12
  • Last Seen:  

okay i'll msg you after all the work and if its working. thanks /no1

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  83
  • Topics Per Day:  0.02
  • Content Count:  243
  • Reputation:   1
  • Joined:  08/29/12
  • Last Seen:  

sir how about the proffesor can't dispel FPC skill. how to fix this?

bump!

bump!!

Edited by cadz
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  782
  • Reputation:   82
  • Joined:  01/01/12
  • Last Seen:  

skill.c line 6247:


case SA_DISPELL:
 if (flag&1 || (i = skill_get_splash(skillid, skilllv)) < 1)
 {
  clif_skill_nodamage(src,bl,skillid,skilllv,1);
  if((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER)
   || (tsc && tsc->data[sC_SPIRIT] && tsc->data[sC_SPIRIT]->val2 == SL_ROGUE) //Rogue's spirit defends againt dispel.
   || rnd()%100 >= 50+10*skilllv
   || ( tsc && tsc->option&OPTION_MADOGEAR ) //Mado Gear is immune to dispell according to bug report 49 [ind]
|| (tsc && tsc->data[sC_CP_WEAPON] && tsc->data[sC_CP_HELM] && tsc->data[sC_CP_ARMOR] && tsc->data[sC_CP_SHIELD])) // http://rathena.org/board/topic/73179-request-creator-stalker-proffesor/
  {
   if (sd)
    clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0);
   break;
  }
  if(status_isimmune(bl) || !tsc || !tsc->count)
   break;
  for(i=0;i<SC_MAX;i++)
  {
   if (!tsc->data[i])
    continue;
   switch (i) {
   case SC_WEIGHT50:  case SC_WEIGHT90:  case SC_HALLUCINATION:
   case SC_STRIPWEAPON: case SC_STRIPSHIELD: case SC_STRIPARMOR:
   case SC_STRIPHELM:  case SC_CP_WEAPON:  case SC_CP_SHIELD:
   case SC_CP_ARMOR:  case SC_CP_HELM:  case SC_COMBO:
   case SC_STRFOOD:  case SC_AGIFOOD:  case SC_VITFOOD:
   case SC_INTFOOD:  case SC_DEXFOOD:  case SC_LUKFOOD:
   case SC_HITFOOD:  case SC_FLEEFOOD:  case SC_BATKFOOD:
   case SC_WATKFOOD:  case SC_MATKFOOD:  case SC_DANCING:
   case SC_EDP:   case SC_AUTOBERSERK:
   case SC_CARTBOOST:  case SC_MELTDOWN:  case SC_SAFETYWALL:
   case SC_SMA:   case SC_SPEEDUP0:  case SC_NOCHAT:
   case SC_ANKLE:   case SC_SPIDERWEB:  case SC_JAILED:
   case SC_ITEMBOOST:  case SC_EXPBOOST:  case SC_LIFEINSURANCE:
   case SC_BOSSMAPINFO: case SC_PNEUMA:   case SC_AUTOSPELL:
   case SC_INCHITRATE:  case SC_INCATKRATE:  case SC_NEN:
   case SC_READYSTORM:  case SC_READYDOWN:  case SC_READYTURN:
   case SC_READYCOUNTER: case SC_DODGE:   case SC_WARM:
   case SC_SPEEDUP1:  case SC_AUTOTRADE:  case SC_CRITICALWOUND:
   case SC_JEXPBOOST:  case SC_INVINCIBLE:  case SC_INVINCIBLEOFF:
   case SC_HELLPOWER:  case SC_MANU_ATK:  case SC_MANU_DEF:
   case SC_SPL_ATK:  case SC_SPL_DEF:  case SC_MANU_MATK:
   case SC_SPL_MATK:  case SC_RICHMANKIM:  case SC_ETERNALCHAOS:
   case SC_DRUMBATTLE:  case SC_NIBELUNGEN:  case SC_ROKISWEIL:
   case SC_INTOABYSS:  case SC_SIEGFRIED:  case SC_FOOD_STR_CASH:
   case SC_FOOD_AGI_CASH: case SC_FOOD_VIT_CASH: case SC_FOOD_DEX_CASH:
   case SC_FOOD_INT_CASH: case SC_FOOD_LUK_CASH: case SC_SEVENWIND:
   case SC_MIRACLE:  case SC_S_LIFEPOTION: case SC_L_LIFEPOTION:
   case SC_INCHEALRATE: case SC_ELECTRICSHOCKER:  case SC__STRIPACCESSORY:
   //case SC_SAVAGE_STEAK:   case SC_COCKTAIL_WARG_BLOOD:  case SC_MINOR_BBQ:
   //case SC_SIROMA_ICE_TEA:   case SC_DROCERA_HERB_STEAMED:  case SC_PUTTI_TAILS_NOODLES:
   case SC_NEUTRALBARRIER_MASTER:  case SC_NEUTRALBARRIER:   case SC_STEALTHFIELD_MASTER:
   case SC_STEALTHFIELD: case SC_GIANTGROWTH: case SC_MILLENNIUMSHIELD:
   case SC_REFRESH:  case SC_STONEHARDSKIN: case SC_VITALITYACTIVATION:
   case SC_FIGHTINGSPIRIT: case SC_ABUNDANCE:  case SC__SHADOWFORM:
   case SC_LEADERSHIP:  case SC_GLORYWOUNDS: case SC_SOULCOLD:
   case SC_HAWKEYES:  case SC_GUILDAURA: case SC_PUSH_CART:
    continue;
   /**
    * bugreport:4888 these songs may only be dispelled if you're not in their song area anymore
    **/
   case SC_WHISTLE:
   case SC_ASSNCROS:
   case SC_POEMBRAGI:
   case SC_APPLEIDUN:
   case SC_HUMMING:
   case SC_DONTFORGETME:
   case SC_FORTUNE:
   case SC_SERVICE4U:
    if( tsc->data[i]->val4 ) //val4 = out-of-song-area
     continue;
    break;
   case SC_ASSUMPTIO:
    if( bl->type == BL_MOB )
     continue;
    break;
   }
   if(i==SC_BERSERK) tsc->data[i]->val2=0; //Mark a dispelled berserk to avoid setting hp to 100 by setting hp penalty to 0.
   status_change_end(bl, (sc_type)i, INVALID_TIMER);
  }
  break;
 }
 //Affect all targets on splash area.
 map_foreachinrange(skill_area_sub, bl, i, BL_CHAR,
  src, skillid, skilllv, tick, flag|1,
  skill_castend_damage_id);
 break;

Not sure why did you bump so many times even when you post is already at top. Do you know what bump is for?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  83
  • Topics Per Day:  0.02
  • Content Count:  243
  • Reputation:   1
  • Joined:  08/29/12
  • Last Seen:  

sorry about the bumps. yeah can you tell me sorry i though bumps means urgent or something..

hi there can you put it like in download? i got errors when recompiling

skill.c line 6247:


case SA_DISPELL:
 if (flag&1 || (i = skill_get_splash(skillid, skilllv)) < 1)
 {
  clif_skill_nodamage(src,bl,skillid,skilllv,1);
  if((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER)
|| (tsc && tsc->data[sC_SPIRIT] && tsc->data[sC_SPIRIT]->val2 == SL_ROGUE) //Rogue's spirit defends againt dispel.
|| rnd()%100 >= 50+10*skilllv
|| ( tsc && tsc->option&OPTION_MADOGEAR ) //Mado Gear is immune to dispell according to bug report 49 [ind]
|| (tsc && tsc->data[sC_CP_WEAPON] && tsc->data[sC_CP_HELM] && tsc->data[sC_CP_ARMOR] && tsc->data[sC_CP_SHIELD])) // http://rathena.org/board/topic/73179-request-creator-stalker-proffesor/
  {
if (sd)
 clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0);
break;
  }
  if(status_isimmune(bl) || !tsc || !tsc->count)
break;
  for(i=0;i<SC_MAX;i++)
  {
if (!tsc->data[i])
 continue;
switch (i) {
case SC_WEIGHT50:  case SC_WEIGHT90:  case SC_HALLUCINATION:
case SC_STRIPWEAPON: case SC_STRIPSHIELD: case SC_STRIPARMOR:
case SC_STRIPHELM:  case SC_CP_WEAPON:  case SC_CP_SHIELD:
case SC_CP_ARMOR:  case SC_CP_HELM:  case SC_COMBO:
case SC_STRFOOD:  case SC_AGIFOOD:  case SC_VITFOOD:
case SC_INTFOOD:  case SC_DEXFOOD:  case SC_LUKFOOD:
case SC_HITFOOD:  case SC_FLEEFOOD:  case SC_BATKFOOD:
case SC_WATKFOOD:  case SC_MATKFOOD:  case SC_DANCING:
case SC_EDP:   case SC_AUTOBERSERK:
case SC_CARTBOOST:  case SC_MELTDOWN:  case SC_SAFETYWALL:
case SC_SMA:   case SC_SPEEDUP0:  case SC_NOCHAT:
case SC_ANKLE:   case SC_SPIDERWEB:  case SC_JAILED:
case SC_ITEMBOOST:  case SC_EXPBOOST:  case SC_LIFEINSURANCE:
case SC_BOSSMAPINFO: case SC_PNEUMA:   case SC_AUTOSPELL:
case SC_INCHITRATE:  case SC_INCATKRATE:  case SC_NEN:
case SC_READYSTORM:  case SC_READYDOWN:  case SC_READYTURN:
case SC_READYCOUNTER: case SC_DODGE:   case SC_WARM:
case SC_SPEEDUP1:  case SC_AUTOTRADE:  case SC_CRITICALWOUND:
case SC_JEXPBOOST:  case SC_INVINCIBLE:  case SC_INVINCIBLEOFF:
case SC_HELLPOWER:  case SC_MANU_ATK:  case SC_MANU_DEF:
case SC_SPL_ATK:  case SC_SPL_DEF:  case SC_MANU_MATK:
case SC_SPL_MATK:  case SC_RICHMANKIM:  case SC_ETERNALCHAOS:
case SC_DRUMBATTLE:  case SC_NIBELUNGEN:  case SC_ROKISWEIL:
case SC_INTOABYSS:  case SC_SIEGFRIED:  case SC_FOOD_STR_CASH:
case SC_FOOD_AGI_CASH: case SC_FOOD_VIT_CASH: case SC_FOOD_DEX_CASH:
case SC_FOOD_INT_CASH: case SC_FOOD_LUK_CASH: case SC_SEVENWIND:
case SC_MIRACLE:  case SC_S_LIFEPOTION: case SC_L_LIFEPOTION:
case SC_INCHEALRATE: case SC_ELECTRICSHOCKER:  case SC__STRIPACCESSORY:
//case SC_SAVAGE_STEAK:   case SC_COCKTAIL_WARG_BLOOD:  case SC_MINOR_BBQ:
//case SC_SIROMA_ICE_TEA:   case SC_DROCERA_HERB_STEAMED:  case SC_PUTTI_TAILS_NOODLES:
case SC_NEUTRALBARRIER_MASTER:  case SC_NEUTRALBARRIER:   case SC_STEALTHFIELD_MASTER:
case SC_STEALTHFIELD: case SC_GIANTGROWTH: case SC_MILLENNIUMSHIELD:
case SC_REFRESH:  case SC_STONEHARDSKIN: case SC_VITALITYACTIVATION:
case SC_FIGHTINGSPIRIT: case SC_ABUNDANCE:  case SC__SHADOWFORM:
case SC_LEADERSHIP:  case SC_GLORYWOUNDS: case SC_SOULCOLD:
case SC_HAWKEYES:  case SC_GUILDAURA: case SC_PUSH_CART:
 continue;
/**
 * bugreport:4888 these songs may only be dispelled if you're not in their song area anymore
 **/
case SC_WHISTLE:
case SC_ASSNCROS:
case SC_POEMBRAGI:
case SC_APPLEIDUN:
case SC_HUMMING:
case SC_DONTFORGETME:
case SC_FORTUNE:
case SC_SERVICE4U:
 if( tsc->data[i]->val4 ) //val4 = out-of-song-area
  continue;
 break;
case SC_ASSUMPTIO:
 if( bl->type == BL_MOB )
  continue;
 break;
}
if(i==SC_BERSERK) tsc->data[i]->val2=0; //Mark a dispelled berserk to avoid setting hp to 100 by setting hp penalty to 0.
status_change_end(bl, (sc_type)i, INVALID_TIMER);
  }
  break;
 }
 //Affect all targets on splash area.
 map_foreachinrange(skill_area_sub, bl, i, BL_CHAR,
  src, skillid, skilllv, tick, flag|1,
  skill_castend_damage_id);
 break;

Not sure why did you bump so many times even when you post is already at top. Do you know what bump is for?

can you put it on download? copy paste give lots of errors and with the stalker skills... thanks a lot

Open skill.c find

int skill_strip_equip(struct block_list *bl, unsigned short where, int rate, int lv, int time)
{
struct status_change *sc;
const int pos[5]			 = {EQP_WEAPON, EQP_SHIELD, EQP_ARMOR, EQP_HELM, EQP_ACC};
const enum sc_type sc_atk[5] = {SC_STRIPWEAPON, SC_STRIPSHIELD, SC_STRIPARMOR, SC_STRIPHELM, SC__STRIPACCESSORY};
const enum sc_type sc_def[5] = {SC_CP_WEAPON, SC_CP_SHIELD, SC_CP_ARMOR, SC_CP_HELM, 0};
int i;
if (rnd()%100 >= rate)
 return 0;
sc = status_get_sc(bl);
if (!sc || sc->option&OPTION_MADOGEAR ) //Mado Gear cannot be divested [ind]
 return 0;
for (i = 0; i < ARRAYLENGTH(pos); i++) {
 if (where&pos[i] && sc->data[sc_def[i]])
  where&=~pos[i];
}
if (!where) return 0;
for (i = 0; i < ARRAYLENGTH(pos); i++) {
 if (where&pos[i] && !sc_start(bl, sc_atk[i], 100, lv, time))
  where&=~pos[i];
}
return where?1:0;
}

Remove the following parts:

const enum sc_type sc_def[5] = {SC_CP_WEAPON, SC_CP_SHIELD, SC_CP_ARMOR, SC_CP_HELM, 0};

for (i = 0; i < ARRAYLENGTH(pos); i++) {
 if (where&pos[i] && sc->data[sc_def[i]])
  where&=~pos[i];
}
if (!where) return 0;

I'm not sure if this works, this will break the check of FCP status in enemy when casting Strip. Btw, wrong section this supposed to post in Source Support.

btw is not working.

Fixed close the topic thanks for all the info's =)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...