home *** CD-ROM | disk | FTP | other *** search
- function colony_hp()
- {
- return _root.antstats[gc_pop];
- }
- function colony_offense()
- {
- var _loc2_ = _root;
- var _loc1_ = 0;
- var rounding = 0.5;
- var divisor = 10;
- var _loc3_ = 0;
- _loc1_ += _loc2_.ant_numscouts * _loc2_.war_amod[_loc3_++] * _loc2_.antstats[gc_power];
- _loc1_ += _loc2_.ant_numworkers * _loc2_.war_amod[_loc3_++] * _loc2_.antstats[gc_power];
- _loc1_ += _loc2_.ant_numnurses * _loc2_.war_amod[_loc3_++] * _loc2_.antstats[gc_power];
- _loc1_ += _loc2_.ant_numsoldiers * _loc2_.war_amod[_loc3_++] * _loc2_.antstats[gc_power];
- _loc1_ = parseInt(_loc1_ / divisor + rounding);
- return _loc1_;
- }
- function colony_defense()
- {
- var _loc2_ = _root;
- var _loc1_ = 0;
- var rounding = 0.5;
- var divisor = 10;
- var _loc3_ = undefined;
- var ii = 0;
- _loc3_ = _loc2_.antstats[gc_power] * _loc2_.antstats[gc_defense] * (_loc2_.antstats[gc_nest] / _loc2_.antstats[gc_pop]);
- _loc1_ += _loc2_.ant_numscouts * _loc2_.war_dmod[ii++] * _loc3_;
- _loc1_ += _loc2_.ant_numworkers * _loc2_.war_dmod[ii++] * _loc3_;
- _loc1_ += _loc2_.ant_numnurses * _loc2_.war_dmod[ii++] * _loc3_;
- _loc1_ += _loc2_.ant_numsoldiers * _loc2_.war_dmod[ii++] * _loc3_;
- _loc1_ = parseInt(_loc1_ / divisor + rounding);
- return _loc1_;
- }
- function colony_warmsg()
- {
- var _loc1_ = _root;
- var _loc2_ = _loc1_.colonyname;
- var _loc3_ = undefined;
- _loc3_ = _loc2_ + ":\n" + " " + _loc1_.colony_hp() + _loc1_.crlf + " " + _loc1_.colony_offense() + _loc1_.crlf + " " + _loc1_.colony_defense() + _loc1_.crlf;
- return _loc3_;
- }
- function enemy_hp()
- {
- return _root.enemystats[gc_ehp];
- }
- function enemy_offense()
- {
- return _root.enemystats[gc_eattack];
- }
- function enemy_defense()
- {
- return _root.enemystats[gc_edefense];
- }
- function enemy_minhp()
- {
- }
- function enemy_gethp(hh, rr)
- {
- var _loc3_ = hh;
- var _loc1_ = _loc3_;
- var _loc2_ = rr;
- var tmp;
- if(_loc3_ < 0)
- {
- _loc2_ = Math.abs(_loc3_);
- _loc1_ = _root.colony_hp();
- }
- return _root.randomRange(_loc1_,_loc2_);
- }
- function enemy_getattack(aa, rr)
- {
- var _loc2_ = aa;
- var _loc1_ = _loc2_;
- var _loc3_ = rr;
- var tmp;
- if(_loc2_ < 0)
- {
- _loc3_ = Math.abs(_loc2_);
- _loc1_ = _root.colony_offense();
- }
- else if(_loc2_ < 1)
- {
- _loc1_ = _root.colony_hp() * _loc2_;
- }
- return _root.randomRange(_loc1_,_loc3_);
- }
- function enemy_getdefense(dd)
- {
- var _loc2_ = dd;
- var _loc3_ = _root;
- var _loc1_ = parseInt(_loc2_ * _loc3_.colony_offense() + 0.9);
- var rr;
- if(_loc2_ < 0)
- {
- rr = Math.abs(_loc2_);
- _loc1_ = _loc3_.randomRange(_loc3_.colony_offense(),rr);
- }
- return _loc1_;
- }
- function enemy_enemystats()
- {
- var _loc1_ = _root;
- var ee = _loc1_.antenemy;
- var lessthan = _loc1_.gc_edefbonus - _loc1_.gc_evictory;
- var offset = 7;
- var plusminus;
- var _loc3_ = undefined;
- var _loc2_ = undefined;
- _loc1_.battle_clip.gotoAndPlay("event_" + _loc1_.eventimage[_loc1_.enemyclip]);
- _loc1_.enemiesencountered[ee] = _loc1_.eventimage[_loc1_.enemyclip];
- _loc1_.enemystats[gc_ename] = _loc1_.enemylist[ee][gc_elname];
- _loc1_.enemystats[gc_ehp] = parseInt(_loc1_.enemy_gethp(_loc1_.enemylist[ee][gc_elhp],_loc1_.enemylist[ee][gc_elhprange]) + 0.5);
- _loc1_.enemystats[gc_eminhp] = parseInt(_loc1_.enemystats[gc_ehp] * _loc1_.enemylist[ee][gc_elminhp]);
- trace("min enemy=" + _loc1_.enemystats[gc_eminhp]);
- _loc1_.enemystats[gc_eattack] = parseInt(_loc1_.enemy_getattack(_loc1_.enemylist[ee][_loc1_.gc_elattack],_loc1_.enemylist[ee][_loc1_.gc_elattackrange]) + 0.5);
- _loc1_.enemystats[gc_edefense] = parseInt(_loc1_.enemy_getdefense(_loc1_.enemylist[ee][_loc1_.gc_eldefense]) + 0.5);
- _loc3_ = 0;
- while(_loc3_ < lessthan)
- {
- _loc2_ = _loc1_.enemylist[ee][_loc3_ + offset];
- if(!isNaN(_loc2_) && _loc2_ < 1)
- {
- _loc2_ = parseInt(_loc1_.antstats[_loc3_ + 1] * _loc2_ + 0.5);
- }
- _loc1_.enemystats[_loc3_ + _loc1_.gc_evictory] = _loc2_;
- _loc3_ = _loc3_ + 1;
- }
- }
- function enemy_warmsg()
- {
- var _loc1_ = _root;
- var _loc2_ = _loc1_.enemystats[gc_ename];
- var _loc3_ = undefined;
- _loc3_ = _loc2_ + ": \n" + " " + _loc1_.enemy_hp() + _loc1_.crlf + " " + _loc1_.enemy_offense() + _loc1_.crlf + " " + _loc1_.enemy_defense() + _loc1_.crlf;
- return _loc3_;
- }
- function war_getenemydamage()
- {
- var _loc2_ = _root;
- var _loc1_ = _loc2_.colony_offense() <= 1 ? 1 : _loc2_.randomNum(_loc2_.colony_offense());
- trace("damage=" + _loc1_ + " edefense=" + _loc2_.enemystats[gc_edefense] + "");
- trace("adjusted enemy damage = " + _loc1_);
- _loc1_ = _loc1_ >= 0 ? _loc1_ : 0;
- return _loc1_;
- }
- function war_getantdamage()
- {
- var _loc2_ = _root;
- var _loc1_ = _loc2_.enemystats[gc_eattack] <= 1 ? 0 : _loc2_.randomNum(_loc2_.enemystats[gc_eattack]);
- _loc1_ -= _loc2_.colony_defense();
- _loc1_ = _loc1_ >= 0 ? _loc1_ : 0;
- return _loc1_;
- }
- function check_victory()
- {
- var _loc1_ = _root;
- var _loc2_ = undefined;
- var tmp_add;
- var _loc3_ = undefined;
- var stopplay = false;
- trace("checking for victory");
- if(_loc1_.antstats[gc_pop] < 1)
- {
- _loc1_.kill_playsounds();
- gotoAndPlay(449);
- stopplay = true;
- }
- else if(_loc1_.enemystats[gc_ehp] <= _loc1_.enemystats[gc_eminhp])
- {
- trace("Victory!");
- _loc1_.clear_victory();
- _loc1_.feedback_victory(_loc1_.enemystats[gc_evictory] + _loc1_.crlf);
- _loc2_ = 1;
- while(_loc2_ < _loc1_.antstatname.length)
- {
- tmp_add = parseInt(_loc1_.enemystats[gc_evictory + _loc2_] / 2 + 0.7);
- _loc3_ = parseInt(_loc1_.enemystats[gc_evictory + _loc2_] + 0.7);
- tmp_add = _loc3_;
- if(_loc3_ > 0)
- {
- _loc1_.feedback_victory("Add ");
- _loc1_.feedback_victory(_loc3_);
- _loc1_.feedback_victory(" to " + _loc1_.antstatname[_loc2_] + _loc1_.crlf);
- _loc1_.antstats[_loc2_] += tmp_add;
- }
- _loc2_ = _loc2_ + 1;
- }
- if(_loc1_.automelee)
- {
- trace("automelee victory");
- stop();
- }
- _loc1_.kill_playsounds();
- gotoAndPlay(2);
- stopplay = true;
- }
- return stopplay;
- }
- function war_attack()
- {
- var _loc1_ = _root;
- var ii;
- var tmp;
- var _loc2_ = undefined;
- var _loc3_ = undefined;
- _loc1_.check_victory();
- if(_loc1_.enemystats[gc_ehp] > _loc1_.enemystats[gc_eminhp])
- {
- _loc2_ = _loc1_.war_getenemydamage();
- _loc3_ = _loc1_.war_getantdamage();
- _loc1_.enemystats[gc_ehp] -= _loc2_;
- _loc1_.antstats[gc_pop] -= _loc3_;
- if(_loc2_ > 0)
- {
- _loc1_.give_warfeedback("" + _loc1_.inflicted_str + "" + _loc2_ + " " + _loc1_.damage_str + _loc1_.crlf);
- _loc1_.enemy_hitmiss.gotoAndPlay("hit");
- }
- else
- {
- _loc1_.give_warfeedback(_loc1_.enemystats[gc_ename] + " " + _loc1_.dodged_str + _loc1_.crlf);
- _loc1_.enemy_hitmiss.gotoAndPlay("miss");
- }
- if(_loc3_ > 0)
- {
- _loc1_.give_warfeedback(_loc1_.enemystats[gc_ename] + " " + _loc1_.caused_str + " " + _loc3_ + " " + _loc1_.damage_str + " " + _loc1_.crlf);
- _loc1_.colony_hitmiss.gotoAndPlay("hit");
- }
- else
- {
- _loc1_.colony_hitmiss.gotoAndPlay("miss");
- }
- if(_loc1_.automelee)
- {
- _loc1_.gotoAndPlay("meleeframe");
- }
- else
- {
- _loc1_.update_warfeedback();
- }
- }
- _loc1_.check_victory();
- }
- function war_retreat()
- {
- var _loc1_ = _root;
- var _loc2_ = parseInt(_loc1_.antstats[gc_pop] * _loc1_.retreatpenalty);
- _loc1_.antstats[gc_pop] -= _loc2_;
- _loc1_.clear_retreat();
- _loc1_.feedback_retreat(_loc1_.retreat1_str + " " + _loc1_.enemystats[gc_ename] + _loc1_.crlf);
- _loc1_.feedback_retreat(_loc1_.retreat2_str + " " + _loc2_ + " " + _loc1_.retreat3_str + _loc1_.crlf);
- _loc1_.kill_playsounds();
- gotoAndPlay(2);
- }
- function war_advisor()
- {
- var _loc1_ = _root;
- var ahp = _loc1_.colony_hp();
- var ehp = _loc1_.enemystats[gc_ehp];
- var aattack = _loc1_.colony_offense();
- var eattack = _loc1_.enemystats[gc_eattack];
- var adefend = _loc1_.colony_defense();
- var edefend = _loc1_.enemystats[gc_edefense];
- var ename = _loc1_.enemystats[gc_ename];
- var adratio = ahp / (eattack - adefend);
- var edratio = ehp / (aattack - edefend);
- var _loc2_ = "";
- var _loc3_ = 0;
- var retreat = 0;
- if(ahp >= ehp)
- {
- _loc3_ = _loc3_ + 1;
- }
- else
- {
- retreat++;
- }
- if(aattack > edefend)
- {
- if(edratio < 2)
- {
- _loc2_ += _loc1_.advisor1_str + " " + ename + _loc1_.crlf;
- _loc3_ += 3;
- }
- else if(edratio < 5)
- {
- _loc2_ += _loc1_.advisor2_str + " " + ename + _loc1_.crlf;
- _loc3_ += 2;
- }
- else
- {
- _loc2_ += _loc1_.advisor3_str + _loc1_.crlf;
- _loc3_ += 0;
- }
- }
- else
- {
- _loc2_ += _loc1_.advisor4_str + _loc1_.crlf;
- retreat += 2;
- }
- if(eattack > adefend)
- {
- if(adratio < 2)
- {
- _loc2_ += ename + " " + _loc1_.advisor5_str + _loc1_.crlf;
- retreat += 3;
- }
- else if(adratio < 5)
- {
- _loc2_ += ename + " " + _loc1_.advisor6_str + _loc1_.crlf;
- retreat += 2;
- }
- else
- {
- _loc2_ += ename + " " + _loc1_.advisor7_str + _loc1_.crlf;
- retreat++;
- }
- }
- else
- {
- _loc2_ += ename + " " + _loc1_.advisor8_str + _loc1_.crlf;
- _loc3_ = _loc3_ + 1;
- }
- if(_loc3_ > retreat)
- {
- _loc2_ += advisorattack_str + _loc1_.crlf;
- }
- else
- {
- _loc2_ += advisorretreat_str + _loc1_.crlf;
- }
- _loc1_.give_warfeedback(_loc2_);
- if(_loc1_.autobattle || _loc1_.automelee)
- {
- _loc1_.automelee = true;
- if(_loc3_ > retreat)
- {
- _loc1_.war_attack();
- }
- else
- {
- _loc1_.war_retreat();
- }
- }
- }
- function update_warfeedback()
- {
- var _loc1_ = _root;
- _loc1_.update_playevents();
- _loc1_.feedback_war_colony(_loc1_.colony_warmsg());
- _loc1_.feedback_war_enemy(_loc1_.enemy_warmsg());
- _loc1_.war_advisor();
- }
- function start_warfeedback()
- {
- var _loc1_ = _root;
- _loc1_.ant_calcnums();
- _loc1_.clear_warfeedback();
- _loc1_.enemy_enemystats();
- _loc1_.update_playevents();
- _loc1_.feedback_war_colony(_loc1_.colony_warmsg());
- _loc1_.feedback_war_enemy(_loc1_.enemy_warmsg());
- }
- function init_war()
- {
- var _loc1_ = _root;
- _loc1_.clear_warfeedback();
- _loc1_.enemy_enemystats();
- _loc1_.update_warfeedback();
- _loc1_.show_playlocation();
- _loc1_.anttypeclip.gotoAndPlay("type_" + _loc1_.anttype);
- _loc1_.currentscene = "war";
- }
-