Okay so i'm using deadzones weapons for an rpg that i'm making, and I cant seem to make the first slash do more than 100 damage.
datablock ProjectileData(BasicSwordShortFastProjectile)
{
directDamage = 20; When i make this more than 100 say 150 for example, it will only do 100 damage in game.
directDamageType = $DamageType::Duel_Strike;
radiusDamageType = $DamageType::Duel_Strike;
stickExplosion = BladeSmallMetalExplosion;
bloodExplosion = BladeMetalPlayerHitExplosion;
explosion = BladeSmallMetalExplosion;
muzzleVelocity = 65;
velInheritFactor = 1;
explodeOnPlayerImpact = true;
explodeOnDeath = false;
armingDelay = 80;
lifetime = 80;
fadeDelay = 80;
isBallistic = true;
bounceAngle = 170; //stick almost all the time
minStickVelocity = 10;
bounceElasticity = 0.2;
bounceFriction = 0.01;
gravityMod = 0.0;
hasLight = false;
lightRadius = 3.0;
lightColor = "0 0 0.5";
};
Not too much of a coder just to mention that as well. I usually just edit code I can really only do that much
Code:
function BasicSwordSSImage::onFireFast(%this, %obj, %slot)
{
%projectile = BasicSwordShortFastProjectile;
%spread = 0.00008;
%shellcount = 1;
%obj.playThread(3, plant);
serverPlay3D(WooshFastestSound,%obj.getPosition());
for(%shell=0; %shell<%shellcount; %shell++)
{
%vector = %obj.getMuzzleVector(%slot);
%objectVelocity = %obj.getVelocity();
%vector1 = VectorScale(%vector, %projectile.muzzleVelocity);
%vector2 = VectorScale(%objectVelocity, %projectile.velInheritFactor);
%velocity = VectorAdd(%vector1,%vector2);
%x = (getRandom() - 0.5) * 10 * 3.1415926 * %spread;
%y = (getRandom() - 0.5) * 10 * 3.1415926 * %spread;
%z = (getRandom() - 0.5) * 10 * 3.1415926 * %spread;
%mat = MatrixCreateFromEuler(%x @ " " @ %y @ " " @ %z);
%velocity = MatrixMulVector(%mat, %velocity);
%p = new (%this.projectileType)()
{
dataBlock = %projectile;
initialVelocity = %velocity;
initialPosition = %obj.getMuzzlePoint(%slot);
sourceObject = %obj;
sourceSlot = %slot;
client = %obj.client;
};
MissionCleanup.add(%p);
}
return %p;
}
function BasicSwordSSImage::onFireStrong(%this, %obj, %slot)
{
%projectile = BasicSwordShortStrongProjectile;
%spread = 0.00008;
%shellcount = 1;
for(%shell=0; %shell<%shellcount; %shell++)
{
%vector = %obj.getMuzzleVector(%slot);
%objectVelocity = %obj.getVelocity();
%vector1 = VectorScale(%vector, %projectile.muzzleVelocity);
%vector2 = VectorScale(%objectVelocity, %projectile.velInheritFactor);
%velocity = VectorAdd(%vector1,%vector2);
%x = (getRandom() - 0.5) * 10 * 3.1415926 * %spread;
%y = (getRandom() - 0.5) * 10 * 3.1415926 * %spread;
%z = (getRandom() - 0.5) * 10 * 3.1415926 * %spread;
%mat = MatrixCreateFromEuler(%x @ " " @ %y @ " " @ %z);
%velocity = MatrixMulVector(%mat, %velocity);
%p = new (%this.projectileType)()
{
dataBlock = %projectile;
initialVelocity = %velocity;
initialPosition = %obj.getMuzzlePoint(%slot);
sourceObject = %obj;
sourceSlot = %slot;
client = %obj.client;
};
MissionCleanup.add(%p);
}
return %p;
}
function BasicSwordSSImage::onCharged(%this, %obj, %slot)
{
%obj.playThread(2, plant);
serverPlay3D(DuelChargedSound,%obj.getPosition());
}
function BasicSwordSSImage::onSwing(%this, %obj, %slot)
{
%obj.playThread(2, plant);
serverPlay3D(WooshFastestSound,%obj.getPosition());
}
function BasicSwordSSImage::onMount(%this, %obj, %slot)
{
%obj.hideNode("LHand");
%obj.hideNode("RHand");
%obj.hideNode("LHook");
%obj.hideNode("RHook");
%obj.playThread(0, armreadyboth);
}
function BasicSwordSSImage::onUnMount(%this, %obj, %slot)
{
%obj.unhideNode("LHand");
%obj.unhideNode("RHand");
%obj.playThread(0, root);
}