home *** CD-ROM | disk | FTP | other *** search
- class GameMagnet extends Collectable
- {
- var world;
- var targetObjects;
- var value = 0;
- var collisionGroup = BB.MAGNETS;
- var linkageID = "Magnets";
- var collectedSound = "VR";
- var power = 12;
- var drain = 1;
- var range = 1000;
- var strength = 1400;
- function GameMagnet()
- {
- super();
- }
- function onAddToWorld()
- {
- if(!_root.PostVR_Magnets)
- {
- this.world.removeObject(this);
- }
- }
- function awardValue(obj)
- {
- obj.setSpecialItem(this);
- obj.vrSound.stop();
- obj.vrSound.attachSound("magnet");
- obj.vrSound.start(0,10000);
- this.applyDisplay(obj);
- }
- function applyDisplay(targetObject, offsetX, offsetY, offsetZ, depthRatio)
- {
- var _loc1_ = targetObject.target.sled;
- _loc1_.magnetLeft._visible = _loc1_.magnetRight._visible = true;
- _loc1_.magnetLeft.gotoAndStop(targetObject.currentTurnFrame);
- _loc1_.magnetRight.gotoAndStop(targetObject.currentTurnFrame);
- }
- function removeDisplay(targetObject)
- {
- targetObject.vrSound.stop();
- targetObject.removeSpecialItem();
- }
- function update(sled, elapsed)
- {
- this.power -= this.drain * elapsed;
- if(this.power <= 0)
- {
- this.removeDisplay(sled);
- return undefined;
- }
- this.targetObjects = [];
- var _loc8_ = undefined;
- var _loc2_ = undefined;
- var _loc6_ = sled.sector.previous;
- var _loc3_ = new Vector();
- var _loc9_ = undefined;
- var _loc7_ = this.strength * elapsed;
- while(_loc6_)
- {
- _loc8_ = _loc6_.objects;
- var _loc5_ = _loc8_.length;
- while((_loc5_ = _loc5_ - 1) > -1)
- {
- _loc2_ = _loc8_[_loc5_];
- if(!_loc2_.collected && _loc2_.collisionGroup & BB.MAGNETIC_CHARGE)
- {
- if(_loc2_.z - sled.z > this.range)
- {
- break;
- }
- _loc3_.loc(sled.x - _loc2_.x,sled.y - _loc2_.y,sled.z - _loc2_.z);
- _loc9_ = _loc3_.length;
- if(_loc9_ < _loc7_)
- {
- _loc2_.setCollected(sled);
- }
- else
- {
- _loc3_.length = _loc7_;
- _loc2_.moveBy(_loc3_.x,_loc3_.y,_loc3_.z);
- this.targetObjects.push(_loc2_);
- }
- }
- }
- if(_loc6_.z > sled.z + this.range)
- {
- break;
- }
- _loc6_ = _loc6_.next;
- }
- }
- function renderEffects(object)
- {
- }
- }
-