All pastes #31481 Raw Edit

Mine

public ruby v1 · immutable
#31481 ·published 2005-11-28 02:25 UTC
rendered paste body
module Minkoff  class ABS    ENABLED = true    def initialize      @enemies = []      @cooldown = 0    end    def main      for event in $game_map.events.values        for monster in $data_enemies.compact          if event.event.name == monster.name            @enemies.push(ABS_Enemy.new(monster, event))            break          end        end      end    end    def update      for enemy in @enemies        if $game_player.minkoff_abs_in_range?(enemy.event, 1) and            $game_player.minkoff_abs_facing?(enemy.event) and            Input.trigger?(Input::SHIFT) and @cooldown == 0          enemy.engage unless enemy.engaged          enemy.attack_effect($game_party.actors[0])          if enemy.dead?            enemy.event.erase            @enemies.delete(enemy)          end          $game_player.animation_id = $game_party.actors[0].animation1_id          enemy.event.animation_id = $game_party.actors[0].animation2_id          @cooldown = 25        end        enemy.update      end      @cooldown -= 1 if @cooldown > 0    end    class ABS_Enemy < Game_Enemy      attr_reader :event      attr_reader :engaged            def initialize(monster, event)        minkoff_abs_initialize        @enemy_id = monster.id        @battler_name = monster.battler_name        @battler_hue = monster.battler_hue        @hp = maxhp        @sp = maxsp        @monster = monster        @event = event        @cooldown = 0      end            def update        if @engaged          if @cooldown == 0 and @event.minkoff_abs_facing?($game_player) and             @event.minkoff_abs_in_range?($game_player, 1)            $game_party.actors[0].attack_effect(self)            $game_temp.gameover = $game_party.actors[0].dead?            $game_map.events[@event.id].animation_id = animation1_id            $game_player.animation_id = animation2_id            @cooldown = 75          elsif !@event.minkoff_abs_in_range?($game_player, 7)            @engaged = false            @event.move_type = @old_move_type          end        elsif @event.minkoff_abs_facing?($game_player) and               @event.minkoff_abs_in_range?($game_player)          engage        end        @cooldown -= 1 if @cooldown > 0      end            def engage        @engaged = true        @old_move_type = @event.move_type        @event.move_type = 2      end    end  endendif Minkoff::ABS::ENABLED  class Scene_Map    @@_minkoff_abs = Minkoff::ABS.new    alias minkoff_abs_main main    def main      @@_minkoff_abs.main      minkoff_abs_main    end    alias minkoff_abs_update update    def update      @@_minkoff_abs.update      minkoff_abs_update    end  end  class Game_Character    attr_accessor :move_type    attr_accessor :move_frequency    attr_accessor :move_speed    attr_accessor :character_name    attr_reader :event    def minkoff_abs_facing?(event)      case self.direction      when 2        return true if event.y > self.y      when 4        return true if event.x < self.x      when 6        return true if event.x > self.x      when 8        return true if event.y < self.y      else        return false      end    end        def minkoff_abs_in_range?(event, range = 5)      x = (self.x - event.x).abs      y = (self.y - event.y).abs      return x + y <= range    end  end  class Game_Battler    alias minkoff_abs_initialize initialize    def initialize      minkoff_abs_initialize    end  endend