Jump to content
  • 0

[Skills] Editing / Combining Skills


paolokupal

Question


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  49
  • Reputation:   4
  • Joined:  02/04/12
  • Last Seen:  

hi, how can i edit/combine skills like for example, i want to use Swordsman's Bash skill and after it Bash it automatically uses another skill like Pierce or Sonicblow

Link to comment
Share on other sites

9 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

In src/map/skill.c

 

Find

case SM_BASH:
if( sd && skill_lv > 5 && pc_checkskill(sd,SM_FATALBLOW)>0 ){
//BaseChance gets multiplied with BaseLevel/50.0; 500/50 simplifies to 10 [Playtester]
status_change_start(src,bl,SC_STUN,(skill_lv-5)*sd->status.base_level*10,
skill_lv,0,0,0,skill_get_time2(SM_FATALBLOW,skill_lv),0);
}
break;

 

 

Add before break;

 

For Pierce
skill_castend_damage_id(src, bl, KN_PIERCE, 10, tick, 1);

 

For Sonic blow

skill_castend_damage_id(src, bl, AS_SONICBLOW, 10, tick, 1);

 

Backup and recompile.

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  49
  • Reputation:   4
  • Joined:  02/04/12
  • Last Seen:  

Thanks for the fast reply. its now working!!.. 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  48
  • Topics Per Day:  0.01
  • Content Count:  123
  • Reputation:   29
  • Joined:  04/09/12
  • Last Seen:  

Hi,

 

Just to extend to this, I want to learn to edit some of the parameters in the skill, how do we add damage with condition?

 

For example, I want to make Bash hits with 100% more damage if the target's HP is lower than 25%. 

 

I understand that I have to put an if-condition (tstatus-> hp > tstatus->max_hp*3/4) but not sure how to add damage.

 

Thanks,

Shade

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

if(tstatus-> hp > tstatus->max_hp*3/4)
skillratio += 100;

Try?

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  166
  • Topics Per Day:  0.04
  • Content Count:  789
  • Reputation:   50
  • Joined:  04/16/12
  • Last Seen:  

 

In src/map/skill.c
 
Find
case SM_BASH:
if( sd && skill_lv > 5 && pc_checkskill(sd,SM_FATALBLOW)>0 ){
//BaseChance gets multiplied with BaseLevel/50.0; 500/50 simplifies to 10 [Playtester]
status_change_start(src,bl,SC_STUN,(skill_lv-5)*sd->status.base_level*10,
skill_lv,0,0,0,skill_get_time2(SM_FATALBLOW,skill_lv),0);
}
break;
 
 
Add before break;
 
For Pierce
skill_castend_damage_id(src, bl, KN_PIERCE, 10, tick, 1);
 
For Sonic blow
skill_castend_damage_id(src, bl, AS_SONICBLOW, 10, tick, 1);
 
Backup and recompile.

 

Hi sandbox how can i trigger let say the skill of RK the Sonic Wave when it reached and damages the target it will auto cast npc_earthquake on the target which damages the area not on the caster of sonic wave

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  737
  • Reputation:   216
  • Joined:  11/29/11
  • Last Seen:  

put the call in skill_additional_effect()

That mean the skill have reached his target and done some dmg

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  166
  • Topics Per Day:  0.04
  • Content Count:  789
  • Reputation:   50
  • Joined:  04/16/12
  • Last Seen:  

put the call in skill_additional_effect()

That mean the skill have reached his target and done some dmg

Hi Lighta thanks how it is supposed to be done in src?

like this?

skill_additional_effec(src, bl, NPC_EARTHQUAKE?, 10, tick, 1);

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  737
  • Reputation:   216
  • Joined:  11/29/11
  • Last Seen:  

na, the skill you wanted to have a something else after is RK_SONICWAVE right ?

so go in skill_additional_effect

then add :

case RK_SONICWAVE:
....
break;

You can put this after

case RL_QD_SHOT:
        status_change_end(bl,SC_C_MARKER,INVALID_TIMER);
        if (sc->data[SC_QD_SHOT_READY])
            status_change_end(bl,SC_QD_SHOT_READY,INVALID_TIMER);
        break;

for exemple.

 

now ... mean whatever code you want to be executed after RK_SONICWAVE is done and have dealt some dammage, in your case you want to autocast something so just put

skill_castend_damage_id(src, bl, NPC_EARTHQUAKE, skill_get_max(NPC_EARTHQUAKE), tick, 1);
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  166
  • Topics Per Day:  0.04
  • Content Count:  789
  • Reputation:   50
  • Joined:  04/16/12
  • Last Seen:  

okay i will try thank you so much =) Lighta

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...