Kobble's Boar Bot does not work in slayer.

Author Topic: Kobble's Boar Bot does not work in slayer.  (Read 1744 times)

All bots are working in slayer except kobble's boar bot. I can't even damage it.

If I create a non-slayer game it works for some reason



Code: [Select]
datablock AudioProfile(PigPainSound)
{
fileName = "./PigPain.wav";
description = AudioClose3d;
preload = true;
};

datablock AudioProfile(PigDeathSound)
{
fileName = "./PigDeath.wav";
description = AudioClose3d;
preload = true;
};

datablock fxDTSBrickData (BrickBoarBot_HoleSpawnData)
{
brickFile = "Add-ons/Bot_Hole/6xspawn.blb";
category = "Special";
subCategory = "Holes";
uiName = "Boar Hole";
iconName = "Add-Ons/Bot_Boar/Icon_Boar";

bricktype = 2;
cancover = 0;
orientationfix = 1;
indestructable = 1;

isBotHole = 1;
holeBot = "BoarHoleBot";
};



// Load dts shapes and merge animations
datablock TSShapeConstructor(Boardts)
{
baseShape  = "./Boar.dts";
sequence0  = "./boar_root.dsq root";

sequence1  = "./boar_run.dsq run";
sequence2  = "./boar_run.dsq walk";
sequence3  = "./boar_back.dsq back";
sequence4  = "./boar_side.dsq side";

sequence5  = "./boar_root.dsq crouch";
sequence6  = "./boar_run.dsq crouchRun";
sequence7  = "./boar_back.dsq crouchBack";
sequence8  = "./boar_side.dsq crouchSide";

sequence9  = "./boar_root.dsq look";
sequence10 = "./boar_root.dsq headside";
sequence11 = "./boar_root.dsq headUp";

sequence12 = "./boar_jump.dsq jump";
sequence13 = "./boar_jump.dsq standjump";
sequence14 = "./boar_fall.dsq fall";
sequence15 = "./boar_root.dsq land";

sequence16 = "./boar_root.dsq armAttack";
sequence17 = "./boar_root.dsq armReadyLeft";
sequence18 = "./boar_root.dsq armReadyRight";
sequence19 = "./boar_root.dsq armReadyBoth";
sequence20 = "./boar_root.dsq spearready"; 
sequence21 = "./boar_root.dsq spearThrow";

sequence22 = "./boar_root.dsq talk"; 

sequence23 = "./boar_death.dsq death1";

sequence24 = "./boar_root.dsq shiftUp";
sequence25 = "./boar_root.dsq shiftDown";
sequence26 = "./boar_root.dsq shiftAway";
sequence27 = "./boar_root.dsq shiftTo";
sequence28 = "./boar_root.dsq shiftLeft";
sequence29 = "./boar_root.dsq shiftRight";
sequence30 = "./boar_root.dsq rotCW";
sequence31 = "./boar_root.dsq rotCCW";

sequence32 = "./boar_root.dsq undo";
sequence33 = "./boar_root.dsq plant";

sequence34 = "./boar_root.dsq sit";

sequence35 = "./boar_root.dsq wrench";

   sequence36 = "./boar_root.dsq activate";
   sequence37 = "./boar_activate2.dsq activate2";
};



datablock DebrisData( BoarDebris )
{
   explodeOnMaxBounce = false;

   elasticity = 0.15;
   friction = 0.5;

   lifetime = 4.0;
   lifetimeVariance = 0.0;

   minSpinSpeed = 40;
   maxSpinSpeed = 600;

   numBounces = 5;
   bounceVariance = 0;

   staticOnMaxBounce = true;
   gravModifier = 1.0;

   useRadiusMass = false;
   baseRadius = 1;

   velocity = 20.0;
   velocityVariance = 12.0;
};             

datablock PlayerData(BoarArmor)
{
   renderFirstPerson = false;
   emap = false;
   
   className = Armor;
   shapeFile = "./Boar.dts";
   cameraMaxDist = 7;
   cameraTilt = 0;//0.174 * 2.5; //~25 degrees
   cameraVerticalOffset = 2;
   computeCRC = false;
 
   canObserve = true;
   cmdCategory = "Clients";

   cameraDefaultFov = 90.0;
   cameraMinFov = 5.0;
   cameraMaxFov = 120.0;
   
   //debrisShapeName = "~/data/shapes/player/debris_player.dts";
   //debris = horseDebris;

      aiAvoidThis = true;

   minLookAngle = -1.5708;
   maxLookAngle = 1.5708;
   maxFreelookAngle = 3.0;

   mass = 90;
   drag = 0.1;
   density = 0.7;
   maxDamage = 250;
   maxEnergy =  10;
   repairRate = 0.33;

   rechargeRate = 0.4;

   runForce = 28 * 90;
   runEnergyDrain = 0;
   minRunEnergy = 0;
   maxForwardSpeed = 12;
   maxBackwardSpeed = 6;
   maxSideSpeed = 1;

   maxForwardCrouchSpeed = 12;
   maxBackwardCrouchSpeed = 6;
   maxSideCrouchSpeed = 1;

   maxForwardProneSpeed = 0;
   maxBackwardProneSpeed = 0;
   maxSideProneSpeed = 0;

   maxForwardWalkSpeed = 0;
   maxBackwardWalkSpeed = 0;
   maxSideWalkSpeed = 0;

   maxUnderwaterForwardSpeed = 8.4;
   maxUnderwaterBackwardSpeed = 7.8;
   maxUnderwaterSideSpeed = 7.8;

   jumpForce = 0;
   jumpEnergyDrain = 0;
   minJumpEnergy = 0;
   jumpDelay = 0;

   minJetEnergy = 0;
jetEnergyDrain = 0;
canJet = 0;

   minImpactSpeed = 250;
   speedDamageScale = 3.8;


   boundingBox = vectorScale("2.5 2.5 1.6", 4);
   crouchBoundingBox = vectorScale("2.5 2.5 1.6", 4);
   proneBoundingBox = vectorScale("2.5 2.5 1.6", 4); //"2.5 2.5 2.4";

   pickupRadius = 1.2;
   
   // Damage location details
   boxNormalHeadPercentage       = 0.83;
   boxNormalTorsoPercentage      = 0.49;
   boxHeadLeftPercentage         = 0;
   boxHeadRightPercentage        = 1;
   boxHeadBackPercentage         = 0;
   boxHeadFrontPercentage        = 1;

   // Foot Prints
   //decalData   = HorseFootprint;
   //decalOffset = 0.25;

   jetEmitter = "";
   jetGroundEmitter = "";
   jetGroundDistance = 4;
 
   //footPuffEmitter = LightPuffEmitter;
   footPuffNumParts = 10;
   footPuffRadius = 0.25;

   //dustEmitter = LiftoffDustEmitter;

   splash = PlayerSplash;
   splashVelocity = 4.0;
   splashAngle = 67.0;
   splashFreqMod = 300.0;
   splashVelEpsilon = 0.60;
   bubbleEmitTime = 0.1;
   splashEmitter[0] = PlayerFoamDropletsEmitter;
   splashEmitter[1] = PlayerFoamEmitter;
   splashEmitter[2] = PlayerBubbleEmitter;
   mediumSplashSoundVelocity = 10.0;   
   hardSplashSoundVelocity = 20.0;   
   exitSplashSoundVelocity = 5.0;

   // Controls over slope of runnable/jumpable surfaces
   runSurfaceAngle  = 85;
   jumpSurfaceAngle = 86;

   minJumpSpeed = 20;
   maxJumpSpeed = 30;

   horizMaxSpeed = 68;
   horizResistSpeed = 33;
   horizResistFactor = 0.35;

   upMaxSpeed = 80;
   upResistSpeed = 25;
   upResistFactor = 0.3;
   
   footstepSplashHeight = 0.35;

   //NOTE:  some sounds commented out until wav's are available

   // Footstep Sounds
//   FootSoftSound        = HorseFootFallSound;
//   FootHardSound        = HorseFootFallSound;
//   FootMetalSound       = HorseFootFallSound;
//   FootSnowSound        = HorseFootFallSound;
//   FootShallowSound     = HorseFootFallSound;
//   FootWadingSound      = HorseFootFallSound;
//   FootUnderwaterSound  = HorseFootFallSound;
   //FootBubblesSound     = FootLightBubblesSound;
   //movingBubblesSound   = ArmorMoveBubblesSound;
   //waterBreathSound     = WaterBreathMaleSound;

   //impactSoftSound      = ImpactLightSoftSound;
   //impactHardSound      = ImpactLightHardSound;
   //impactMetalSound     = ImpactLightMetalSound;
   //impactSnowSound      = ImpactLightSnowSound;
   
   impactWaterEasy      = Splash1Sound;
   impactWaterMedium    = Splash1Sound;
   impactWaterHard      = Splash1Sound;
   
   groundImpactMinSpeed    = 10.0;
   groundImpactShakeFreq   = "4.0 4.0 4.0";
   groundImpactShakeAmp    = "1.0 1.0 1.0";
   groundImpactShakeDuboarion = 0.8;
   groundImpactShakeFalloff = 10.0;
   
   //exitingWater         = ExitingWaterLightSound;
   
   observeParameters = "0.5 4.5 4.5";

   // Inventory Items
maxItems   = 10; //total number of bricks you can carry
maxWeapons = 5; //this will be controlled by mini-game code
maxTools = 5;

uiName = "Boar";
rideable = true;
lookUpLimit = 0.6;
lookDownLimit = 0.2;

   numMountPoints = 1;
   mountNode[0] = 2;
   mountThread[0] = "sit";
   mountThread[2] = "sit";


canRide = false;
showEnergyBar = false;
paintable = false;

brickImage = HorseBrickImage; //the imageData to use for brick deployment

};


datablock PlayerData(BoarHoleBot : BoarArmor)
{
uiName = "Wild Boar";

//Hole Attributes
isHoleBot = 1;

//Spawning option
hSpawnTooClose = 0;//Doesn't spawn when player is too close and can see it
  hSpawnTCRange = 8;//above range, set in brick units
hSpawnClose = 0;//Only spawn when close to a player, can be used with above function as long as hSCRange is higher than hSpawnTCRange
  hSpawnCRange = 32;//above range, set in brick units

hType = Enemy; //Enemy,Friendly, Neutral
  hNeutralAttackChance = 80;
//can have unique types, national socialists will attack zombies but national socialists will not attack other bots labeled national socialist
hName = "Boar";//cannot contain spaces
hTickRate = 3000;

//Wander Options
hWander = 1;//Enables random walking
  hSmoothWander = 1;//This is in addition to regular wander, makes them walk a bit longer, and a bit smoother
  hReturnToSpawn = 1;//Returns to spawn when too far
  hSpawnDist = 48;//Defines the distance bot can travel away from spawnbrick
  hGridWander = 0;//Locks the bot to a grid, overwrites other settings

//Searching options
hSearch = 1;//Search for Players
  hSearchRadius = 128;//in brick units
  hSight = 1;//Require bot to see player before pursuing
  hStrafe = 1;//Randomly strafe while following player
hSearchFOV = 0;//if enabled disables normal hSearch
  hFOVRadius = 6;//max 10
  hHearing = 1;//If it hears a player it'll look in the direction of the sound

  hAlertOtherBots = 1;//Alerts other bots when he sees a player, or gets attacked

//Attack Options
hMelee = 1;//Melee
  hAttackDamage = 15;//Melee Damage
  hMeleeCI = "";
hShoot = 0;
  hWep = "boomBeltItem";
  hShootTimes = 4;//Number of times the bot will shoot between each tick
  hMaxShootRange = 256;//The range in which the bot will shoot the player
  hAvoidCloseRange = 0;//
hTooCloseRange = 7;//in brick units

//Misc options
hAvoidObstacles = 1;
hSuperStacker = 0;//When enabled makes the bots stack a bit better, in other words, jumping on each others heads to get to a player
hSpazJump = 0;//Makes bot jump when the user their following is higher than them

hAFKOmeter = 1;//Determines how often the bot will wander or do other idle actions, higher it is the less often he does things

hIdle = 1;// Enables use of idle actions, actions which are done when the bot is not doing anything else
  hIdleAnimation = 1;//Plays random animations/emotes, sit, click, love/hate/etc
  hIdleLookAtOthers = 1;//Randomly looks at other players/bots when not doing anything else
    hIdleSpam = 0;//Makes them spam click and spam hammer/spraycan
  hSpasticLook = 1;//Makes them look around their environment a bit more.
hEmote = 1;

useCustomPainEffects = true;
PainSound = PigPainSound;
DeathSound = PigDeathSound;
PainHighImage = "PainHighImage";
PainMidImage = "PainMidImage";
PainLowImage = "PainLowImage";




rideable = false;
};

function BoarHoleBot::onAdd(%this,%obj)
{
armor::onAdd(%this,%obj);

%color = getRandom(0,3);
if(%color == 0)
%obj.chestColor = "1 1 1 1";
if(%color == 1)
%obj.chestColor = "0.1 0.1 0.1 1";
if(%color == 2)
%obj.chestColor = "0.5 0.27 0.05 1";
if(%color == 3)
%obj.chestColor = "0.98 0.86 0.67 1";

GameConnection::ApplyBodyParts(%obj);
GameConnection::ApplyBodyColors(%obj);

// allow people to take control of the bot when they mount it
%obj.controlOnMount = 1;
}

//function BoarArmor::onDriverLeave(%obj, %player)
//{
// %player.schedule(33, playThread, 3, "root");
//}

//Sit hack. Sit animation on blockhead won't work so I had to do this. Stolen from Player_Cow.
//package sitBoar {
//   function armor::onMount(%this,%obj,%col,%slot)
//   {
//      parent::onMount(%this,%obj,%col,%slot);
  //    if(%col.getDataBlock() == BoarArmor.getID())
 //        %obj.playThread(3,"sit");
 //  }
//};
//activatePackage(sitBoar);




you just posted it and you already got problems

So do you have a solution other than berating my help topic?

nevermind I figured out the bot counted as a vehicle for some reason.

But thanks anywaysssssssssssssssss

Don't lock threads without posting a solution.
What did you do to fix it?