Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def in_area?
- Mouse.x >= self.x - width / 2 && Mouse.x <= self.x + width / 2 && Mouse.y >= self.y - height && Mouse.y <= self.y
- end
- def select_player_target
- return unless Mouse.click?(:L)
- return if @character.is_a?(Game_Player)
- return if @character.character_name.empty?
- return unless in_area?
- return unless @character.actor?
- return if $game_player.over_window?
- if $game_player.target == self
- $game_player.clear_target
- else
- target_type = @character.is_a?(Game_NetPlayer) ? Constants::TARGET_PLAYER : Constants::TARGET_ENEMY
- $network.send_target(@character.id, target_type)
- end
- end
- def update_sprites
- return if @character.is_a?(Game_Vehicle) || @character.is_a?(Game_Follower)
- select_player_target
- update_paperdolls unless @character.is_a?(Game_Event)
- if @character.actor? && @character.actor.result.hp_damage
- refresh_damage(@character.actor.result.hp_damage, @character.actor.result.mp_damage, @character.actor.result.critical)
- @character.actor.result.hp_damage = nil
- @character.actor.result.mp_damage = 0
- @character.actor.result.critical = false
- end
- # Se é um inimigo, jogador ou evento não apagado (erased)
- if @character.actor? || @character.event.name.start_with?('$') && !@character.character_name.empty?
- refresh_name if name_changed?
- @name_sprite.x = x
- # Atualiza de acordo com a altura do character
- #que pode ter sido alterada
- @name_sprite.y = y - height
- else
- dispose_name
- end
- if !@character.is_a?(Game_Event) && !@character.actor.guild.empty?
- refresh_guild_name if guild_changed?
- @guild_sprite.x = x
- @guild_sprite.y = y - height
- else
- dispose_guild_name
- end
- if @character.is_a?(Game_Event) && @character.quest_not_started?
- create_quest_icon unless @quest_sprite
- @quest_sprite.x = x
- @quest_sprite.y = y - height
- else
- dispose_quest_icon
- end
- if @character.boss?
- refresh_boss_hp_bar if hp_changed?
- # Possibilita que a barra possa ser arrastada
- @hp_sprite.update
- elsif @character.actor? && @character.actor.hp < @character.actor.mhp
- refresh_hp_bar if hp_changed?
- @hp_sprite.x = x
- @hp_sprite.y = y
- else
- dispose_hp_bar
- end
- unless @character.message.empty?
- create_message(@character.message)
- @character.message.clear
- end
- if @damage_duration > 0
- @damage_sprite.x = x
- @damage_sprite.y = y - height + @damage_duration
- @damage_duration -= 1
- else
- dispose_damage
- end
- if @message_duration > 0
- @message_sprite.x = x
- @message_sprite.y = y
- @message_duration -= 1
- else
- dispose_message
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement