03-12-2014, 05:21 AM
BUMP!
to Version 5.0
to Version 5.0
For those of you interested in knowing why the new update, many things have been changed in The Lycan ABS. The major changes within come in three parts and are nearly exclusive to the ABS ENGINE code segment itself. A few changes have been performed within other script sections, but those will be explained.
First, The ABS Engine itself has been subdivided into four smaller units: General, Enemy, Player and Companion. The reason for this is to let a coder (like myself) to more easily find a method within the vast system, such as a feature that controlled a player's missile attack trigger. Before, you would have to search through nearly 5500 lines of code to find the correct method. Now, you only have 1300 for the player system. Yes, it is still over 1000 lines for the player, but it is a very detailed and comprehensive system.
Second, the methods within the Enemy, Player and Companion sections of the ABS Engine have been renamed so they all follow the same naming convention. No longer would you have a method called 'update_enemy_attack_skill' for enemies while a companion uses 'companion_ranged_spell?' Now, the three types of battlers (enemy, player and companions) use the same naming style for virtually all action methods. Insofar as attacks are concerned, all attacks follow the premise of combatant decision (you pressing a key or the enemy decides to be aggressive), readying an attack, starting the attack animation and delay set, and getting a result when the delay runs out. The typical naming standards would be update_xx_attack, update_xx_attack_*type*, update_xx_attack_*type*_perform, update_xx_attack_*type_result. The *type* would be substituted with melee, ranged, skill, and so on.
Before anyone frets over the methods being renamed, I did make a list of all methods renamed and know what classes/methods needed to be changed.
In fact, here's the list of renamed methods:
Code:
PART 1: GENERAL METHODS
# Method Name # Original Name (Renamed)
----------- -----------------------
update_range_missile update_range_fired_weapon
update_range_skill update_range_fired_skill
update_range_barrier update_range_fired_barrier
update_range_barrier_event barrier_event
update_range_barrier_tile_available? barrier_tile_available?
================================================================================
PART 2: ENEMY HANDLING
#Method Name # Original Name (Renamed)
update_enemy_test_alive update_enemy_alive
update_enemy_test_coward cowardice_check
update_enemy_force_call_set force_enemy_call_set
update_enemy_force_call_remove force_enemy_call_remove
update_enemy_force_move force_enemy_move
update_enemy_force_see force_enemy_see
update_enemy_force_attack force_enemy_attack
update_enemy_force_obtain_hp force_enemy_obtain_hp
update_enemy_force_obtain_sp force_enemy_obtain_sp
update_enemy_force_obtain_hpmax force_enemy_obtain_hp (corrected)
update_enemy_force_obtain_spmax force_enemy_obtain_sp (corrected)
update_enemy_force_damage_hp force_enemy_damage_hp
update_enemy_force_damage_sp force_enemy_damage_sp
update_enemy_force_apply_state force_enemy_apply_state
update_enemy_respawn update_respawn
update_enemy_respawn_locations update_respawn_locations
update_enemy_attack_result update_enemy_reactions
update_enemy_attack_result_melee update_enemy_attack_melee_result
update_enemy_attack_result_skill update_enemy_attack_skill_result
update_enemy_attack_result_barrier update_enemy_attack_barrier_result
update_enemy_event_movement_style update_enemy_target_and_movement
================================================================================
PART 3: PLAYER HANDLING
#Method Name # Original Name (Renamed)
update_player_attack_defend update_player_defend
update_player_attack_skill update_player_skill
update_player_attack_item update_player_item
update_player_attack_mine update_mine_trigger
update_player_attack_action update_player_attack_switch
update_player_attack_skill_action update_player_attack_skill
update_player_attack_item_action update_player_attack_item
update_player_attack_result update_player_reactions
update_player_attack_result_attack update_player_attack_result
update_player_attack_result_melee update_player_attack_melee_result
update_player_attack_result_ranged update_player_attack_ranged_result
update_player_attack_result_skill update_player_attack_skill_result
update_player_attack_result_item update_player_attack_item_result
update_player_attack_result_barrier update_player_attack_barrier_result
update_player_attack_result_mine update_player_attack_mine_result
================================================================================
PART 4: COMPANION HANDLING
#Method Name # Original Name (Renamed)
update_companion_attack_melee companion_melee_attack
update_companion_attack_ranged_action companion_ranged_weapon?
update_companion_attack_spell_action companion_ranged_spell?
update_companion_attack_barrier_action companion_ranged_barrier?
update_companion_attack_heal_action companion_heal?
update_companion_attack_force_heal_action companion_force_heal
update_companion_attack_cure_action companion_cure?
update_companion_range_attack companion_range_attack?
update_companion_range_help companion_range_help
update_companion_attack_result_melee companion_melee_result
update_companion_attack_result_range companion_ranged_weapon_result?
update_companion_attack_result_spell companion_ranged_spell_result?
update_companion_attack_result_barrier companion_ranged_barrier_result?
update_companion_attack_result_heal companion_heal_result?
Routines outside the ABS Engine Affected:
Code:
update_enemy_force_see (formerly force_enemy_see)
* Used within 'move_toward_player' in Game Code: Game_Character
update_enemy_force_attack (formerly force_enemy_attack
* Used within 'move_toward_player' in Game Code: Game_Character
update_enemy_event_movement_style (formerly update_enemy_target_and_movement)
* Used within 'hit_event' and 'explode event' in...
- Game_Ranged_Weapon, Game_Ranged_Skill, Game_Ranged_Item,
- Game_Ranged_Barrier and Game_Landmine
* Used within 'reset_enemies_after_load' within Scene Code: Scene_Load
Combatant Code: Game_ABS_Companion > update
* update_companion_range_help (formerly companion_range_help)
* update_companion_attack_melee (formerly companion_melee_attack)
* update_companion_range_attack (formerly companion_range_attack?)
* update_companion_range_help (formerly companion_range_help)
Combatant Code: Game_ABS_Companion > heal
* update_companion_attack_force_heal_action (formerly companion_force_heal)
* update_companion_range_help (formerly companion_range_help)
Combatant Code: Game_ABS_Companion > update_reactions
* update_companion_attack_result_melee (formerly companion_melee_result)
* update_companion_attack_result_range (formerly companion_ranged_weapon_result?)
* update_companion_attack_result_spell (formerly companion_ranged_spell_result?)
* update_companion_attack_result_barrier (formerly companion_ranged_barrier_result?)
* update_companion_attack_result_heal (formerly companion_heal_result?)
And third, many systems have been subdivided into smaller components for both cleanliness sake and a streamlining feature. Some of these smaller components are being shared by two or more methods, so some semblance of reduced code size has been made (if it wasn't for all my 'comments ^_^ ). This should enable coders (again... like myself) to create new script add-ons which can attach to The Lycan ABS without the necessity to overwrite sections.
I did move the 'enemy states' method out of update_enemies and move it into update_states. It seemed fitting as it is a routine to check all other status effects if any.
MEANWHILE: It also includes an updated version of The Lycan HUD and JayRay's Lycan GameLog.