Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if(!isObject(EnemyMcGeeBehavior))
- {
- %template = new BehaviorTemplate(EnemyMcGeeBehavior);
- %template.friendlyName = "EnemyMcGeeBehavior";
- %template.description = "EnemyMcGeeBehavior";
- %template.behaviorType = "EnemyBehavior";
- ///owner normal vertexes
- %template.addBehaviorField(edges, "", int, "4");
- %template.addBehaviorField(vertex1, "", Point2F, "-0.506 -0.658");
- %template.addBehaviorField(vertex2, "", Point2F, "0.516 -0.658");
- %template.addBehaviorField(vertex3, "", Point2F, "0.506 0.246");
- %template.addBehaviorField(vertex4, "", Point2F, "-0.467 0.260");
- ///owner swipeing vertexes
- %template.addBehaviorField(pvertex1, "", Point2F, "0.501 0.196");
- %template.addBehaviorField(pvertex2, "", Point2F, "1.000 0.201");
- %template.addBehaviorField(pvertex3, "", Point2F, "1.00 0.452");
- %template.addBehaviorField(pvertex4, "", Point2F, "0.481 0.452");
- %template.addBehaviorField(Chip, "", object, "Chip", t2dSceneObject);
- %template.addBehaviorField(ChipsChip, "", object, "ChipsChip", t2dSceneObject);
- %template.addBehaviorField(ChipsEnemyTrigger, "", object, "ChipsEnemyTrigger", t2dSceneObject);
- %template.addBehaviorField(enemyChip, "", object, "enemyChip", t2dSceneObject);
- }
- function EnemyMcGeeBehavior::onBehaviorAdd(%this)
- {
- %this.hitting = false;
- echo("%this.hitting" @ %this.hitting);
- $EnemySwipeCount = 0;
- $Enemy = %this.owner;
- $playersCollided = false;
- ///set enemies velocity may
- $EnemyVelocity = 45;
- ///set Global Enemy
- $Enemy = %this.owner;
- $playerCollCount = 0;
- %this.schedule(1000, eRecover);
- echo("mm enemy behavior on add mm");
- echo("mm enemy behavior on add mm");
- echo("mm enemy behavior on add mm");
- echo("mm enemy behavior on add mm");
- echo("mm enemy behavior on add mm");
- echo("mm enemy behavior on add mm");
- echo("mm enemy behavior on add mm");
- echo("mm enemy behavior on add mm");
- echo("mm enemy behavior on add mm");
- }
- function EnemyMcGeeBehavior::onCollision(%srcObject, %dstObject, %srcRef, %dstRef, %time, %normal, %contacts, %points)
- {
- if(%dstObject.class $= "ChipClass")
- {
- echo("eMcG onColl::ChipClass");
- if($playersCollided != true)
- {
- if($ChipSwiping == true)
- {
- echo("eMcG $ChipSwiping");
- %srcObject.ChipSwipeAccount();
- %dstObject.setCollisionActive(false, false);
- //%srcObject.setCollisionActive(false, false);
- }
- if($EnemySwiping == true)
- {
- echo("eMcG $EnemySwiping");
- %srcObject.EnemySwipeAccount();
- %dstObject.setCollisionActive(false, false);
- //%srcObject.setCollisionActive(false, false);
- }
- }
- else if($playersCollided == true)
- {
- echo("... playersCollided == false");
- return;
- }
- }
- }
- function EnemyMcGeeBehavior::ChipSwipeAccount(%this)
- {
- if(EnemySwiping == true)
- return;
- echo("eMcG ChipSwipeAccount function");
- echo("$ChipSwiping should = 1 " @ $ChipSwiping);
- echo("eMcG % time " @ Sim::getCurrentTime());
- %eReaction = getRandom(1, 2);
- echo("eMcG ::%eReaction dictates enemy reaction if 1 def, 2 smacked");
- echo("eMcG %eReaction " @ %eReaction);
- if(%eReaction == 1)
- {
- echo("eMcG %eReaction == 1 so enemy defend.");
- //this means enemy succesfully defends
- %this.schedule(500, eRecover);
- %this.schedule(1000, reREreRE);
- $EnemyChangeState = true;
- $EnemyDefending = true;
- $EnemySmacked = false;
- ///will also have to change eChip mount pos.
- /*%this.enemyChip.mount($Enemy, -3, -3, true);*/
- }
- else if(%eReaction == 2)
- {
- echo("eMcG %eReaction == 2 so enemy smacked.");
- //this means enemy is smacked
- %this.schedule(500, eRecover);
- %this.schedule(1000, reREreRE);
- $EnemyChangeState = true;
- $EnemyDefending = false;
- $EnemySmacked = true;
- //this means enemy loseshis chip
- %this.enemyChip.dismount();
- %this.enemyChip.setConstantForceY($Gravity);
- ///this var simply tells e to getChip uPon scheduled eRecover
- %this.lostChip = true;
- }
- }
- function EnemyMcGeeBehavior::reREreRE(%this)
- {
- echo("G G G Gggggg GGG gggg G G g g ");
- echo("G G G Gggggg GGG gggg G G g g ");
- echo("G G G Gggggg GGG gggg G G g g ");
- echo("G G G Gggggg GGG gggg G G g g ");
- echo("G G G Gggggg GGG gggg G G g g ");
- echo("G G G Gggggg GGG gggg G G g g ");
- echo("G G G Gggggg GGG gggg G G g g ");
- echo("G G G Gggggg GGG gggg G G g g ");
- }
- function EnemyMcGeeBehavior::eRecover(%this)
- {
- $Chip.setCollisionActive(true, true);
- echo("eMcG ::eRecover");
- echo("eMcG ::eRecover");
- echo("eMcG ::eRecover");
- echo("eMcG ::eRecover");
- return;
- if($EnemyMounted == true)
- {
- ///figure out time to drop chip.
- %ePos = $Enemy.position;
- if(%ePos > 10)
- {
- ///so walk right, drop
- $EnemyChangeState = true;
- $EnemyWalking = true;
- $EnemyWalkingRight = true;
- %this.schedule(1000, dropChip);
- }
- else if (%ePos < 10)
- {
- ///so walk left, drop.
- $EnemyChangeState = true;
- $EnemyWalking = true;
- $EnemyWalkingLeft = true;
- %this.schedule(1000, dropChip);
- }
- }
- else if($EnemyMounted == false)
- {
- $EnemyChangeState = true;
- $EnemyWalking = false;
- $EnemyWalkingLeft = true;
- $EnemyWalkingRight = true;
- $EnemyDefending = false;
- $EnemySmacking = false;
- }
- }
- function EnemyMcGeeBehavior::dropChip(%this)
- {
- $EnemyChangeState = true;
- $EnemyWalking = false;
- $EnemyWalkingLeft = false;
- $EnemyWalkingRight = false;
- %this.enemyChip.dismount();
- %this.enemyChip.setConstantForceY($Gravity);
- }
- function EnemyMcGeeBehavior::ChipCollision(%this)
- {
- if($ChipMounted == true || $EnemyMounted == true)
- {
- echo("Chip or Enemy Mounted. No Collision reaction.");
- echo("");
- return;
- }
- $playersCollided = true;
- echo("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
- %this.schedule(1000, allowPlayerCollisions);
- $playerCollCount = $playerCollCount + 1;
- echo("$playerCollCount " @ $playerCollCount);
- $playersCollided = true;
- echo("+x+ $playersCollided " @ $playersCollided);
- ////%enemyReaction ...Decked or Defend
- %enemyReaction = getRandom(1, 2);
- echo("++ %enemyReaction: detemines if enemy is Decked(1) or defends(2). = " @ %enemyReaction);
- ///need to set up random of how Enemy reacts
- //%EnemyDecked = 1;
- //%EnemyDefends = 2;
- if(%enemyReaction == 1)
- {
- echo("++ enemy is decked");
- ///set up global to show enemy react
- $EnemyChangeState = true;
- $EnemyWalking = false;
- $EnemySmacked = true;
- $EnemyDefend = false;
- echo("++enemy should be playing animayion HIT");
- %this.schedule(700, enemyRecover);
- return;
- }
- else if(%enemyReaction == 2)
- {
- echo("++%enemyReaction == 2, therefore he defends");
- ///set up global to show enemy react
- $EnemyChangeState = true;
- $EnemyWalking = false;
- $EnemyDefend = true;
- $EnemySmacked = false;
- echo("++enemy should be playing animayion DEFEND");
- %this.schedule(700, enemyRecover);
- return;
- }
- }
- function EnemyMcGeeBehavior::enemyRecover(%this)
- {
- echo("++ function EnemyMcGeeBehavior::Recover(%this)");
- $EnemyChangeState = true;
- $EnemyIdle = true;
- $EnemyDefend = false;
- $EnemyDecked = false;
- %this.schedule(750, EnemyChooseTask);
- %this.schedule(2000, allowPlayerCollisions);
- }
- function EnemyMcGeeBehavior::EnemyChooseTask(%this)
- {
- echo("++ function EnemyMcGeeBehavior::EnemyChooseTask(%this)");
- if($EnemyMounted == true)
- {
- $Enemy.setCollisionActive(false, false);
- %this.schedule(1000, turnOnEnemyCollision);
- %this.enemyChip.dismount();
- %this.enemyChip.setConstantForceY($Gravity);
- %this.schedule(500, enemyPickUpChip);
- }
- }
- function EnemyMcGeeBehavior::enemyPickUpChip(%this)
- {
- if(EnemyOutOfChips == false)
- {
- $EnemyChangeState = true;
- $EnemyGoToPickUp = true;
- }
- }
- function EnemyMcGeeBehavior::allowPlayerCollisions(%this)
- {
- echo("++ reset playerCollided to false... meaning player can now collide and (fight)");
- $Enemy.setCollisionActive(true, true);
- $Chip.setCollisionActive(true, true);
- $playersCollided = false;
- $noControl = false;
- return;
- }
- function EnemyMcGeeBehavior::ChipRecover(%this)
- {
- $noControl = false;
- $ChipDefending = false;
- $ChipSmacking = false;
- $EnemyChangeState = true;
- $EnemyWalking = true;
- $EnemySmacking = false;
- %this.Chip.setDamping(0);
- $Enemy.setCollisionActive(true, true);
- if($ChipMounted == true)
- {
- %this.owner.mount(%this.Chip, 0.5, 0.17, 0, 0, 1, 0, 1);
- }
- if($ChipHit == true)
- {
- $createNewChip = true;
- $ChipHit = false;
- }
- if($EnemyOutOfChips == true)
- {
- $EnemyWalking = false;
- }
- }
- function EnemyMcGeeBehavior::pickUpChip(%this)
- {
- if($EnemyMounted == false)
- {
- $EnemyChangeState = true;
- $createNewEnemyChip = true;
- $EnemyRecovering = false;
- $EnemyWalking = true;
- $EnemyWalkingLeft = true;
- $EnemyMounted = false;
- $EnemyWalkingRight = false;
- }
- }
- function EnemyMcGeeBehavior::onWorldLimit(%this)
- {
- echo("enmey at world Limit :::::::: : : : : : : :x : : ");
- $EnemyChangeState = true;
- $Enemy.setCollisionActive(false, false);
- %this.schedule(1550, turnOnCollisions);
- if($EnemyWalkingLeft == true)
- {
- $EnemyWalkingLeft = false;
- $EnemyWalkingRight = true;
- }
- else if($EnemyWalkingRight == true)
- {
- $EnemyWalkingRight = false;
- $EnemyWalkingLeft = true;
- }
- if($EnemyOutOfChips == true)
- {
- $EnemyWalking = false;
- $EnemyWalkingLeft = false;
- $EnemyWalkingRight = false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment