Jump to content
  • 0

About create new skill


moneymuch

Question


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  20
  • Reputation:   0
  • Joined:  03/11/12
  • Last Seen:  

i want to study create new skill, but i don't know how to creat new skill, so i try to alter it on the basis of "SM_BASH".

i find "SM_BASH" in battle.c skill.c skill.h status.c

according to its scheme ,

add in battle.c

case AS_SONICBLOW:

if(sd && pc_checkskill(sd,AS_SONICACCEL)>0)

hitrate += hitrate * 50 / 100;

break;

case GC_VENOMPRESSURE:

hitrate += 10 + 4 * skill_lv;

break;

//========================under===========================

case DIY_QIAN:

hitrate += hitrate * 100 * skill_lv / 100;

break;

//========================above==========================

}

// Weaponry Research hidden bonus

if (sd && (skill = pc_checkskill(sd,BS_WEAPONRESEARCH)) > 0)

hitrate += hitrate * ( 2 * skill ) / 100;

hitrate = cap_value(hitrate, battle_config.min_hitrate, battle_config.max_hitrate);

=================Dividing lines=======================

add in skill.c

status_change_end(bl, SC_HARMONIZE, INVALID_TIMER);

status_change_end(bl, SC_WINKCHARM, INVALID_TIMER);

status_change_end(bl, SC_SONGOFMANA, INVALID_TIMER);

status_change_end(bl, SC_DANCEWITHWUG, INVALID_TIMER);

status_change_end(bl, SC_LERADSDEW, INVALID_TIMER);

status_change_end(bl, SC_MELODYOFSINK, INVALID_TIMER);

status_change_end(bl, SC_BEYONDOFWARCRY, INVALID_TIMER);

status_change_end(bl, SC_UNLIMITEDHUMMINGVOICE, INVALID_TIMER);

}

break;

//========================under===========================

case DIY_QIAN:

if( sd && skilllv > 0 ){

sc_start(bl,SC_STUN,(50*skilllv+(int)sd->status.base_level/10),

skilllv,skill_get_time(skillid,skilllv));

}

breakb;

//========================above==========================

}

if (md && battle_config.summons_trigger_autospells && md->master_id && md->special_state.ai)

{ //Pass heritage to Master for status causing effects. [skotlex]

sd = map_id2sd(md->master_id);

src = sd?&sd->bl:src;

=================Dividing lines=======================

add in skill.h

EL_CIRCLE_OF_FIRE = 8401,

EL_FIRE_CLOAK,

EL_FIRE_MANTLE,

EL_WATER_SCREEN,

EL_WATER_DROP,

EL_WATER_BARRIER,

EL_WIND_STEP,

EL_WIND_CURTAIN,

EL_ZEPHYR,

EL_SOLID_SKIN,

EL_STONE_SHIELD,

EL_POWER_OF_GAIA,

EL_PYROTECHNIC,

EL_HEATER,

EL_TROPIC,

EL_AQUAPLAY,

EL_COOLER,

EL_CHILLY_AIR,

EL_GUST,

EL_BLAST,

EL_WILD_STORM,

EL_PETROLOGY,

EL_CURSED_SOIL,

EL_UPHEAVAL,

EL_FIRE_ARROW,

EL_FIRE_BOMB,

EL_FIRE_BOMB_ATK,

EL_FIRE_WAVE,

EL_FIRE_WAVE_ATK,

EL_ICE_NEEDLE,

EL_WATER_SCREW,

EL_WATER_SCREW_ATK,

EL_TIDAL_WEAPON,

EL_WIND_SLASH,

EL_HURRICANE,

EL_HURRICANE_ATK,

EL_TYPOON_MIS,

EL_TYPOON_MIS_ATK,

EL_STONE_HAMMER,

EL_ROCK_CRUSHER,

EL_ROCK_CRUSHER_ATK,

EL_STONE_RAIN,

//========================under===========================

DIY_QIAN = 10016,

//========================above==========================

};

/// The client view ids for land skills.

=================Dividing lines=======================

add in status.c

set_sc( NPC_BLINDATTACK , SC_BLIND , SI_BLANK , SCB_HIT|SCB_FLEE );

set_sc( NPC_BLEEDING , SC_BLEEDING , SI_BLEEDING , SCB_REGEN );

set_sc( NPC_POISON , SC_DPOISON , SI_BLANK , SCB_DEF2|SCB_REGEN );

//The main status definitions

add_sc( SM_BASH , SC_STUN );

//========================under===========================

add_sc( DIY_QIAN , SC_STUN );

//========================above==========================

set_sc( SM_PROVOKE , SC_PROVOKE , SI_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK );

add_sc( SM_MAGNUM , SC_WATK_ELEMENT );

=================Dividing lines=======================

after release ok ,add information of skill in lua. icon effect sprite ok.skill_db ok(these is copy "SM_BASH",but i have altered name.)

but ,when i enter the game, i can not find skill in skill bar,

so,i don't know whether to finish for create a new skill, (i have used @allskill GM order)

the steps of editor ,where is the mistake?

sorry,i forget SVN version,but it is in less than this week.

p.s. if you can , can you tell me what is effect of the command ?the command is purple.

Edited by moneymuch
Link to comment
Share on other sites

3 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  67
  • Reputation:   23
  • Joined:  11/14/11
  • Last Seen:  

case DIY_QIAN:
hitrate += hitrate * 100 * skill_lv / 100;
break;

Increase HIT by (hitrate * 100 * skill_lv /100) 'only' when using this skill,

your value seems too(VERY) high, this skill sure will never miss :D

sc_start(bl,SC_STUN,(50*skilllv+(int)sd->status.base_level/10), skilllv,skill_get_time(skillid,skilllv));

bl = The target of status (src = self, bl = enemy)

SC_STUN = Status (SC_*)

(50*skilllv+(int)sd->status.base_level/10) = % chance to inflict SC_STUN status on target (1 = 1%, 50 = 50%)

skilllv = Type (Doesn't really matter for SC_STUN, this is val1 in status_change_start function in status.c)

skill_get_time(skillid,skilllv) = Status duration (skill_get_time() = Duration1 in skill_cast_db.txt)

but ,when i enter the game, i can not find skill in skill bar,

so,i don't know whether to finish for create a new skill, (i have used @allskill GM order)

the steps of editor ,where is the mistake?

Have you changed ../lua files/skillinfoz/skilltreeview.lua and ../db/re/skill_tree.txt ?

Edited by FatalEror
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  319
  • Reputation:   198
  • Joined:  11/14/11
  • Last Seen:  

Is this a guild skill your trying to add? Im asking this since your placing that ID in the guild skill ID's range which is 10000 - 10999. I think thats the full range. If this is a normal player usable skill then youll have to change the ID to be within the PC skills range which is between 1 - MAX_SKILL. MAX_SKILL I think is 2550 as of right now. The upper 1000 range has plenty of ID's that arnt being used that you can make full use of.

Edited by Rytech
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  20
  • Reputation:   0
  • Joined:  03/11/12
  • Last Seen:  

First,thank you very very very much.

To FatalEror:

Thank you for your answer,

1. i discover that it has not place for set up skill's damage.The beginning , i think that "hitrate" means the damage when hit.so where do i set up skill's damage.?

2.bl = The target of status (src = self, bl = enemy) , the target is member in party or player,what do i use function.

3.I edit skill is quest, so i don't change. if skill is quest, is this matter?

To Rytech:

Thank you for your answer.

no, i don't add a guild skill.i don't know this set like this.

monster's skill ,also has this type of set,has it?

Edited by moneymuch
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...