Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Generated by Opal 0.8.0.beta1 */
- (function(Opal) {
- Opal.dynamic_require_severity = "error";
- function $rb_plus(lhs, rhs) {
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs);
- }
- function $rb_minus(lhs, rhs) {
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs);
- }
- function $rb_le(lhs, rhs) {
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs <= rhs : lhs['$<='](rhs);
- }
- function $rb_ge(lhs, rhs) {
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs >= rhs : lhs['$>='](rhs);
- }
- function $rb_gt(lhs, rhs) {
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs > rhs : lhs['$>'](rhs);
- }
- function $rb_lt(lhs, rhs) {
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs < rhs : lhs['$<'](rhs);
- }
- var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $hash2 = Opal.hash2, $gvars = Opal.gvars, $klass = Opal.klass;
- Opal.add_stubs(['$[]=', '$include', '$attr_accessor', '$[]', '$check_message_types', '$retrieve_dialogues_and_voices', '$init_sprite', '$===', '$interaction', '$greeting_reactions', '$add', '$new_page', '$call_voice', '$new', '$bitmap=', '$system', '$to_s', '$x=', '$y=', '$z=', '$opacity=', '$ox', '$x', '$oy', '$y', '$dispose', '$bitmap', '$update_effect', '$!', '$busy?', '$refresh', '$init_entering_effects', '$init_quitting_effects', '$==', '$execute_inhori_slide', '$execute_inverti_slide', '$execute_fadein', '$execute_outverti_slide', '$execute_ouverti_slide', '$execute_fadeout', '$opacity', '$invert_effect', '$ox=', '$oy=', '$play', '$pathfile']);
- (function($base) {
- var self = $module($base, 'Emoji');
- var def = self.$$proto, $scope = self.$$scope;
- (function($base) {
- var self = $module($base, 'AI');
- var def = self.$$proto, $scope = self.$$scope, $a;
- Opal.cdecl($scope, 'System', $hash2(["ai_graphics_folder", "voice_folder", "effects_enable", "message_system"], {"ai_graphics_folder": "Graphics/AI/", "voice_folder": "voice", "effects_enable": true, "message_system": "default"}));
- ((($a = $scope.get('AI_Personality')) !== false && $a !== nil) ? $a : Opal.cdecl($scope, 'AI_Personality', $hash2([], {})));
- $scope.get('AI_Personality')['$[]='](1, $hash2(["ai_sprite", "ai_posx", "ai_posy", "ai_posz", "entering_effect_type", "quitting_effect_type", "invert_effect", "greeting", "good_bye", "buy_goods_dialogues", "sell_goods_dialogues", "not_buying_dialogues", "not_selling_dialogues", "haggle_goods_dialogues", "suceed_haggles_dialogues", "fail_haggles_dialogues", "good_reputation_greeting", "bad_reputation_greeting", "kick_out_shop_dialogues", "patience"], {"ai_sprite": "dummy_", "ai_posx": 0, "ai_posy": 0, "ai_posz": 200, "entering_effect_type": "hori_slide", "quitting_effect_type": "execute_outhori_slide", "invert_effect": false, "greeting": "yeah", "good_bye": "", "buy_goods_dialogues": "text", "sell_goods_dialogues": "", "not_buying_dialogues": "", "not_selling_dialogues": "", "haggle_goods_dialogues": "", "suceed_haggles_dialogues": "", "fail_haggles_dialogues": "", "good_reputation_greeting": "", "bad_reputation_greeting": "", "kick_out_shop_dialogues": "", "patience": 100}));
- })(self)
- })(self);
- $gvars.version = 1;
- return (function($base, $super) {
- function $Game_AI(){};
- var self = $Game_AI = $klass($base, $super, 'Game_AI', $Game_AI);
- var def = self.$$proto, $scope = self.$$scope;
- def.ai_id = def.ai_personality = def.interaction_type = def.buy_goods_dialogues = def.greeting = def.dialogue_system = def.ai_sprite = def.index = def.sprite = def.effect_flag = def.flag_type = def.time_value = def.final_pos = def.effect_type = def.fadein_value = def.hori_left = def.hori_right = def.verti_down = def.verti_up = def.fadeout_value = def.voice_folder = nil;
- self.$include((($scope.get('Emoji')).$$scope.get('AI')));
- self.$attr_accessor("ai_enable");
- self.$attr_accessor("dialogues");
- self.$attr_accessor("greeting");
- self.$attr_accessor("goodbye");
- self.$attr_accessor("buy_goods_dialogues");
- self.$attr_accessor("sell_goods_dialogues");
- self.$attr_accessor("not_buying_dialogues");
- self.$attr_accessor("not_selling_dialogues");
- self.$attr_accessor("interaction");
- self.$attr_accessor("interaction_type");
- self.$attr_accessor("ai_id");
- self.$attr_accessor("ai_sprite");
- self.$attr_accessor("index");
- def.$initialize = function(ai_id) {
- var self = this;
- self.ai_id = ai_id;
- self.ai_personality = $scope.get('AI_Personality')['$[]'](self.ai_id);
- self.voice = self.ai_personality['$[]'](self.ai_id);
- self.interaction_type = "normal";
- self.$check_message_types();
- self.$retrieve_dialogues_and_voices();
- return self.$init_sprite();
- };
- def.$retrieve_dialogues_and_voices = function() {
- var self = this;
- self.greeting = self.ai_personality['$[]']("greeting");
- self.goodbye = self.ai_personality['$[]']("goodbye");
- self.buy_goods_dialogues = self.ai_personality['$[]']("buy_goods_dialogues");
- self.sell_goods_dialogues = self.ai_personality['$[]']("sell_goods_dialogues");
- self.not_buying_dialogues = self.ai_personality['$[]']("not_buying_dialogues");
- return self.not_selling_dialogues = self.ai_personality['$[]']("not_selling_dialogues");
- };
- def.$check_message_types = function() {
- var self = this, $case = nil;
- if ($gvars.game_message == null) $gvars.game_message = nil;
- if ($gvars.game_dialogues == null) $gvars.game_dialogues = nil;
- return (function() {$case = $scope.get('System')['$[]']("message_system");if ("default"['$===']($case)) {return self.dialogue_system = $gvars.game_message}else if ("nio_ai_dialogues"['$===']($case)) {return self.dialogue_system = $gvars.game_dialogues}else { return nil }})();
- };
- def.$init_flags = function() {
- var $a, self = this;
- if ((($a = $scope.get('System')['$[]']("effects_enable")) !== nil && (!$a.$$is_boolean || $a == true))) {
- self.flag_type = "entering";
- self.effect_flag = true;};
- self.interaction_type = "greeting_action";
- return self.$interaction();
- };
- def.$interaction = function() {
- var self = this, $case = nil;
- if ($gvars.game_message == null) $gvars.game_message = nil;
- return (function() {$case = self.interaction_type;if ("greeting_action"['$===']($case)) {return self.$greeting_reactions()}else if ("try2"['$===']($case)) {self.index = 1;
- return $gvars.game_message.$add(self.buy_goods_dialogues);}else if ("try3"['$===']($case)) {return self.index = 2}else if ("over"['$===']($case)) {self.index = 2;
- $gvars.game_message.$add(self.greeting);
- $gvars.game_message.$new_page();
- $gvars.game_message.$add("stuff");
- return self.$call_voice("rawr", 100, 100);}else { return nil }})();
- };
- def.$greeting_reactions = function() {
- var self = this;
- self.index = 2;
- return self.dialogue_system.$add(self.greeting);
- };
- def.$init_sprite = function() {
- var $a, $b, self = this;
- self.ai_sprite = self.ai_personality['$[]']("ai_sprite");
- self.index = 0;
- self.sprite = $scope.get('Sprite').$new();
- (($a = [$scope.get('Cache').$system($rb_plus(self.ai_sprite, self.index.$to_s()))]), $b = self.sprite, $b['$bitmap='].apply($b, $a), $a[$a.length-1]);
- (($a = [self.ai_personality['$[]']("ai_posx")]), $b = self.sprite, $b['$x='].apply($b, $a), $a[$a.length-1]);
- (($a = [self.ai_personality['$[]']("ai_posy")]), $b = self.sprite, $b['$y='].apply($b, $a), $a[$a.length-1]);
- (($a = [self.ai_personality['$[]']("ai_posz")]), $b = self.sprite, $b['$z='].apply($b, $a), $a[$a.length-1]);
- (($a = [250]), $b = self.sprite, $b['$opacity='].apply($b, $a), $a[$a.length-1]);
- self.effect_flag = false;
- self.effect_type = "nil";
- self.flag_type = "nil";
- self.invert_effect = self.ai_personality['$[]']("invert_effect");
- self.hori_left = ($rb_minus($rb_minus(self.sprite.$ox(), self.sprite.$x()), 100));
- self.hori_right = ($rb_plus($rb_plus(self.sprite.$ox(), self.sprite.$x()), 100));
- self.verti_up = ($rb_minus($rb_minus(self.sprite.$oy(), self.sprite.$y()), 100));
- self.time_value = 0;
- self.fadein_value = 2;
- return self.fadeout_value = 2;
- };
- def.$refresh = function() {
- var self = this;
- return self.index = 0;
- };
- def.$terminate_sprite = function() {
- var self = this;
- self.sprite.$dispose();
- return self.sprite.$bitmap().$dispose();
- };
- def.$update_sprite = function() {
- var $a, $b, self = this;
- (($a = [$scope.get('Cache').$system($rb_plus(self.ai_sprite, self.index.$to_s()))]), $b = self.sprite, $b['$bitmap='].apply($b, $a), $a[$a.length-1]);
- if ((($a = self.effect_flag) !== nil && (!$a.$$is_boolean || $a == true))) {
- self.$update_effect()};
- if ((($a = self.dialogue_system['$busy?']()['$!']()) !== nil && (!$a.$$is_boolean || $a == true))) {
- return self.$refresh()
- } else {
- return nil
- };
- };
- def.$update_effect = function() {
- var self = this, $case = nil;
- return (function() {$case = self.flag_type;if ("entering"['$===']($case)) {self.effect_type = self.ai_personality['$[]']("entering_effect_type");
- return self.$init_entering_effects();}else if ("quitting"['$===']($case)) {self.effect_type = self.ai_personality['$[]']("quitting_effect_type");
- return self.$init_quitting_effects();}else { return nil }})();
- };
- def.$execute_dummy = function() {
- var $a, $b, self = this;
- self.final_pos = self.ai_personality['$[]']("ai_posx");
- while ($rb_le(self.time_value, 200)) {
- ($b = self.sprite, $b['$x=']($rb_plus($b.$x(), 2)));
- self.time_value = $rb_plus(self.time_value, 2);
- if ($rb_ge(self.sprite.$x(), $rb_plus(self.final_pos, 70))) {
- break;};};
- };
- def.$init_entering_effects = function() {
- var self = this;
- if (self.effect_type['$==']("hori_slide")) {
- self.$execute_inhori_slide()};
- if (self.effect_type['$==']("verti_slide")) {
- self.$execute_inverti_slide()};
- if (self.effect_type['$==']("fadein")) {
- return self.$execute_fadein()
- } else {
- return nil
- };
- };
- def.$init_quitting_effects = function() {
- var self = this;
- if (self.effect_type['$==']("hori_slide")) {
- self.$execute_outverti_slide()};
- if (self.effect_type['$==']("verti_slide")) {
- self.$execute_ouverti_slide()};
- if (self.effect_type['$==']("fadeout")) {
- return self.$execute_fadeout()
- } else {
- return nil
- };
- };
- def.$execute_inhori_slide = function(time_value, hori_left, hori_right) {
- var $a, $b, self = this;
- self.time_value = 0;
- self.final_pos = self.ai_personality['$[]']("ai_posx");
- if ($rb_gt(self.time_value, 250)) {
- ($a = self.sprite, $a['$x=']($rb_plus($a.$x(), 2)))
- } else {
- (($a = [self.final_pos]), $b = self.sprite, $b['$x='].apply($b, $a), $a[$a.length-1])
- };
- return self.effect_flag = false;
- };
- def.$execute_inverti_slide = function() {
- var $a, $b, self = this;
- self.final_pos = self.ai_personality['$[]']("ai_posy");
- while ($rb_le(self.time_value, 200)) {
- ($b = self.sprite, $b['$y=']($rb_minus($b.$y(), 2)));
- self.time_value = $rb_plus(self.time_value, 2);
- if ($rb_le(self.sprite.$y(), $rb_plus(self.final_pos, 70))) {
- break;};};
- if (self.sprite.$y()['$=='](self.final_pos)) {
- return self.effect_flag = false
- } else {
- return nil
- };
- };
- def.$execute_fadein = function(time_value, fadein_value) {
- var $a, $b, $c, self = this;
- self.time_value = 0;
- while ($rb_lt(self.time_value, 250)) {
- self.time_value = $rb_plus(self.time_value, 2);
- ($b = self.sprite, $b['$opacity=']($rb_plus($b.$opacity(), self.fadein_value)));
- if ((($b = ((($c = $rb_ge(self.sprite.$opacity(), 250)) !== false && $c !== nil) ? $c : $rb_ge(self.time_value, 250))) !== nil && (!$b.$$is_boolean || $b == true))) {
- break;};};
- return self.effect_flag = false;
- };
- def.$execute_outhori_slide = function(time_value, hori_left, hori_right) {
- var $a, $b, $c, self = this;
- self.time_value = 0;
- if ((($a = self.$invert_effect()['$!']()) !== nil && (!$a.$$is_boolean || $a == true))) {
- while ($rb_lt(self.time_value, 250)) {
- self.time_value = $rb_plus(self.time_value, 2);
- ($b = self.sprite, $b['$ox=']($rb_minus($b.$ox(), 2)));
- if ((($b = ((($c = $rb_ge(self.sprite.$x(), self.hori_left)) !== false && $c !== nil) ? $c : $rb_ge(self.time_value, 250))) !== nil && (!$b.$$is_boolean || $b == true))) {
- break;};}
- } else {
- while ($rb_lt(self.time_value, 250)) {
- self.time_value = $rb_plus(self.time_value, 2);
- ($b = self.sprite, $b['$ox=']($rb_plus($b.$ox(), 2)));
- if ((($b = ((($c = $rb_ge(self.sprite.$x(), self.hori_right)) !== false && $c !== nil) ? $c : $rb_ge(self.time_value, 250))) !== nil && (!$b.$$is_boolean || $b == true))) {
- break;};}
- };
- return self.effect_flag = false;
- };
- def.$execute_outverti_slide = function(time_value, verti_down, verti_up) {
- var $a, $b, $c, self = this;
- self.time_value = 0;
- if ((($a = self.$invert_effect()['$!']()) !== nil && (!$a.$$is_boolean || $a == true))) {
- while ($rb_lt(self.time_value, 250)) {
- self.time_value = $rb_plus(self.time_value, 2);
- ($b = self.sprite, $b['$oy=']($rb_minus($b.$oy(), 2)));
- if ((($b = ((($c = $rb_ge(self.sprite.$y(), self.verti_down)) !== false && $c !== nil) ? $c : $rb_ge(self.time_value, 250))) !== nil && (!$b.$$is_boolean || $b == true))) {
- break;};}
- } else {
- while ($rb_lt(self.time_value, 250)) {
- self.time_value = $rb_plus(self.time_value, 2);
- ($b = self.sprite, $b['$oy=']($rb_plus($b.$oy(), 2)));
- if ((($b = ((($c = $rb_ge(self.sprite.$y(), self.verti_up)) !== false && $c !== nil) ? $c : $rb_ge(self.time_value, 250))) !== nil && (!$b.$$is_boolean || $b == true))) {
- break;};}
- };
- return self.effect_flag = false;
- };
- def.$execute_fadeout = function(time_value, fadeout_value) {
- var $a, $b, $c, self = this;
- self.time_value = 0;
- while ($rb_lt(self.time_value, 250)) {
- self.time_value = $rb_plus(self.time_value, 2);
- ($b = self.sprite, $b['$opacity=']($rb_minus($b.$opacity(), self.fadeout_value)));
- if ((($b = ((($c = $rb_le(self.sprite.$opacity(), 0)) !== false && $c !== nil) ? $c : $rb_ge(self.time_value, 250))) !== nil && (!$b.$$is_boolean || $b == true))) {
- break;};};
- return self.effect_flag = false;
- };
- def.$pathfile = function() {
- var self = this, pathfile = nil;
- self.voice_folder = $scope.get('System')['$[]']("voice_folder");
- return pathfile = $rb_plus(self.voice_folder, "/");
- };
- return (def.$call_voice = function(voice_index, volume, pitch) {
- var self = this;
- return (($scope.get('RPG')).$$scope.get('SE')).$new($rb_plus(self.$pathfile(), voice_index), volume, pitch).$play();
- }, nil) && 'call_voice';
- })(self, null);
- })(Opal);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement