home *** CD-ROM | disk | FTP | other *** search
- class Bubblefield
- {
- var arrUnits;
- var x;
- var y;
- var blnBoss;
- function Bubblefield()
- {
- this.arrUnits = new Array();
- this.x = 0;
- this.y = 0;
- this.blnBoss = false;
- }
- function GetNumUnits()
- {
- return this.arrUnits.length;
- }
- function AddUnit(myName, myLinkage, myPosition, myDepth)
- {
- var _loc2_ = new BubblefieldUnit(myName,myLinkage,myPosition,myDepth);
- this.arrUnits.push(_loc2_);
- }
- function AddSpawnedUnit(myName, myLinkage, myPosition, myDepth)
- {
- var _loc4_ = new BubblefieldUnit(myName,myLinkage,myPosition,myDepth);
- _loc4_._position._x = myPosition._x - (_root.bg._x - _root.avatar._x) - 250;
- _loc4_._position._y = myPosition._y - (_root.bg._y - _root.avatar._y) - 200;
- this.arrUnits.push(_loc4_);
- }
- function AddUnitAndList(myName, myLinkage, myPosition, myDepth, formalName)
- {
- var _loc2_ = new BubblefieldUnit(myName,myLinkage,myPosition,myDepth);
- _loc2_._formalName = formalName;
- this.arrUnits.push(_loc2_);
- }
- function MoveAllBubblefieldUnits(moveVector)
- {
- var _loc3_ = 0;
- while(_loc3_ < this.arrUnits.length)
- {
- _root[this.arrUnits[_loc3_]._name]._x += moveVector._x;
- _root[this.arrUnits[_loc3_]._name]._y += moveVector._y;
- _loc3_ = _loc3_ + 1;
- }
- }
- function GetClosestUnit(testX, testY)
- {
- var _loc7_ = 99999999;
- var _loc6_ = 0;
- var _loc8_ = "";
- var _loc3_ = 0;
- while(_loc3_ < this.arrUnits.length)
- {
- var _loc5_ = _root[this.arrUnits[_loc3_]._name]._x - testX;
- var _loc4_ = _root[this.arrUnits[_loc3_]._name]._y - testY;
- _loc6_ = Math.sqrt(_loc5_ * _loc5_ + _loc4_ * _loc4_);
- if(_loc6_ < _loc7_)
- {
- _loc7_ = _loc6_;
- _loc8_ = this.arrUnits[_loc3_]._name;
- }
- _loc3_ = _loc3_ + 1;
- }
- return _loc8_;
- }
- function GetUnitsWithinDistance(testX, testY, testDistance)
- {
- var _loc6_ = 0;
- var _loc7_ = new Array();
- var _loc3_ = 0;
- while(_loc3_ < this.arrUnits.length)
- {
- var _loc5_ = _root[this.arrUnits[_loc3_]._name]._x - testX;
- var _loc4_ = _root[this.arrUnits[_loc3_]._name]._y - testY;
- _loc6_ = Math.sqrt(_loc5_ * _loc5_ + _loc4_ * _loc4_);
- if(_loc6_ <= testDistance)
- {
- _loc7_.push(this.arrUnits[_loc3_]._name);
- }
- _loc3_ = _loc3_ + 1;
- }
- return _loc7_;
- }
- function RemoveUnit(unitName)
- {
- var _loc2_ = 0;
- while(_loc2_ < this.arrUnits.length)
- {
- if(unitName == this.arrUnits[_loc2_]._name)
- {
- this.arrUnits.splice(_loc2_,1);
- break;
- }
- _loc2_ = _loc2_ + 1;
- }
- }
- function GetUnitType(unitName)
- {
- var _loc2_ = 0;
- while(_loc2_ < this.arrUnits.length)
- {
- if(unitName == this.arrUnits[_loc2_]._name)
- {
- return this.arrUnits[_loc2_]._linkage;
- }
- _loc2_ = _loc2_ + 1;
- }
- }
- function RemoveUnitByType(unitType, blnRemoveAll)
- {
- if(blnRemoveAll == true)
- {
- var _loc3_ = true;
- while(_loc3_ == true)
- {
- _loc3_ = false;
- var _loc2_ = 0;
- while(_loc2_ < this.arrUnits.length)
- {
- if(unitType == this.arrUnits[_loc2_]._linkage)
- {
- this.arrUnits.splice(_loc2_,1);
- _loc3_ = true;
- break;
- }
- _loc2_ = _loc2_ + 1;
- }
- }
- }
- else
- {
- _loc2_ = 0;
- while(_loc2_ < this.arrUnits.length)
- {
- if(unitType == this.arrUnits[_loc2_]._linkage)
- {
- this.arrUnits.splice(_loc2_,1);
- break;
- }
- _loc2_ = _loc2_ + 1;
- }
- }
- }
- function BuildUnitList()
- {
- var _loc3_ = new Array();
- var _loc4_ = 0;
- while(_loc4_ < this.arrUnits.length)
- {
- var _loc5_ = false;
- var _loc6_ = false;
- var _loc2_ = 0;
- while(_loc2_ < _loc3_.length)
- {
- if(_loc3_[_loc2_].type == this.arrUnits[_loc4_]._linkage)
- {
- _loc3_[_loc2_].num = _loc3_[_loc2_].num + 1;
- _loc5_ = true;
- break;
- }
- _loc2_ = _loc2_ + 1;
- }
- if(_loc5_ == false)
- {
- if(_loc3_.length < 4)
- {
- _loc3_.push({name:this.arrUnits[_loc4_]._formalName,type:this.arrUnits[_loc4_]._linkage,num:1});
- }
- else
- {
- _loc6_ = true;
- }
- }
- _loc4_ = _loc4_ + 1;
- }
- return _loc3_;
- }
- function HaltUnits()
- {
- var _loc3_ = 0;
- while(_loc3_ < this.arrUnits.length)
- {
- _root[this.arrUnits[_loc3_]._name].TurnOff();
- _loc3_ = _loc3_ + 1;
- }
- }
- function ResumeUnits()
- {
- var _loc3_ = 0;
- while(_loc3_ < this.arrUnits.length)
- {
- _root[this.arrUnits[_loc3_]._name].TurnOn();
- _loc3_ = _loc3_ + 1;
- }
- }
- function HideAllUnits()
- {
- var _loc4_ = new Array();
- var _loc3_ = 0;
- while(_loc3_ < this.arrUnits.length)
- {
- if(_root[this.arrUnits[_loc3_]._name]._type != 1)
- {
- _loc4_.push(this.arrUnits[_loc3_]._name);
- }
- else
- {
- this.arrUnits[_loc3_]._rotation = _root[this.arrUnits[_loc3_]._name]._rotation;
- }
- _root[this.arrUnits[_loc3_]._name].removeMovieClip();
- _loc3_ = _loc3_ + 1;
- }
- _loc3_ = 0;
- while(_loc3_ < _loc4_.length)
- {
- this.RemoveUnit(_loc4_[_loc3_]);
- _loc3_ = _loc3_ + 1;
- }
- }
- function ShowAllUnits(offsetVector)
- {
- var _loc3_ = 0;
- while(_loc3_ < this.arrUnits.length)
- {
- _root.attachMovie(this.arrUnits[_loc3_]._linkage,this.arrUnits[_loc3_]._name,this.arrUnits[_loc3_]._depth);
- _root[this.arrUnits[_loc3_]._name]._x = _root.bg._x + this.arrUnits[_loc3_]._position._x + offsetVector._x;
- _root[this.arrUnits[_loc3_]._name]._y = _root.bg._y + this.arrUnits[_loc3_]._position._y + offsetVector._y;
- _root[this.arrUnits[_loc3_]._name]._rotation = this.arrUnits[_loc3_]._rotation;
- _loc3_ = _loc3_ + 1;
- }
- }
- function CheckForHits(bulletName)
- {
- var _loc7_ = false;
- var _loc6_ = undefined;
- var _loc4_ = this.arrUnits.slice();
- if(_root[bulletName]._type != 7)
- {
- var _loc5_ = 0;
- while(_loc5_ < _loc4_.length)
- {
- _loc6_ = false;
- if(_loc4_[_loc5_]._linkage == "Enemy_Leecher")
- {
- if(_root[_loc4_[_loc5_]._name].guy.hitTest(_root[bulletName]._x,_root[bulletName]._y,true))
- {
- _loc7_ = true;
- _loc6_ = true;
- }
- }
- else if(_root[_loc4_[_loc5_]._name].hitTest(_root[bulletName]._x,_root[bulletName]._y,true))
- {
- if(_root[bulletName].GetImmune(_loc4_[_loc5_]._name) == false)
- {
- _loc7_ = true;
- _loc6_ = true;
- _root[bulletName].EventHitEnemy(_loc4_[_loc5_]._name);
- _root[bulletName].AddImmunity(_loc4_[_loc5_]._name);
- }
- }
- if(_loc6_ == false)
- {
- var _loc11_ = _root[bulletName]._x - _root[bulletName].moveX * 0.5;
- var _loc10_ = _root[bulletName]._y - _root[bulletName].moveY * 0.5;
- if(_loc4_[_loc5_]._linkage == "Enemy_Leecher")
- {
- if(_root[_loc4_[_loc5_]._name].guy.hitTest(_loc11_,_loc10_,true))
- {
- _loc7_ = true;
- _loc6_ = true;
- }
- }
- else if(_root[_loc4_[_loc5_]._name].hitTest(_loc11_,_loc10_,true))
- {
- if(_root[bulletName].GetImmune(_loc4_[_loc5_]._name) == false)
- {
- _loc7_ = true;
- _loc6_ = true;
- _root[bulletName].EventHitEnemy(_loc4_[_loc5_]._name);
- _root[bulletName].AddImmunity(_loc4_[_loc5_]._name);
- }
- }
- }
- if(_loc6_ == true)
- {
- _root[_loc4_[_loc5_]._name].ReceiveDamage(_root[bulletName]._damage,bulletName);
- }
- _loc5_ = _loc5_ + 1;
- }
- }
- else
- {
- var _loc13_ = _root[bulletName]._width / 2 + 10;
- _loc5_ = 0;
- while(_loc5_ < _loc4_.length)
- {
- if(_root[bulletName].GetImmune(_loc4_[_loc5_]._name) == false)
- {
- var _loc9_ = _root[_loc4_[_loc5_]._name]._x - _root[bulletName]._x;
- var _loc8_ = _root[_loc4_[_loc5_]._name]._y - _root[bulletName]._y;
- var _loc12_ = Math.sqrt(_loc9_ * _loc9_ + _loc8_ * _loc8_);
- if(_loc12_ <= _loc13_)
- {
- if(_root[bulletName].GetImmune(_loc4_[_loc5_]._name) == false)
- {
- _loc7_ = true;
- _loc6_ = true;
- _root[bulletName].EventHitEnemy(_loc4_[_loc5_]._name);
- _root[bulletName].AddImmunity(_loc4_[_loc5_]._name);
- }
- }
- }
- _loc5_ = _loc5_ + 1;
- }
- }
- false;
- return _loc7_;
- }
- function ConvertDrones()
- {
- var _loc4_ = new Array();
- var _loc3_ = 0;
- while(_loc3_ < this.arrUnits.length)
- {
- if(_root[this.arrUnits[_loc3_]._name]._type != 1)
- {
- _root.game.SpawnSeeker(_root[this.arrUnits[_loc3_]._name]._x,_root[this.arrUnits[_loc3_]._name]._y,7,_root[this.arrUnits[_loc3_]._name]._type);
- _loc4_.push(this.arrUnits[_loc3_]._name);
- }
- _loc3_ = _loc3_ + 1;
- }
- _loc3_ = 0;
- while(_loc3_ < _loc4_.length)
- {
- _root[_loc4_[_loc3_]].ReceiveDamage(999999,"");
- _loc3_ = _loc3_ + 1;
- }
- }
- function EstimateDifficulty()
- {
- var _loc3_ = 0;
- var _loc2_ = 0;
- while(_loc2_ < this.arrUnits.length)
- {
- if(this.arrUnits[_loc2_]._linkage == "Enemy_1")
- {
- _loc3_ += -0.2;
- }
- else if(this.arrUnits[_loc2_]._linkage == "Enemy_4")
- {
- _loc3_ += -0.02;
- }
- else if(this.arrUnits[_loc2_]._linkage == "Enemy_17")
- {
- _loc3_ += -0.2;
- }
- else if(this.arrUnits[_loc2_]._linkage == "Enemy_18")
- {
- _loc3_ += -0.2;
- }
- else if(this.arrUnits[_loc2_]._linkage == "Enemy_10")
- {
- _loc3_ += -2;
- }
- else if(this.arrUnits[_loc2_]._linkage == "Enemy_92")
- {
- _loc3_ += -4;
- }
- else
- {
- _loc3_ += 1;
- }
- _loc2_ = _loc2_ + 1;
- }
- return _loc3_;
- }
- }
-