05-27-2014, 03:44 AM
Lets give the Lycan ABS a
BUMP!
to Version 7.4
BUMP!
to Version 7.4
Some more changes and streamlining were done, breaking down some of the methods in the various pages in the ABS.
My first job was to search through and tackle anything that needed altering in the Modules page. My first actual target was the RPG::Sprite class itself. Streamlining in the class name itself was performed, but that isn't a big deal. However, more work was performed to make the RPG Sprite class more compatible with other systems. Initially, the animation and update_animation methods were rewrites, but I eliminated the update_animation code from the system and decided to alias both the animation and dispose_animation methods as a fix. I had also broken up the update method, and created two new methods for its use; update_abs_system_collapse and update_abs_system_duration. And after that, I followed suit and made three new methods for use between the damage pop methods, these new methods are damage_pop_bitmap_set, damage_pop_bitmap_ouline and damage_pop_sprite.
After that, I went towards the Combatant code, cleaning up a little here and there. The Game_ABS_Enemy class went through the most, having deleted almost everything. As the class was an almost exact copy of the Game_Enemy class, I decided to have Game_Enemy be the parent class to Game_ABE_Enemy rather than Game_Battler. In that, I only needed to keep two methods and the attributes section. However, the initialize method was rewritten to be stand-alone, not drawing on Game_Enemy's 'initialize' as that requests both troop and member index values. So instead, I copied most of the 'initialize' method of Game_Battler and added it to Game_ABS_Enemy's. Besides the 'initialize' method, only the 'can_use_skill?' method remained. By doing so, the amount of code for the class was literally cut in half.
Also, this required very minor changes to both Lycan Enemy Bars and Lycan Audible Alerts. That was the very first change I ever made to the Lycan Enemy Bars since I coded it three years ago! Three years?
The Game_ABS_Companion class was more complicated than the Game_ABS_Enemy class though, being a child to the Game_Character class and relying on ties to the Game_Actor database for purposes of damage and combat mechanics. The first revision I made was towards the 'refresh' method, extracting some of the code to form three new methods called 'refresh_no_members?', 'refresh_not_valid?' and 'refresh_character'. This was followed up by editing the 'update' method and forming the 'update_ai_attack?' method and its two smaller parts, 'update_position_forward' and 'update_position_rear'. These two last pieces are used to handle companion attack decisions based on whether they stand back or get into close quarter combat. And the 'update_reactions' method was renamed 'update_attack_result' much like the 'update_player_attack_result' method in Game_ABS.
Meanwhile, it bothered me that I could 'TALK TO THE CAT' throughout the whole demo. Sure, i made the companion command system. But it would be a total cheat for the demo if you just left Jane the Cat on one map while you faced all the dangers. Part of the challenge is that you had to make sure she didn't get killed too, and if you could tell her to stay put on a map kinda ruined that. So I made a minor change to the Game_ABS initialize and attributes sections (ABS Engine Pg 1), added a new command to the Companions page (ABS Engine Pg 4) and to the 'check_event_trigger_here' method for the Game Player class in the Game Code page. Now you can use a new script call to turn the dialog system on and off.
While I was IN the Dialog mood, I did some minor 'subdividing' of the Window_Dialog class used by the companions dialog system. At the same time, I also attacked the Window_MenuStatus and Window_Ammo classes in my Window Code page. Alas, some methods in there are actual rewrites which could not be avoided. But if I can break them into smaller and more manageable portions, I will.
And the last thing I had to deal with in regards to the Lycan ABS itself was an error detected in the ballistics section. It appeared when an explosive effect was to take place around companions. At the same time, a similar error was found when an enemy was caught in an explosion. Obviously, these errors have been corrected.
* * *
So again, I did some minor changes to Lycan Enemy Bars and Lycan Audible Alerts. But for those using the paperdoll system, I performed a minor change to Frank's MultiPose Charactersets. It was in the 'animation_single_action_pose' that additional error-preventative values were introduced to prevent crashes.And that's that!