Advanced Targetting
#1
Advanced Targetting
Version: 2.8.1


Introduction
A completely rewritten version of my Skill Scope Library and Hero/Enemy/Single/All Target Switching, The Skill Scope Library builds upon the default scopes (None, One Enemy, All Enemies, ...), and adds new ones (Random Ally, All Enemies and Allies, All Enemies and the User), and the Hero/Enemy Target Switching allows you to switch targets in battle (from enemies to allies and single to all targets). Also adds four new scopes, and the scopes also be tagged to items/weapons/skills/enemies.

Features
  • 39 new Scopes (27 from older version + 4 new ones + 8 Original)
  • New Scopes
  • nrou# -- N Roulette (# is the number chosen)
  • lvl## -- Level ## Divisible All
  • lv##A -- Level ## Divisible Actors
  • lv##E -- Level ## Divisible Enemies
  • The 8 Original Scopes have calling codes now as well, which you will see why they are there later
  • Can be tagged onto enemies, items, weapons, and skills
  • Hero/Enemy Target Switching also to switch between heroes and enemies
  • Hero/Enemy Target Switching can be disabled for certain items/weapons/skills
  • Single/All Target Switching allows you to switch between a single target to all targets
  • Single/All Target Switching can be disabled for certain items/weapons/skills
  • Shows who is targeted in battle
  • If used in conjunction with SephirothSpawn's Dynamic Enemies (or another script that gives enemies a level) allows the scopes Level ## Divisible All, andLevel ## Divisible Enemies to work on enemies

Screenshots
Really won't help...


Demo
Download Here


Instructions

Initial Setup
If using Seph's Dynamic Enemies set that up

Create a new element and call it overide scope In the script Setup set this to the id of the element you just created:

Code:
Overidden_Scope_Element  = 17[/code[


[b]Tagging Scopes[/b]
To Tag a scope to a item/weapon/skill, set the element which you created above to the skill/weapon/items in question

In the description of the item/weapon/skill enter one of these codes depending on which scope you want. Use the first five characters, there is no space between the code and the Description
[list][*]scop0 - None
[*]scop1 - One Enemy
[*]scop2 - All Enemies
[*]scop3 - One Ally
[*]scop4 - All Allies
[*]scop5 - One Ally Hp0
[*]scop6 - All Allies Hp0
[*]scop7 - User
[*]allEA - All Enemies and All Heroes
[*]randA - One Random Ally
[*]randE - One Random Enemy
[*]ran#A - #   Random Allies
[*]ran#E - #   Random Enemies
[*]ranEA - A Random Amount of Everyone
[*]ranRA - Random Number of Allies
[*]ranRE - Random Number of Enemies
[*]Rhp0A - Random Number of Allies HP 0
[*]rhp0A - One Random Ally Hp 0
[*]sbl#A - Side by side grouping # next to each other is selected (left to right)
[*]sbl#E - Side by side but for enemies
[*]sbr#A - Same as above but right to left
[*]sbr#E - Same as above
[*]gsg#A - Golden Sun Grouping System # must be 1 or 3 Heros
[*]gsg#E - Same as above n must be 1,3,5,7
[*]allEU - All Enemies and the user
[*]allAE - All Allies and ONE Random Enemy
[*]roule - One random battler
[*]doubr - Two random battlers
[*]oneAE - One hero one enemy Random
[*]strAE - Hero and enemy with most HP
[*]stroA - Strongest Hero
[*]stroE - Strongest Enemy
[*]weaAE - Weakest Hero and Enemy
[*]weakA - Weakest Hero
[*]weakE - Weakest Enemy
[*]nrou# - # amount of random people
[*]lvl## - Level Divisible by ## actors and enemies
[*]lv##A - Level Divisible by ## actors
[*]lv##E - Level Divisible by ## enemies[/list]

[b]Tagging Scopes to Enemies[/b]
To Tag a scope to the enemy see the Script Setup
[Code]Enemy_Scopes = {3 => 'scop2'}[/b]
The format for this hash is {enemy_id => scope, enemy_id => scope, ...}
where enemy id this the id of the enemy and scope is one of the scopes above (This is where scopes 1-8 on the list are useful, you can alternatively just use 0-7 for these scopes) So now you may have an enemy that attacks all heroes, or just attacks itself :P

[b]Disabling[/b]
Again refer to the setup script take note to this section
[code]  #--------------------------------------------------------------------------
  # * Hero Enemy Switch syntax id => (bool) [true: enable false: disable]
  #--------------------------------------------------------------------------
  Hero_Enemy_Switch_Weapons = {}
  Hero_Enemy_Switch_Skills = {15 => false}
  Hero_Enemy_Switch_Items = {1 => false}
  #--------------------------------------------------------------------------
  # * Defaults for Hero Enemy Switch [true: enable false: disable]
  #--------------------------------------------------------------------------
  Hero_Enemy_Switch_Weapons.default = true
  Hero_Enemy_Switch_Skills.default = true
  Hero_Enemy_Switch_Items.default = true
The first section disables/enables Hero Enemy Target Switching for weapon/skills/items just enter the id of the object in question and enter true to enable or false to disable. The second part sets the default which everything not defined is enabled. From the default setup:
  • Skill id 15 or Mass Thunder can't be switched from All Enemies to All Heroes. It can only be switched from all enemies to a enemy
  • Item id 1 or Potion can't be switched from All Enemies to All Heroes. It can only be switched from all heroes to a hero.
  • Everything else can be switched from Heroes/Enemies since the default is true

Code:
#--------------------------------------------------------------------------
  # * Single All Switch syntax id => (bool) [true: enable false: disable]
  #--------------------------------------------------------------------------
  Single_All_Switch_Weapons = {1 => false}
  Single_All_Switch_Skills = {}
  Single_All_Switch_Items = {1 => false}
  #--------------------------------------------------------------------------
  # * Defaults for Single All Switch [true: enable false: disable]
  #--------------------------------------------------------------------------
  Single_All_Switch_Weapons.default = true
  Single_All_Switch_Skills.default = true
  Single_All_Switch_Items.default = true[/list]

The first section disables/enables Single/All Target Switching for weapon/skills/items just enter the id of the object in question and enter true to enable or false to disable. The second part sets the default which everything not defined is enabled. From the default setup:
[list][*]Weapon id 1 or Bronze Sword can't be switched from All to Single. It can only be switched from a enemy to a hero
[*]Item id 1 or Potion can't be switched from All Enemies to All Heroes. It can only be switched from an enemy to a hero, but since Hero/Enemy Switching is also disabled there is no switching at all, it is fixed at a single hero.
[*]Everything else can be switched from Single/All since the default is true[/list]

[Code]    #--------------------------------------------------------------------------
  # * Damage Multiplier Weapons [true: enable false: disable]
  #--------------------------------------------------------------------------
  Damage_Multiplier_Weapons = {}
  Damage_Multiplier_Skills = {}
  Damage_Multiplier_Items = {}
  #--------------------------------------------------------------------------
  # * Defaults for Damage Multiplier [true: enable false: disable]
  #--------------------------------------------------------------------------
  Damage_Multiplier_Weapons.default = true
  Damage_Multiplier_Skills.default = true
  Damage_Multiplier_Items.default = true

This section deals with the damage multiplier when you switch from a single to all target if the flag for the object here is true then the damage will be split up by the number of targets.

Other Stuff
Code:
#--------------------------------------------------------------------------
  # * Show Enemy Hp
  #--------------------------------------------------------------------------
  Show_Enemy_Hp = true
In the target window if this is true then enemy hp will be shown. If false it will not show.

[Code] #--------------------------------------------------------------------------
# * Advanced - Phase 3 Selection Windows syntax: variable => method
#--------------------------------------------------------------------------
Selection_Windows = {}[/list]
This is an "in case something goes screwy" option if you see a window not disappearing after selection is complete then you need to setup this option the syntax is variable of the window => end_method. This option increases compatibility if used correctly since you may have some other windows used for selection or in the selection process.


Compatibility
As this script completely rewrites the whole scope/targetting system, there is sure to be some incompatibility, there is also a change to make_basic_action_result_attack to flatten the array of battlers to prevent errors

SDK compliant

If using my Multi-View Battle System, this script should be compatible except for the one change to make_basic_action_result_attack, which could not be aliased, if you put that one script above the CBS then it should work, also there will be an extra addon for this script, dealing with the formation system + this script, which will add a few more scopes Row, Column, and allowing to attack rows more in front before attacking backer rows


FAQ
Note: Permission granted by Trickster to post:
Quote:And if you post what you have now of my stuff then you don't have the latest versions. I'm too lazy/busy to post stuff.
As this is his material, it is deletable upon his request. Due to his current absense, no support is available. Please do not PM or eMail him for support.


Credits and Thanks
Alistor for requesting the Level Divisible Scope to be added
Night for betatesting
Raven for betatesting
RPG Advocate for his multi-random methods (which were edited by me)


Author's Notes
Enjoy XD


Terms and Conditions
Hey, I posted this publicly. You can use it. What do you expect? But if you do use it, I do expect you to spell my name correctly in your game. And yes you can use it in commercial games too.
Reply }


Possibly Related Threads…
Thread Author Replies Views Last Post
   ACBS FIX SCRIPT #2: Advanced Cry Correction DerVVulfman 1 4,780 08-09-2019, 03:42 PM
Last Post: aeliath
   Map Scroll Advanced JayRay 0 4,207 05-16-2014, 10:51 AM
Last Post: JayRay
   All/Self/None Targetting Arrows MechanicalPen 0 3,875 01-25-2014, 07:04 PM
Last Post: MechanicalPen
   Advanced Shop Status Window RPG Advocate 4 12,494 08-21-2011, 05:12 AM
Last Post: DerVVulfman
   Advanced Individual Battle Commands Trickster 6 15,941 01-29-2011, 04:30 AM
Last Post: DerVVulfman
   MultiSlots! Store Patch - Advanced Shop DerVVulfman 0 6,112 10-24-2010, 03:39 AM
Last Post: DerVVulfman
   MAWS - Modified Advanced Weather Script Agckuu_Coceg 26 40,905 05-27-2010, 04:43 PM
Last Post: sakhawat21
   Moghunter's Advanced Movement System Helel 1 8,301 12-08-2009, 11:52 PM
Last Post: explocion200
   AMS - Advanced Message Script - R4 (LegacyX Edit) Legacy 2 9,203 09-18-2009, 09:43 AM
Last Post: Legacy
   Dubealex's Advanced Message System R4 Dubealex 0 8,290 12-07-2008, 04:19 PM
Last Post: Dubealex



Users browsing this thread: 1 Guest(s)