Wait, are you using a custom brick? If you are you should include "isOre" in it's datablock along with all the other values.
Example:
datablock fxDTSBrickData (brickRPGOredata : brick1x1data)
{
category = "RPG";
subCategory = "Ore";
uiName = "Ore";
isOre = 1;
Health = 200;
defaultHealth = 200;
regrowtime = 20;
oreAmount = 50;
oreName = "Mashed diamonds";
};
So when you use SkillPickaxeProjectile::onCollision, make sure to use "if(%col.getDataBlock().isOre)". I don't think "== 1" is really needed.
Example:
function SkillPickaxeProjectile::onCollision(%this,%obj,%col,%fade,%pos,%normal)
{
if(!(%col.getType() & $TypeMasks::FxBrickObjectType))
return;
if(%col.getDataBlock().isOre) ///// == 1)
{
if(%col.getDatablock().Health >= 1)
{
%col.getDataBlock().Health -= getRandom(1,5);
commandToClient(%this,'centerPrint',"\c6You swing your pick at the ore.",3);
}
else if(%col.getDatablock().Health < 1)
{
%col.getDatablock().Health = %col.getDataBlock().defaultHealth;
%col.Dissapear(%col.getDatablock().regrowTime);
%this.Resources += %col.getDataBlock().oreAmount;
messageClient(%this,'',"\c3You have mined some \c6" @ %col.getDataBlock().oreName @ "\c3.");
}
}
}
I haven't tested this, but I'm pretty sure it will do something. The old CityRPG uses the datablock idea to manage how much ore or lumber it had left in a brick I believe.