home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Acao / midnightstrike1.swf / scripts / __Packages / com / neodelight / game / EventScript.as next >
Encoding:
Text File  |  2007-04-02  |  4.6 KB  |  164 lines

  1. class com.neodelight.game.EventScript
  2. {
  3.    var script;
  4.    var targets;
  5.    static var ram = new Object();
  6.    function EventScript(script)
  7.    {
  8.       this.script = script;
  9.       this.targets = new Object();
  10.    }
  11.    static function init()
  12.    {
  13.       com.neodelight.game.EventScript.reset();
  14.    }
  15.    static function reset()
  16.    {
  17.       com.neodelight.game.EventScript.ram = new Object();
  18.    }
  19.    function run(self, partner)
  20.    {
  21.       var _loc9_ = 0;
  22.       while(_loc9_ < this.script.length)
  23.       {
  24.          var _loc8_ = this.script[_loc9_];
  25.          this.targets.this = self;
  26.          this.targets.partner = partner;
  27.          this.targets.level = _global.world.levelMc;
  28.          this.targets.player = _global.game.player;
  29.          this.targets.root = _root;
  30.          this.targets.script = com.neodelight.game.EventScript;
  31.          this.targets.ram = com.neodelight.game.EventScript.ram;
  32.          var _loc7_ = _loc8_[0].split(".");
  33.          var _loc5_ = this.targets[_loc7_[0]];
  34.          var _loc4_ = 1;
  35.          while(_loc4_ < _loc7_.length)
  36.          {
  37.             _loc5_ = _loc5_[_loc7_[_loc4_]];
  38.             _loc4_ = _loc4_ + 1;
  39.          }
  40.          if(!_loc5_)
  41.          {
  42.             trace("#ERROR: EventScript.run(): target not found: " + _loc8_[0]);
  43.          }
  44.          var _loc6_ = _loc5_[_loc8_[1]](self,partner,_loc8_[2],this);
  45.          if(_loc6_ && typeof _loc6_ == "object")
  46.          {
  47.             if(_loc6_[0] == 0)
  48.             {
  49.                _loc9_ = _loc9_ + 1;
  50.             }
  51.             if(_loc6_[0] == 2)
  52.             {
  53.             }
  54.             if(_loc6_[0] == 3)
  55.             {
  56.                break;
  57.             }
  58.          }
  59.          _loc9_ = _loc9_ + 1;
  60.       }
  61.       return true;
  62.    }
  63.    static function ifParticipant(partner0, partner1, args)
  64.    {
  65.       if(partner0.id == args[0] || partner1.id == args[0])
  66.       {
  67.          return [1];
  68.       }
  69.       return [0];
  70.    }
  71.    static function ifNotParticipant(partner0, partner1, args)
  72.    {
  73.       if(partner0.id == args[0] || partner1.id == args[0])
  74.       {
  75.          return [0];
  76.       }
  77.       return [1];
  78.    }
  79.    static function ifTrue(partner0, partner1, args, script)
  80.    {
  81.       var _loc1_ = com.neodelight.game.EventScript.getVariableValue(args[0],script);
  82.       var _loc2_ = com.neodelight.game.EventScript.getVariableValue(args[2],script);
  83.       switch(args[1])
  84.       {
  85.          case "":
  86.             return !_loc1_ ? [0] : [1];
  87.          case "<":
  88.             return _loc1_ >= _loc2_ ? [0] : [1];
  89.          case ">":
  90.             return _loc1_ <= _loc2_ ? [0] : [1];
  91.          case "<=":
  92.          case "=<":
  93.             return _loc1_ > _loc2_ ? [0] : [1];
  94.          case ">=":
  95.          case "=>":
  96.             return _loc1_ < _loc2_ ? [0] : [1];
  97.          case "==":
  98.             return _loc1_ != _loc2_ ? [0] : [1];
  99.          case "!=":
  100.             return _loc1_ == _loc2_ ? [0] : [1];
  101.          case "eq":
  102.             return _loc1_ ne _loc2_ ? [0] : [1];
  103.          case "ne":
  104.             return _loc1_ eq _loc2_ ? [0] : [1];
  105.          default:
  106.             trace("#ERROR: EventScript.ifTrue: unknown comparison type: " + args[1]);
  107.       }
  108.    }
  109.    static function exit()
  110.    {
  111.       return [3];
  112.    }
  113.    static function setVar(self, partner, args, script)
  114.    {
  115.       var _loc2_ = args[0].split(".");
  116.       var _loc3_ = script.targets[_loc2_[0]];
  117.       var _loc1_ = 1;
  118.       while(_loc1_ < _loc2_.length - 1)
  119.       {
  120.          _loc3_ = _loc3_[_loc2_[_loc1_]];
  121.          _loc1_ = _loc1_ + 1;
  122.       }
  123.       _loc3_[_loc2_[_loc2_.length - 1]] = args[1];
  124.    }
  125.    static function trace(self, partner, args)
  126.    {
  127.       trace(args[0]);
  128.    }
  129.    static function soundEvent(self, partner, args)
  130.    {
  131.       _global.game.snd.playEvent(args[0],args[1]);
  132.    }
  133.    static function getVariableValue(variable, script)
  134.    {
  135.       switch(typeof variable)
  136.       {
  137.          case "number":
  138.          case "boolean":
  139.             return variable;
  140.          case "string":
  141.             if(variable.substr(0,1) == "\"")
  142.             {
  143.                return variable.substring(1,variable.length - 1);
  144.             }
  145.             var _loc2_ = variable.split(".");
  146.             var _loc3_ = script.targets[_loc2_[0]];
  147.             var _loc1_ = 1;
  148.             while(_loc1_ < _loc2_.length - 1)
  149.             {
  150.                _loc3_ = _loc3_[_loc2_[_loc1_]];
  151.                _loc1_ = _loc1_ + 1;
  152.             }
  153.             return _loc3_[_loc2_[_loc2_.length - 1]];
  154.             break;
  155.          default:
  156.             trace("#ERROR: EventScript.getVariableValue: unknown var type: " + typeof variable);
  157.       }
  158.    }
  159.    function toString()
  160.    {
  161.       return "[EventScript]";
  162.    }
  163. }
  164.