paolokupal Posted March 15, 2014 Posted March 15, 2014 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 Quote
sandbox Posted March 15, 2014 Posted March 15, 2014 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. 1 Quote
paolokupal Posted March 15, 2014 Author Posted March 15, 2014 Thanks for the fast reply. its now working!!.. Quote
Shade Posted March 30, 2014 Posted March 30, 2014 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 Quote
sandbox Posted April 2, 2014 Posted April 2, 2014 if(tstatus-> hp > tstatus->max_hp*3/4) skillratio += 100; Try? 1 Quote
Yonko Posted July 2, 2014 Posted July 2, 2014 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 Quote
Lighta Posted July 2, 2014 Posted July 2, 2014 put the call in skill_additional_effect() That mean the skill have reached his target and done some dmg Quote
Yonko Posted July 3, 2014 Posted July 3, 2014 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); Quote
Lighta Posted July 3, 2014 Posted July 3, 2014 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); Quote
Question
paolokupal
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
9 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.