home *** CD-ROM | disk | FTP | other *** search
- function xmlValueOut(key, val)
- {
- var _loc1_ = val;
- _root.checksum += !isNaN(parseInt(_loc1_)) ? parseInt(_loc1_) : 0;
- return " <" + key + ">" + _loc1_ + "</" + key + ">\r\n";
- }
- function save_antstats()
- {
- var _loc2_ = _root;
- var _loc3_ = "";
- var _loc1_ = undefined;
- _loc1_ = 0;
- while(_loc1_ < _loc2_.antstats.length)
- {
- _loc3_ += _loc2_.xmlValueOut("stat",_loc2_.antstats[_loc1_]);
- _loc1_ = _loc1_ + 1;
- }
- return _loc3_;
- }
- function save_bonuses()
- {
- var _loc3_ = _root;
- var txt = "";
- var _loc1_ = undefined;
- var _loc2_ = undefined;
- _loc1_ = 0;
- while(_loc1_ < _loc3_.antstats.length)
- {
- _loc2_ = 0;
- while(_loc2_ < _loc3_.bonusstats[_loc1_].length)
- {
- if(_loc3_.bonusstats[_loc1_][_loc2_] != null)
- {
- txt += _loc3_.xmlValueOut("bonus" + _loc1_,_loc3_.bonusstats[_loc1_][_loc2_]);
- }
- _loc2_ = _loc2_ + 1;
- }
- _loc1_ = _loc1_ + 1;
- }
- return txt;
- }
- function save_store()
- {
- var _loc2_ = _root;
- var _loc3_ = "";
- var tf;
- var _loc1_ = undefined;
- var jj;
- _loc1_ = 0;
- while(_loc1_ < _loc2_.item_mods.length)
- {
- tf = !_loc2_.item_bought[_loc1_] ? 0 : 1;
- _loc3_ += _loc2_.xmlValueOut("store",tf);
- _loc1_ = _loc1_ + 1;
- }
- return _loc3_;
- }
- function save_visited()
- {
- var _loc2_ = _root;
- var _loc3_ = "";
- var tf;
- var _loc1_ = undefined;
- var jj;
- _loc1_ = 0;
- while(_loc1_ < _loc2_.item_mods.length)
- {
- tf = !_loc2_.locale_visited[_loc1_] ? 0 : 1;
- _loc3_ += _loc2_.xmlValueOut("map",tf);
- _loc1_ = _loc1_ + 1;
- }
- return _loc3_;
- }
- function save_enemies()
- {
- var _loc2_ = _root;
- var _loc3_ = "";
- var tf;
- var _loc1_ = undefined;
- _loc1_ = 0;
- while(_loc1_ < _loc2_.enemiesencountered.length)
- {
- _loc3_ += _loc2_.xmlValueOut("encounter",_loc2_.enemiesencountered[_loc1_]);
- _loc1_ = _loc1_ + 1;
- }
- return _loc3_;
- }
- function savegame()
- {
- var _loc1_ = _root;
- _loc1_.checksum = 0;
- _loc1_.savetxt = "<game>\r\n";
- _loc1_.savetxt += _loc1_.xmlValueOut("name",_loc1_.colonyname);
- _loc1_.savetxt += _loc1_.save_antstats();
- _loc1_.savetxt += _loc1_.xmlValueOut("upkeep",_loc1_.upkeepcost);
- _loc1_.savetxt += _loc1_.xmlValueOut("maxnest",_loc1_.maxnestsize);
- _loc1_.savetxt += _loc1_.xmlValueOut("forage",_loc1_.forage_factor);
- _loc1_.savetxt += _loc1_.xmlValueOut("dig",_loc1_.dig_factor);
- _loc1_.savetxt += _loc1_.xmlValueOut("hatch",_loc1_.hatch_factor);
- _loc1_.savetxt += _loc1_.xmlValueOut("temp",_loc1_.temperature_mult);
- _loc1_.savetxt += _loc1_.xmlValueOut("sky",_loc1_.sky_mult);
- _loc1_.savetxt += _loc1_.xmlValueOut("rain",_loc1_.rain_mult);
- _loc1_.savetxt += _loc1_.xmlValueOut("type",_loc1_.anttype);
- _loc1_.savetxt += _loc1_.xmlValueOut("locale",_loc1_.localetype);
- _loc1_.savetxt += _loc1_.xmlValueOut("battle",_loc1_.autobattle);
- _loc1_.savetxt += _loc1_.xmlValueOut("move",_loc1_.automove);
- _loc1_.savetxt += _loc1_.xmlValueOut("buy",_loc1_.autobuy);
- _loc1_.savetxt += _loc1_.xmlValueOut("outcome",_loc1_.warsummary);
- _loc1_.savetxt += _loc1_.xmlValueOut("celcius",_loc1_.celcius);
- _loc1_.savetxt += _loc1_.xmlValueOut("mute",_loc1_.musicmute);
- _loc1_.savetxt += _loc1_.xmlValueOut("play",_loc1_.playday);
- _loc1_.savetxt += _loc1_.xmlValueOut("month",_loc1_.gstartmonthnum);
- _loc1_.savetxt += _loc1_.xmlValueOut("day",_loc1_.gstartmonthday);
- _loc1_.savetxt += _loc1_.xmlValueOut("level",_loc1_.antlevel);
- _loc1_.savetxt += _loc1_.xmlValueOut("scouts",_loc1_.ant_scouts);
- _loc1_.savetxt += _loc1_.xmlValueOut("workers",_loc1_.ant_workers);
- _loc1_.savetxt += _loc1_.xmlValueOut("nurses",_loc1_.ant_nurses);
- _loc1_.savetxt += _loc1_.xmlValueOut("soldiers",_loc1_.ant_soldiers);
- _loc1_.savetxt += _loc1_.xmlValueOut("victory",_loc1_.victories);
- _loc1_.savetxt += _loc1_.xmlValueOut("retreat",_loc1_.retreats);
- _loc1_.savetxt += _loc1_.save_store();
- _loc1_.savetxt += _loc1_.save_enemies();
- _loc1_.savetxt += _loc1_.save_visited();
- _loc1_.savetxt += _loc1_.save_bonuses();
- _loc1_.savetxt += _loc1_.xmlValueOut("ticks",_loc1_.ticks);
- _loc1_.savetxt += _loc1_.xmlValueOut("quality",_loc1_.highquality);
- if(_loc1_.cheatmode == 1)
- {
- _loc1_.savetxt += _loc1_.xmlValueOut("cheat",1);
- }
- _loc1_.savetxt += _loc1_.xmlValueOut("depth","cx" + _loc1_.checksum.toString(36));
- _loc1_.savetxt += "</game>\r\n";
- trace(_loc1_.savetxt);
- fscommand("mdm.saveutf8_filename","\"save.xml\"");
- fscommand("mdm.saveutf8",_loc1_.savetxt);
- gotoAndPlay(517);
- }
- function parseNode(name, value)
- {
- var _loc1_ = _root;
- var _loc2_ = value;
- _loc1_.checksum += !isNaN(parseInt(_loc2_)) ? parseInt(_loc2_) : 0;
- switch(name)
- {
- case "name":
- _loc1_.colonyname = _loc2_;
- break;
- case "stat":
- _loc1_.antstats[_loc1_.loadstatnum++] = parseFloat(_loc2_);
- break;
- case "upkeep":
- _loc1_.upkeepcost = parseInt(_loc2_);
- break;
- case "maxnest":
- _loc1_.maxnestsize = parseInt(_loc2_);
- break;
- case "forage":
- _loc1_.forage_factor = parseFloat(_loc2_);
- break;
- case "dig":
- _loc1_.dig_factor = parseFloat(_loc2_);
- break;
- case "hatch":
- _loc1_.hatch_factor = parseFloat(_loc2_);
- break;
- case "temp":
- _loc1_.temperature_mult = parseFloat(_loc2_);
- break;
- case "sky":
- _loc1_.sky_mult = parseFloat(_loc2_);
- break;
- case "rain":
- _loc1_.rain_mult = parseFloat(_loc2_);
- break;
- case "type":
- _loc1_.anttype = parseInt(_loc2_);
- break;
- case "locale":
- _loc1_.localetype = parseInt(_loc2_);
- _loc1_.lastlocale = _loc1_.localetype;
- break;
- case "battle":
- _loc1_.autobattle = parseBoolean(_loc2_);
- break;
- case "move":
- _loc1_.automove = parseBoolean(_loc2_);
- break;
- case "buy":
- _loc1_.autobuy = parseBoolean(_loc2_);
- break;
- case "outcome":
- _loc1_.warsummary = parseBoolean(_loc2_);
- break;
- case "celcius":
- _loc1_.celcius = parseBoolean(_loc2_);
- break;
- case "mute":
- _loc1_.musicmute = parseBoolean(_loc2_);
- break;
- case "battle":
- _loc1_.autobattle = parseBoolean(_loc2_);
- break;
- case "play":
- _loc1_.playday = parseInt(_loc2_);
- break;
- case "month":
- _loc1_.gstartmonthnum = parseInt(_loc2_);
- break;
- case "day":
- _loc1_.gstartmonthday = parseInt(_loc2_);
- break;
- case "level":
- _loc1_.antlevel = parseInt(_loc2_);
- break;
- case "scouts":
- _loc1_.ant_scouts = parseInt(_loc2_) >= 100 ? 0 : parseInt(_loc2_);
- break;
- case "workers":
- _loc1_.ant_workers = parseInt(_loc2_) >= 100 ? 0 : parseInt(_loc2_);
- break;
- case "nurses":
- _loc1_.ant_nurses = parseInt(_loc2_) >= 100 ? 0 : parseInt(_loc2_);
- break;
- case "soldiers":
- _loc1_.ant_soldiers = parseInt(_loc2_) >= 100 ? 0 : parseInt(_loc2_);
- break;
- case "depth":
- _loc1_.checksumloaded = parseInt(_loc2_.substr(2),36);
- break;
- case "cheat":
- _loc1_.cheatmode = parseInt(_loc2_);
- break;
- case "victory":
- _loc1_.victories = parseInt(_loc2_);
- break;
- case "retreat":
- _loc1_.retreats = parseInt(_loc2_);
- break;
- case "store":
- _loc1_.item_bought[_loc1_.loadstorenum++] = parseBoolean(_loc2_);
- break;
- case "map":
- _loc1_.locale_visited[_loc1_.loadmapnum++] = parseBoolean(_loc2_);
- break;
- case "encounter":
- _loc1_.enemiesencountered[_loc1_.loadencounternum++] = parseInt(_loc2_);
- break;
- case "bonus0":
- _loc1_.bonusstats[0][_loc1_.bonusstats[0].length] = parseFloat(_loc2_);
- break;
- case "bonus1":
- _loc1_.bonusstats[1][_loc1_.bonusstats[1].length] = parseFloat(_loc2_);
- break;
- case "bonus2":
- _loc1_.bonusstats[2][_loc1_.bonusstats[2].length] = parseFloat(_loc2_);
- break;
- case "bonus3":
- _loc1_.bonusstats[3][_loc1_.bonusstats[3].length] = parseFloat(_loc2_);
- break;
- case "bonus4":
- _loc1_.bonusstats[4][_loc1_.bonusstats[4].length] = parseFloat(_loc2_);
- break;
- case "bonus5":
- _loc1_.bonusstats[5][_loc1_.bonusstats[5].length] = parseFloat(_loc2_);
- break;
- case "bonus6":
- _loc1_.bonusstats[6][_loc1_.bonusstats[6].length] = parseFloat(_loc2_);
- break;
- case "ticks":
- _loc1_.ticks = parseInt(_loc2_);
- break;
- case "quality":
- _loc1_.highquality = parseBoolean(_loc2_);
- _loc1_.set_quality();
- }
- }
- function load_savetxt()
- {
- return _root.savetxt;
- }
- function load_antstats()
- {
- var _loc2_ = _root;
- var _loc1_ = undefined;
- var _loc3_ = 0;
- var txt;
- var arr;
- _loc2_.fsdebug = "";
- _loc2_.savearray = _loc2_.savetxt.toString().split("|");
- txt = _loc2_.load_savetxt();
- arr = txt.split("|");
- _loc1_ = 0;
- while(_loc1_ < _loc2_.antstats.length)
- {
- _loc2_.anstats[_loc1_] = _loc2_.savearray[_loc1_ + _loc3_];
- _loc2_.fsdebug += _loc2_.savearray[_loc1_ + _loc3_] + ",";
- _loc1_ = _loc1_ + 1;
- }
- _loc2_.fsdebug = new String(txt);
- fscommand("mdm.prompt_adv","_root.fsdebug,\"alert\",_root.fileexists");
- }
- function loadgame()
- {
- var _loc1_ = _root;
- var exists;
- _loc1_.checksum = 0;
- _loc1_.init_all();
- _loc1_.savetxt = "";
- _loc1_.loadstatnum = 0;
- _loc1_.loadstorenum = 0;
- _loc1_.loadmapnum = 0;
- _loc1_.loadencounternum = 0;
- _loc1_.init_xml("./save.xml");
- gotoAndPlay(487);
- }
- var savetxt;
- var savearray;
- var fileexists;
- var fsdebug;
- var loadstatnum;
- var loadstorenum;
- var loadmapnum;
- var loadencounternum;
-