diff options
author | shennetsind <ind@henn.et> | 2013-03-29 15:44:32 -0300 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2013-03-29 15:44:32 -0300 |
commit | cfd2bdb06048c17decaafd0f5a3c04e3f0ac6a3b (patch) | |
tree | 924f4058e4e8a162f5956b3999955cf851ffee6b /src/map | |
parent | ea42e92c2d130f723cd09a637448cd20a52777e8 (diff) | |
download | hercules-cfd2bdb06048c17decaafd0f5a3c04e3f0ac6a3b.tar.gz hercules-cfd2bdb06048c17decaafd0f5a3c04e3f0ac6a3b.tar.bz2 hercules-cfd2bdb06048c17decaafd0f5a3c04e3f0ac6a3b.tar.xz hercules-cfd2bdb06048c17decaafd0f5a3c04e3f0ac6a3b.zip |
Re-introducing clone-nocopy skill
This was once available through the now-gone skill_nocast_db.txt.
To make a skill not copy-able by clones (aka the skill is not inherited by a clone when it is created), use flag 0x8000 in the inf2 skill db field
Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/mob.c | 2 | ||||
-rw-r--r-- | src/map/pc.c | 88 | ||||
-rw-r--r-- | src/map/skill.h | 1 |
3 files changed, 45 insertions, 46 deletions
diff --git a/src/map/mob.c b/src/map/mob.c index 71b500491..2995a4db4 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -3389,7 +3389,7 @@ int mob_clone_spawn(struct map_session_data *sd, int16 m, int16 x, int16 y, cons for (i=0,j = MAX_SKILL_TREE-1;j>=0 && i< MAX_MOBSKILL ;j--) { skill_id = skill_tree[pc_class2idx(sd->status.class_)][j].id; if (!skill_id || sd->status.skill[skill_id].lv < 1 || - (skill->get_inf2(skill_id)&(INF2_WEDDING_SKILL|INF2_GUILD_SKILL)) + (skill->get_inf2(skill_id)&(INF2_WEDDING_SKILL|INF2_GUILD_SKILL|INF2_CLONE_NOCOPY)) ) continue; //Normal aggressive mob, disable skills that cannot help them fight diff --git a/src/map/pc.c b/src/map/pc.c index 6f8ba91fb..1a77aae97 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -7524,53 +7524,51 @@ int pc_changelook(struct map_session_data *sd,int type,int val) nullpo_ret(sd); switch(type){ - case LOOK_HAIR: //Use the battle_config limits! [Skotlex] - val = cap_value(val, MIN_HAIR_STYLE, MAX_HAIR_STYLE); - - if (sd->status.hair != val) - { - sd->status.hair=val; - if (sd->status.guild_id) //Update Guild Window. [Skotlex] - intif_guild_change_memberinfo(sd->status.guild_id,sd->status.account_id,sd->status.char_id, - GMI_HAIR,&sd->status.hair,sizeof(sd->status.hair)); - } - break; - case LOOK_WEAPON: - sd->status.weapon=val; - break; - case LOOK_HEAD_BOTTOM: - sd->status.head_bottom=val; - break; - case LOOK_HEAD_TOP: - sd->status.head_top=val; - break; - case LOOK_HEAD_MID: - sd->status.head_mid=val; - break; - case LOOK_HAIR_COLOR: //Use the battle_config limits! [Skotlex] - val = cap_value(val, MIN_HAIR_COLOR, MAX_HAIR_COLOR); + case LOOK_HAIR: //Use the battle_config limits! [Skotlex] + val = cap_value(val, MIN_HAIR_STYLE, MAX_HAIR_STYLE); + + if (sd->status.hair != val) { + sd->status.hair=val; + if (sd->status.guild_id) //Update Guild Window. [Skotlex] + intif_guild_change_memberinfo(sd->status.guild_id,sd->status.account_id,sd->status.char_id, + GMI_HAIR,&sd->status.hair,sizeof(sd->status.hair)); + } + break; + case LOOK_WEAPON: + sd->status.weapon=val; + break; + case LOOK_HEAD_BOTTOM: + sd->status.head_bottom=val; + break; + case LOOK_HEAD_TOP: + sd->status.head_top=val; + break; + case LOOK_HEAD_MID: + sd->status.head_mid=val; + break; + case LOOK_HAIR_COLOR: //Use the battle_config limits! [Skotlex] + val = cap_value(val, MIN_HAIR_COLOR, MAX_HAIR_COLOR); - if (sd->status.hair_color != val) - { - sd->status.hair_color=val; - if (sd->status.guild_id) //Update Guild Window. [Skotlex] - intif_guild_change_memberinfo(sd->status.guild_id,sd->status.account_id,sd->status.char_id, - GMI_HAIR_COLOR,&sd->status.hair_color,sizeof(sd->status.hair_color)); - } - break; - case LOOK_CLOTHES_COLOR: //Use the battle_config limits! [Skotlex] - val = cap_value(val, MIN_CLOTH_COLOR, MAX_CLOTH_COLOR); + if (sd->status.hair_color != val) { + sd->status.hair_color=val; + if (sd->status.guild_id) //Update Guild Window. [Skotlex] + intif_guild_change_memberinfo(sd->status.guild_id,sd->status.account_id,sd->status.char_id, + GMI_HAIR_COLOR,&sd->status.hair_color,sizeof(sd->status.hair_color)); + } + break; + case LOOK_CLOTHES_COLOR: //Use the battle_config limits! [Skotlex] + val = cap_value(val, MIN_CLOTH_COLOR, MAX_CLOTH_COLOR); - sd->status.clothes_color=val; - break; - case LOOK_SHIELD: - sd->status.shield=val; - break; - case LOOK_SHOES: - break; - case LOOK_ROBE: - sd->status.robe = val; - break; + sd->status.clothes_color=val; + break; + case LOOK_SHIELD: + sd->status.shield=val; + break; + case LOOK_SHOES: + break; + case LOOK_ROBE: + sd->status.robe = val; + break; } clif_changelook(&sd->bl,type,val); return 0; diff --git a/src/map/skill.h b/src/map/skill.h index 3e2fc7936..d1d7d1894 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -95,6 +95,7 @@ enum e_skill_inf2 { INF2_NO_ENEMY = 0x1000, INF2_NOLP = 0x2000, // Spells that can ignore Land Protector INF2_CHORUS_SKILL = 0x4000, // Chorus skill + INF2_CLONE_NOCOPY = 0x8000, // Clones will not copy this skill }; |