Reproduce, Preserve, Plagiarism and Shadow Spell

PunkBuster

New member
Messages
216
Points
0
All of those skills have restrictions on what skills they work with.

Plagiarism + Preserve:

Only 1st and 2nd class skills. No Rebirth or 3rd class.

Reproduce:

Any skill except Transcendant skills.

Shadow Spell:

Extended and Transcendant skills cannot be auto-casted.

I'd like to learn how to bypass those limitations so that:

-Plagiarism can copy Trans skills, but still no 3rd class skills;

-Reproduce able to copy Trans skills;

-Shadow Spell able to autocast any skill copied.

 
To alter which skills can be reproduced just change your dbskill_reproduce_db.txt and add those ids that are missing.

To alter plagiarism/preserve you need to alter the function can_copy that is in skill.c, search for the line:

if((skill_id >= LK_AURABLADE && skill_id <= ASC_CDP) || (skill_id >= ST_PRESERVE && skill_id <= CR_CULTIVATION))change it to:
Code:
if(/*(skill_id >= LK_AURABLADE && skill_id <= ASC_CDP) ||*/ (skill_id >= ST_PRESERVE && skill_id <= CR_CULTIVATION))
And finally to change shadow spell open skill.c and search for:
Code:
if( skill_id >= GS_GLITTERING || skill->get_type(skill_id) != BF_MAGIC ||
replace it with:
Code:
if( /*skill_id >= GS_GLITTERING ||*/ skill->get_type(skill_id) != BF_MAGIC ||
Just change those files and rebuild c: oh, I haven't checked in-game if any of those changes work, could you test and post your results?
@EDIT

Oh, sorry I missed a spot, open srcmapclif.c and search for:

Code:
sd->status.skill[i].id < GS_GLITTERING && skill->get_type(sd->status.skill[i].id) == BF_MAGIC )
replace it with:
Code:
/*sd->status.skill[i].id < GS_GLITTERING &&*/ skill->get_type(sd->status.skill[i].id) == BF_MAGIC )
 
Last edited by a moderator:
Changing Reproduce and Plagiarism worked, but Shadow Spell change didn't work.

I should be able to Auto Shadow Spell any skills, but the trans and 3rd class skills still don't show up.

 
@EDIT

Oh, sorry I missed a spot, open srcmapclif.c and search for:

Code:
sd->status.skill[i].id < GS_GLITTERING && skill->get_type(sd->status.skill[i].id) == BF_MAGIC )
replace it with:
Code:
/*sd->status.skill[i].id < GS_GLITTERING &&*/ skill->get_type(sd->status.skill[i].id) == BF_MAGIC )
Now I think it will work c: I'll edit my other answer to include this snippet as well
 
Last edited by a moderator:
I think some of the data that's used by shadow spell is from skill_reproduce_db, try adding trans skills there just to see if it works

 
I had already added those skills to the skill_reproduce_db.

Code:
// Reproduce Copy Skills List//// ##TODO## screw this file and make it a new skill_info2 flag//// Structure of Database:// SkillID//=================================//Swordsman5	//Bash7	//Magnum Break//Mage11	// Napalm Beat13	// Soul Strike14	// Cold Bolt15	// Frost Diver17	// Fire Ball18	// Fire Wall19	// Fire Bolt20	// Lightning Bolt21	// Thunderstorm//Acolyte24	// Ruwach28	// Heal//Merchant42	// Mammonite//Archer46	// Double Strafe47	// Arrow Shower//Thief52	// Envenom// Resurrection54	// Resurrection// Knight62	// Bowling Bash// Priest68	// Asperio69	// B.S Sacramenti70	// Sanctuary77	// Turn Undead79	// Magnus Exorcismus// Wizard80	// Fire Pillar81	// Sightrasher83	// Meteor Storm84	// Jupitel Thunder85	// Lord of Vermillion86	// Water Ball88	// Frost Nova89	// Storm Gust90	// Earth Spike91	// Heaven's Drive// Hunter116	// Land Mine121	// Freezing Trap122	// Blast Mine123	// Claymore Trap// Assassin141	// Venom Splasher// 1st Job Quest Skills148	// Arrow Repel152	// Stone Fling156	// Holy Light// Rogue212	// Backstab// Alchemist229	// Bomb230	// Acid Terror// Crusader250	// Smite251	// Shield Boomerang253	// Holy Cross254	// Grand Cross// Monk263	// Raging Trifecta Blow266	// Occult Impaction267	// Throw Spirit Sphere271	// Guillotine Fist272	// Raging Quadruple Blow// Item Skill337	// Tomahawk Throwing// TaeKwon Kid421	// Flying Kick// Ninja526	// Throw Coins527	// Flip Tatami528	// Haze Slasher529	// Shadow Slash531	// Blaze Shield534	// Flaming Petals536	// Exploding Dragon537	// Freezing Spear539	// Snow Flake Draft540	// Wind Blade541	// Lightning Jolt542	// First Wind// 2nd Job Quest Skills1001	// Charge Attack1004	// Venom Knife1006	// Sight Blaster1009	// Phantasmic Arrow1015	// Excruciating Palm// Rune Knight2002	// Sonic Wave2005	// Ignition Break2006	// Wind Cutter// Guillotine Cross2022	// Cross Impact2023	// Dark Illusion2034	// Phantom Menace// Arch Bishop2038	// Judex2040	// Adoramus2051	// Highness Heal2054	// Duple Light// Warlock2202	// Soul Expansion2203	// Frosty Misty2204	// Jack Frost2210	// Drain Life2211	// Crimson Rock2212	// Hell Inferno2213	// Comet2214	// Chain Lightning2216	// Earth Strain// Ranger2233	// Arrow Storm2236	// Aimed Bolt2239	// Cluster Bomb2253	// Icebound Trap2254	// Firing Trap// Shadow Chaser2284	// Fatal Menace2288	// Triangle Shot2304	// Feint Bomb// Royal Guard2310	// Shield Press2315	// Shield Spell2316	// Exceed Break2320	// Moon Slasher2323	// Earth Drive// Sura2326	// Dragon Combo2327	// Sky Net Blow2328	// Earth Shaker2330	// Tiger Cannon2332	// Rampage Blaster2336	// Knuckle Arrow2337	// Windmill2343	// Gate of Hell2344	// Gentle Touch - Quiet2517	// Howling of Lion2518	// Riding Lightning// Minstrel/Wanderer2413	// Metallic Sound2414	// Reverberation2418	// Severe Rainstorm// Sorcerer2443	// Fire Walk2444	// Electric Walk2446	// Earth Grave2447	// Diamond Dust2448	// Poison Buster2449	// Psychic Wave2450	// Cloud Kill2454	// Varetyr Spear// Genetic2479	// Thorn Trap2480	// Blood Sucker2481	// Spore Explosion2482	// Wall of Thorns2483	// Crazy Weed2490	// Hell's Plant//Trans Skills397	//Spiral Pierce367	//Pressure368	//Sacrifice480	//Shield Chain365	//Magic Crasher400	//Napalm Vulcan382	//SharpShooting490	//Acid Demonstration379	//Soul Breaker406	//Meteor Assault
 
Last edited by a moderator:
Open srcmapskill.c and search for:

Code:
	// 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);	}
Replace it with:
Code:
/*	// 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);	}*/
Try and see if that works c:
 
Last edited by a moderator:
Didn't work.

*Edit*

Nevermind, it was working all along. The problem was that I didn't know only magic spell could be auto-casted. I was trying with things like Soul Breaker.

 
Last edited by a moderator:
Back
Top