This is the script used in Old School Rifle that changes the datablock. It doesn't change health at all. All health and damage taken do not change values.
ActivatePackage(OldSchoolRifle);
function altRifleImageScoped::onMount(%this,%obj,%slot)
{
Parent::onMount(%this,%obj,%slot);
serverPlay3D(altRifleScopeSound,%obj.getTransform());
%client = %obj.client;
%client.player.setDataBlock("oldschoolrifleArmor");
}
function altRifleImageScoped::onUnMount(%this,%obj,%slot)
{
Parent::onMount(%this,%obj,%slot);
serverPlay3D(altRifleScopeBackSound,%obj.getTransform());
%client = %obj.client;
if(!isObject(%client.minigame))
{
%client.player.setDataBlock("PlayerStandardArmor");
}else{
%client.player.setdatablock(%client.minigame.playerDatablock);
}
}
datablock PlayerData(oldschoolrifleArmor : PlayerStandardArmor)
{
firstPersonOnly=1;
runForce = 10 * 180;
runEnergyDrain = 0;
minRunEnergy = 0;
maxForwardSpeed = 3;
maxBackwardSpeed = 3;
maxSideSpeed = 3;
maxForwardCrouchSpeed = 0;
maxBackwardCrouchSpeed = 0;
maxSideCrouchSpeed = 0;
jumpForce = 8 * 90; //8.3 * 90;
jumpEnergyDrain = 0;
minJumpEnergy = 0;
jumpDelay = 0;
minJetEnergy = 0;
jetEnergyDrain = 0;
canJet = 0;
uiName = "";
showEnergyBar = false;
runSurfaceAngle = 45;
jumpSurfaceAngle = 45;
};