Fixed it myself. Here's the code. used some logic. thanks to all that used the time and effort
4361,B_Harword_Card,MasterSmith Card,6,20,,10,,,,,,,,2,,,,,{ if(BaseClass==Job_Swordsman||BaseClass==Job_Merchant||BaseClass==Job_Mage||BaseClass==Job_Archer||Baseclass==Job_Acolyte||BaseClass==Job_Gunslinger||BaseClass==Job_Ninja) { bonus bBreakWeaponRate,1000; bonus bUnbreakableWeapon,0; bonus3 bAutoSpell,"WS_OVERTHRUSTMAX",3,100; bonus3 bAutoSpell,"MC_MAMMONITE",10,100; } if(BaseJob == Job_Assassin) { bonus bBreakWeaponRate,1000; bonus bUnbreakableWeapon,0; bonus3 bAutoSpell,"MC_MAMMONITE",5,100; } },{ callfunc "Restrict"; },{}