Issue information

Issue ID
#8118
Status
Fixed
Severity
Medium
Started
OmegaRed
Mar 23, 2014 20:28
Last Post
Michi
Aug 6, 2014 14:10
Confirmation
Yes (2)
No (0)

OmegaRed - Mar 23, 2014 20:28

Plagiarism are copying skills of 3RD Class

Tested with skill dark crow (Guillotine Cross)

This post has been edited by OmegaRed on Mar 23, 2014 20:29

OmegaRed - Mar 23, 2014 21:13

I believe it's copying only new skills 3RD Class

kyeme - Mar 23, 2014 22:51

[img]http://i.imgur.com/iPJrN05.png[/img]

Diamond Dust and ->> Illusion Doping
I can confirm

This post has been edited by kyeme on Mar 23, 2014 22:52

OmegaRed - Mar 26, 2014 3:32

in map/skill.c search for "// Making plagiarize check its own function [Aru]"
[code=auto:0] // Making plagiarize check its own function [Aru] int can_copy (struct map_session_data *sd, uint16 skill_id, struct block_list* bl) { // Never copy NPC/Wedding Skills if (skill->get_inf2(skill_id)&(INF2_NPC_SKILL|INF2_WEDDING_SKILL)) return 0; [/code]


add[code=auto:0] //Never copy 3RD class new Skills By OmegaRed if(skill_id >= GC_DARKCROW && skill_id <= SR_FLASHCOMBO_ATK_STEP4) return 0; [/code]


modified[code=auto:0] // Making plagiarize check its own function [Aru] int can_copy (struct map_session_data *sd, uint16 skill_id, struct block_list* bl) { // Never copy NPC/Wedding Skills if (skill->get_inf2(skill_id)&(INF2_NPC_SKILL|INF2_WEDDING_SKILL)) return 0; //Never copy 3RD class new Skills By OmegaRed if(skill_id >= GC_DARKCROW && skill_id <= SR_FLASHCOMBO_ATK_STEP4) return 0; // High-class skills if((skill_id >= LK_AURABLADE && skill_id <= ASC_CDP) || (skill_id >= ST_PRESERVE && skill_id <= CR_CULTIVATION)) { if(battle_config.copyskill_restrict == 2) return 0; else if(battle_config.copyskill_restrict) return (sd->status.class_ == JOB_STALKER); } //Added so plagarize can't copy agi/bless if you're undead since it damages you if ((skill_id == AL_INCAGI || skill_id == AL_BLESSING || skill_id == CASH_BLESSING || skill_id == CASH_INCAGI || skill_id == MER_INCAGI || skill_id == MER_BLESSING)) return 0; // Couldn't preserve 3rd Class skills except only when using Reproduce skill. [Jobbie] if( !(sd->sc.data[SC__REPRODUCE]) && ((skill_id >= RK_ENCHANTBLADE && skill_id <= SR_RIDEINLIGHTNING) || (skill_id >= KO_YAMIKUMO && skill_id <= OB_AKAITSUKI))) return 0; // Reproduce will only copy skills according on the list. [Jobbie] else if( sd->sc.data[SC__REPRODUCE] && !skill->reproduce_db[skill->get_index(skill_id)] ) return 0; return 1; } [/code]
This solved for me

This post has been edited by OmegaRed on Mar 26, 2014 3:33

Michi - Aug 6, 2014 14:10

Fixed in: [url="https://github.com/HerculesWS/Hercules/commit/356a83b11ae56778992b27b0c9b358d7d79722cd"]https://github.com/HerculesWS/Hercules/commit/356a83b11ae56778992b27b0c9b358d7d79722cd[/url]