Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement