Enemy Upgrading
From PocketWiki
- Return to the VX Scripts
- Return to the Sky's Scripts
Contents |
| Enemy Upgrading | |
|---|---|
| Link | Enemy Upgrading |
| Last Update | - |
| Author(s) | Sky00Valentine |
| $imported | n/a |
| Terms of Usage | |
| I do not require thanks but please thank Rpgmakervx.net, //mitchi.exe, and to the PocketWiki. | |
| Version History | |
| n/a | |
| Discussion and FAQ | |
Introduction
Have you ever wanted some enemies to get stronger the longer you have fought them, or maybe weaker the longer the battle dragged out. Well you prayers have been answered. Any of the basic stats can now be adjusted mid fight using note tags.
How to Use
To install this script, open up your script editor and copy/paste this script to an open slot below ▼ Materials but above ▼ Main.
Read the Instructions
Remember to save.
Script Code
#=========================================================================== # # Sky's Enemy (Up/De)grading by Turn # Version 1.0 # Started May 21, 2010 # Comlete May 22, 2010 # #=========================================================================== # # Features : # Version 1.0 - # - Enemies get stronger or weaker every # certain amount of turns. # #=========================================================================== # # Credit (be sure to credit the following and rpgmakervx.net) # Sky00Valentine :creator and editor (You aren't required to include me, but I wouldn't mind if you did.) # //mitch.exe :for requesting the script # #=========================================================================== # # Terms of Use # ------------ # # Crediting Rpgmakervx.net and //mitch.exe is the only thing I ask. # However feel free to credit Sky00Valentine if you # see fit. # #=========================================================================== # # Future improvement # ------------------ # # - Adding the ability to add or change states also(im lazy right now) # - Adding the ability to stop upgrading or degrading after a set number # of times. # - Adding the ability to change stats based on a different stat. # - Maybe adding in custom stats as well. # #=========================================================================== # # Instructions & Installation # --------------------------- # - add under any custom battle scripts and/or Materials # # - These are the 'commands' you add to an enemy's notebox # # command is basically what you want to do # x:y (x is the number you want to use) # (: stands for per) # (y is the number of turns) # so 3:2 means 3 per 2 turns # this will be repeated below to help understand after you see the actual # commands # # command x:y # | | # | | # V V # <ATKCON+ x:y> --> Adds a constant number to enemy attack # <DEFCON+ x:y> --> Adds a constant number to enemy defense # <AGICON+ x:y> --> Adds a constant number to enemy agility # <SPICON+ x:y> --> Adds a constant number to enemy spirit # <ATKCON- x:y> --> Subracts a constant number from enemy attack # <DEFCON- x:y> --> Subracts a constant number from enemy defense # <AGICON- x:y> --> Subracts a constant number from enemy agility # <SPICON- x:y> --> Subracts a constant number from enemy spirit # <ATKPER+ x:y> --> Adds a percentage of enemy attack to enemy attack # <DEFPER+ x:y> --> Adds a percentage of enemy attack to enemy defense # <AGIPER+ x:y> --> Adds a percentage of enemy attack to enemy agility # <SPIPER+ x:y> --> Adds a percentage of enemy attack to enemy spirit # <ATKPER- x:y> --> Subtracts a percentage of enemy attack from enemy attack # <DEFPER- x:y> --> Subtracts a percentage of enemy attack from enemy defense # <AGIPER- x:y> --> Subtracts a percentage of enemy attack from enemy agility # <SPIPER- x:y> --> Subtracts a percentage of enemy attack from enemy spirit # # # command is basically what you want to do # x:y (x is the number you want to use) # (: stands for per) # (y is the number of turns) # so <ATKCON+ 10:4> means this enemy will gain 10 more attack every 4 turns # <AGIPER- 5:10> means this enemy will lose 5 percent of thier current # agility every 10 turns # #=========================================================================== # # Compatibility & Bugs # -------------------- # Not sure if this will work with other custom battle scripts but # it should as far as I can tell. # #=========================================================================== class Scene_Battle alias get_stronger_by_turn turn_end def turn_end for i in 0...$game_troop.members.size text = $game_troop.members[i].enemy.note unless $game_troop.members[i].dead? text.each_line{|x| line = x[0,x.index(">") + 1] unless line == nil variable_list = line[9..(line.index('>') - 1)] variables = variable_list.split(":") if line.include?("<ATKCON") if line[7,1] == "+" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].atk += variables[0].to_i end elsif line[7,1] == "-" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].atk -= variables[0].to_i end else raise Exception.new("#{line[7,1]} is not a valid function") end end if line.include?("<DEFCON") if line[7,1] == "+" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].def += variables[0].to_i end elsif line[7,1] == "-" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].def -= variables[0].to_i end else raise Exception.new("#{line[7,1]} is not a valid function") end end if line.include?("<AGICON") if line[7,1] == "+" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].agi += variables[0].to_i end elsif line[7,1] == "-" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].agi -= variables[0].to_i end else raise Exception.new("#{line[7,1]} is not a valid function") end end if line.include?("<SPICON") if line[7,1] == "+" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].spi += variables[0].to_i end elsif line[7,1] == "-" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].spi -= variables[0].to_i end else raise Exception.new("#{line[7,1]} is not a valid function") end end if line.include?("<ATKPER") if line[7,1] == "+" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].atk += (($game_troop.members[i].atk / 100.0 * variables[0].to_i).round).to_i end elsif line[7,1] == "-" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].atk -= (($game_troop.members[i].atk / 100.0 * variables[0].to_i).round).to_i end else raise Exception.new("#{line[7,1]} is not a valid function") end end if line.include?("<DEFPER") if line[7,1] == "+" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].def += (($game_troop.members[i].def / 100.0 * variables[0].to_i).round).to_i end elsif line[7,1] == "-" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].def -= (($game_troop.members[i].def / 100.0 * variables[0].to_i).round).to_i end else raise Exception.new("#{line[7,1]} is not a valid function") end end if line.include?("<AGIPER") if line[7,1] == "+" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].agi += (($game_troop.members[i].agi / 100.0 * variables[0].to_i).round).to_i end elsif line[7,1] == "-" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].agi -= (($game_troop.members[i].agi / 100.0 * variables[0].to_i).round).to_i end else raise Exception.new("#{line[7,1]} is not a valid function") end end if line.include?("<SPIPER") if line[7,1] == "+" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].spi += (($game_troop.members[i].spi / 100.0 * variables[0].to_i).round).to_i end elsif line[7,1] == "-" if ($game_troop.turn_count % variables[1].to_i) == 0 $game_troop.members[i].spi -= (($game_troop.members[i].spi / 100.0 * variables[0].to_i).round).to_i end else raise Exception.new("#{line[7,1]} is not a valid function") end end end } end end get_stronger_by_turn end end
- Return to the VX Scripts
- Return to the Sky's Scripts
