#===============================================================================## Yanfly Engine RD - Display Scanned Enemy# Last Date Updated: 2009.04.27# Level: Easy, Normal, Hard, Lunatic# # Similar to the Display Skill Query script, I've made one for enemies. This was# mostly to replace my Display Target Data script, considering it didn't display# much data at all about the target. This one was also made on the account of# making a proper scan skill property in addition to different parts of enemy# data that it can scan.## I've disliked scan systems where you would have to keep rescanning an enemy# to see its HP, MP, etc. It felt counterproductive on the player side since# valuable turns are wasted just to view some numbers. This system allows you to# pull up enemy data upon enemy selection (where I believe it matters most).# After all, providing convenience for the player is absolutely important since# it reduces metagaming, which is something that should never have to happen# for an RPG Maker project.## For the users who fear giving too much information to their players, users can# disable parts of the script and prevent certain pages from appear at all. You# can limit how much and how little you want to show your players through <hide># tags, too, for the enemies' noteboxes.##===============================================================================# Updates:# ----------------------------------------------------------------------------# o 2009.04.27 - MAJOR BUGFIX# Fixed a save game corrupting bug.# o 2009.04.21 - Finished and publicized.# o 2009.04.20 - Started script.#===============================================================================# How to Use: Normal Mode#===============================================================================## Placing these tags into a skill's notebox will reveal specific scan data. The# scan data will appear for all enemies of the same enemy type, but each indi-# vidual enemy will still possess their own modifiers.## <scan whole># Causes the skill to unlock all scan data about the target enemy.## <scan hp mp># Causes the skill to unlock only the HP and MP portion of the enemy data.# Note that even if HP and MP were unscanned, the gauge bars will still move up# and down as to give the player a general idea of how much health the enemy has# before giving the player more accurate information.## <scan stats># Causes the skill to unlock the ADSA and HECO stats for the target enemy scan# data. On the HECO stats side, you can hide certain stats from appear. Odds is# hidden by default with this script.## <scan skills># Causes the skill to unlock the skill page for the target enemy scan data. This# will list all of the skills the enemy will use in battle. Duplicate skills are# condensed and removed from the listing.## <scan elements># Causes the skill to unlock the elements page for the target enemy data. This# provides a chart of the enemy's elemental affinities as to what will damage# the enemy more or less.## <scan status effects> or <scan states># Causes the skill to unlock the status effects page for the target enemy data.# Like the elements page, this provides a listing of status effect chances to# occur for the enemy.## <scan steal># Only appears if you have KGC Steal. This page will reveal information about# items that can be stolen form the enemy along with their steal rates.## <scan spoils># Causes a skill to unlock the experience, gold, encounters page for target# enemy data. This is pretty much stuff that comes out of an enemy after a# battle is over. Can include drops (optional).## <scan drops># Causes a skill to unlock the drops page. Use this if you use KGC's Extra Drops# and if your enemies have huge drop lists. This will display way more.## <scan description># Causes a skill to unlock the extra description page where you can make your# own custom notes. Note that if you don't alter the Lunatic mode hash down# below, even if you scan the enemy, the extra page won't show unless there is# something to be shown.##===============================================================================# How to Use: Hard Mode#===============================================================================## For those that would like to prevent certain pages from showing up on specific# enemies, you can use the following tags on those enemies to prevent those very# pages from appearing without completely disabling a part of the scan set.## <hide whole># Prevents everything from being shown at all for that enemy.## <hide hp_mp># Prevents HP and MP from being displayed for that enemy.## <hide stats># Prevents the ADSA and HECO stats from being displayed for that enemy.## <hide skills># Prevents skills from being displayed for that enemy.## <hide elements># Prevents element chart from being displayed for that enemy.## <hide status effects> or <hide states># Prevents status effect probability chart from being displayed for that enemy.## <hide steal># Prevents stolen items from being shown for that enemy.## <hide spoils># Prevents victory spoil information from being shown for that enemy.## <hide drops># Prevents drop information from being displayed for that enemy.## If you might have noticed, there's no hide version for description. This is# because if you simply don't add the enemy extra notes description to the hash,# they won't appear at all. It's easier to manage that way instead.##===============================================================================## Compatibility# - Works With: KGC's ExtraDropItem, Steal# - Alias: Game_Battler, skill_effect# - Alias: Game_Enemy, initialize, transform, escape, perform_collapse# - Alias: Scene_Battle, create_info_viewport, update_target_enemy_selection##===============================================================================

# This is the button pressed to trigger the enemy scan window in battle. ENEMY_SCAN_BUTTON = Input::A

# If this is set to true, you must use scan skills on an enemy type before # any data will be displayed at all. REQUIRE_SCAN = false

# This allows you to adjust the help info window's properties in battle. HELP_WINDOW_TX = "Aperte Shift para ver as informações do inimigo." HELP_WINDOW_ON = true # This turns the window on and off. HELP_WINDOW_X = 0 # This is where the X position is. HELP_WINDOW_Y = 0 # This is where the Y position is. HELP_WINDOW_W = 544 # This is what width the window is. HELP_WINDOW_O = 255 # This is the window's opacity level.

# This affects how you want the scan to appear. ENEMY_NAME = "Informações de %s"

# This displays the title information at the very top of the scan window. # Most of the strings are explained by the notes to the side. DATA_LEFT = "<<" # This appears if page can be moved back. DATA_PAGE1 = "Informação" # This appears if only one page of info. DATA_PAGES = "Página %d/%d" # This appears if more than one page of info. DATA_RIGHT = ">>" # This appears if page can move right. DATA_CATEGORY_COLOUR = 4 # This affects category text colour.

# This is the sound played when flipping through the various pages. # Set it to nil if you don't want a sound to play. PAGE_SOUND = RPG::SE.new("Wind7", 80, 125)

# Set this to true if you would rather the scan display the page info # type rather than Page X/Y. The titles following correspond to the pages' # titles should you decide to display them. REPLACE_PAGE_MSG = true TITLE_UNKNOWN = "Unknown"

# This affects the information shown on the first page of the scan. # The first page shows HP, general stats, and states if the enemy is # under the effects of any. SHOW_GENERAL = true TITLE_GENERAL = "Informação Geral" GAUGE_HEIGHT = 9 # This affects the gauge height. EXHAUST_COLOUR = 7 # This adjusts the exhaustion colour. FONT_SIZE = 16 # Sets font size for smaller text. HIDDEN_HP = "?????" # If the enemy is unscanned or hides HP. HIDDEN_MP = "?????" # If the enemy is unscanned or hides MP. DATA_STATES = "Status" # Category for affected states. HIDDEN_STAT = "???" # If the enemy is unscanned or hides stats. DATA_ATK = "ATK" # For attack. DATA_DEF = "DEF" # For defense. DATA_SPI = "SPI" # For spirit. DATA_AGI = "AGI" # For agility. DATA_HIT = "HIT" # For hit rate. HIDE_HIT = false # Set this to true if you wish to hide Hit. DATA_EVA = "EVA" # For evasion rate. HIDE_EVA = false # Set this to true if you wish to hide Eva. DATA_CRI = "CRI" # For critical rate. HIDE_CRI = false # Set this to true if you wish to hide Cri. DATA_ODDS = "LUK" # For odds value. HIDE_ODDS = true # Set this to true if you wish to hide Odds.

# For those that would like a separate page for drops, use this page. # This affects all of the information relative to drops anyway. SHOW_DROPS = true TITLE_DROPS = "Info do Item Deixado" DEATH_DROPS = true # Set to true if you wish to reveal spoils info # when an enemy dies. DATA_D_ITEM = "Item Deixado" DATA_D_CHANCE = "Chance"

#===============================================================================# How to Use: Lunatic Mode#===============================================================================## This part allows you to input your own custom notes and whatnot. Custom notes# page will only appear for enemies that are listed in the note hash beneath the# Lunatic Mode section. ## The process is pretty simple. Just follow the template below.## ENEMY_NOTES ={ # enemy_id => "This would be the first line| and this would be the next!",# } # Do not remove this.# # Enter the enemy's ID number where "enemy_id" is. Following the "=>" input# the custom notes you'd like for that enemy to display. If you wish to add# line breaks to notes, add a | where you would like the break to appear. Now# while they do appear in the notebox, they are confined by the note page's# width and will shrink if the lines end up being too long. You can adjust the# note page's width in the part before the Lunatic Mode instructions.##===============================================================================

#===============================================================================# Game Battler#===============================================================================

class Game_Battler

#-------------------------------------------------------------------------- # alias skill_effect #-------------------------------------------------------------------------- alias skill_effect_dse skill_effect unless $@ def skill_effect(user, skill) skill_effect_dse(user, skill) if user.actor? and !self.actor? if skill.scan_hp_mp or skill.scan_whole $game_system.scan_hp_mp.push(enemy.id) unless $game_system.scan_hp_mp.include?(enemy.id) end if skill.scan_stats or skill.scan_whole $game_system.scan_stats.push(enemy.id) unless $game_system.scan_stats.include?(enemy.id) end if skill.scan_skill or skill.scan_whole $game_system.scan_skill.push(enemy.id) unless $game_system.scan_skill.include?(enemy.id) end if skill.scan_state or skill.scan_whole $game_system.scan_state.push(enemy.id) unless $game_system.scan_state.include?(enemy.id) end if skill.scan_elem or skill.scan_whole $game_system.scan_elem.push(enemy.id) unless $game_system.scan_elem.include?(enemy.id) end if skill.scan_spoil or skill.scan_whole $game_system.scan_spoil.push(enemy.id) unless $game_system.scan_spoil.include?(enemy.id) end if skill.scan_drops or skill.scan_whole $game_system.scan_drops.push(enemy.id) unless $game_system.scan_drops.include?(enemy.id) end if skill.scan_steal or skill.scan_whole $game_system.scan_steal.push(enemy.id) unless $game_system.scan_steal.include?(enemy.id) end if skill.scan_desc or skill.scan_whole $game_system.scan_desc.push(enemy.id) unless $game_system.scan_desc.include?(enemy.id) end end end

end # Game_Battler

#===============================================================================# Game System#===============================================================================