Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

caterpillar System and a Pary Rotating ?

Anybody know where I could find a these two scripts? I need a party changer that works by button instead of the menu and a caterpillar system that would work with it.
 
This is a Leader Switch System that uses the letters Q and W... I'm not sure whose it is... If anyone knows, I would appreciate it so I can give credit.
Code:
class Scene_Map
  
  alias modern_algebra_change_leader_modification update
  def update
    modern_algebra_change_leader_modification
    if Input.trigger? (Input::R)
      # Remove the Lead Actor
      old_lead = $game_party.actors.shift 
      # Add the old leader back into the party
      $game_party.add_actor (old_lead.id)
    end
    if Input.trigger? (Input::L)
      # Remove the last actor in the party
      new_lead = $game_party.actors.pop
      # Insert him as the lead actor
      $game_party.actors.unshift (new_lead)
      # Refresh $game_player to reflect new leader
      $game_player.refresh
    end
  end
end
And this is s shortened version of the Tons of Add-Ons by Blizzard, with just the Caterpillar Included
Code:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Tons of Add-ons by Blizzard
# Version: 6.02b
# Type: Add-on Collection Control Script
# Date v1.00b:  14.11.2006
# Date v1.10b:  17.11.2006
# Date v1.60b:   4.12.2006
# Date v1.62b:   6.12.2006
# Date v1.70b:  13.12.2006
# Date v1.87b:  12.01.2007
# Date v2.20b:  16.01.2007
# Date v2.30b:  22.01.2007
# Date v2.31b:  24.01.2007
# Date v2.40b:   1.02.2007
# Date v2.50b:   4.02.2007
# Date v2.70b:   7.02.2007
# Date v2.71b:  12.02.2007
# Date v2.80b:  17.02.2007
# Date v3.70b:  19.02.2007
# Date v3.71b:  23.02.2007
# Date v3.80b:   7.03.2007
# Date v4.00b:   7.03.2007
# Date v4.01b:   9.03.2007
# Date v4.02b:  11.03.2007
# Date v4.30b:  12.03.2007
# Date v4.32b:  18.03.2007
# Date v4.50b:  24.03.2007
# Date v4.70b:  30.04.2007
# Date v4.80b:   4.05.2007
# Date v4.81b:   8.05.2007
# Date v4.85b:   7.07.2007
# Date v4.86b:   8.08.2007
# Date v4.90b:  12.07.2007
# Date v4.91b:  14.07.2007
# Date v4.97b:  31.07.2007
# Date v4.98b:   7.08.2007
# Date v5.40b:  20.10.2007
# Date v5.80b:  22.10.2007
# Date v5.81b:  23.10.2007
# Date v5.83b:  25.10.2007
# Date v5.90b:  28.10.2007
# Date v5.91b:   5.11.2007
# Date v5.98b:  13.11.2007
# Date v5.99b:  19.11.2007
# Date v6.00b:   7.12.2007
# Date v6.02b:  10.12.2007
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# 
# VERY IMPORTANT NOTE:
# 
#   For any new add-on the version will increase by 0.1, for any update of the
#   collection or any update on an add-on the version will increase by 0.01.
#   Also from v3.71b on there is a recognition global variable available which
#   will make the Tons of Add-ons much more compatible with many of my scripts.
#   I noticed serious issues with several of my older scripts.
# 
# 
# Important note:
# 
#   All Add-ons are initially turned off in any later version than 1.87b!
#   Multi-Drop is 
#   Also note that "Full Reflection System" is BELOW HP/SP Absorbtion, because
#   of incompatibility issues.
# 
# 
# Compatibility:
# 
#   80% compatible with SDK v1.x. 40% compatible with SDK v2.x. Some add-ons
#   will corrupt your old savegames. If you experience the "Stack level too
#   deep" error, you might already use one of these add-ons. All of these
#   add-ons here work with each other with a success rate of 99%. This add-on
#   collection itself WILL corrupt your old savegames. May cause
#   incompatibility issues with following systems:
#   
#   - exotic CBS-ex
#   - exotic CMS-es
#   - skill learning systems
#   - exotic graphic systems on the map
#   - weapon/armor changing systems
#   
#   This add-on collection is semantically compatible with RTAB v1.16 with all
#   Plugins, though, several add-ons will not work:
#   
#   - Center Battler    - will cause a crash (it's rather useless in Side-View
#                         RTAB anyway)
#   - Lagless HUD       - will cause a crash at the end of the map scene due to
#                         the immeasurable stupidity of the SDK (aka automatic
#                         disposal)
#   - Map as Battleback - will cause a crash at the end of the battle due to
#                         the immeasurable stupidity of the SDK (aka automatic
#                         disposal)
#   - Multi-Hit         - will not react at all if RTAB is being used due to
#                         the heavy changes in the methods supported by the DBS
#   - Charge Skill      - the countdown will be executed instantly and the
#                         skill will be executed right away
#   
#   It is possible that more add-ons don't work, but it is very unlikely.
# 
# 
# Featured add-ons so far:
# 
#     57 add-ons by Blizzard
#   +  1 add-on  by Zan
#   +  1 add-on  by Fantasist
#   +  1 add-on  by NAMKCOR
#   = 60 add-ons altogether
# 
# Ideas:
# 
#   - Blizzard
#   - GuardianAngelX72
#   - BanisherOfEden
#   - italianstal1ion
#   - indinera
#   - Yami
#   - blazinhandle
#   - Arrow-1
#   - Dark Angel Sion
#   - Zan
#   - shahafyz57
#   - Echo
#   - Cid
#   - Fantasist
#   - Ceaon
#   - NAMKCOR
# 
# 
# Features:
# 
#   ----> Graphic (make your game look nice):
# - Better Tilemap update (will update autotiles faster)
# - Animated Title (have an animated title screen without .gifs)
# - Center Battler (they will be centered instead of lined next to each other)
# - HP/SP/EXP gradient/slant bars (including 7 styles, opacity and least lag)
# - Location Names (shows pictures or names of the location the player visits)
# - Black Fade (shows a black screen when changing the map or before battle)
# - Simple Shaded Text (draws a shadow behind your text)
# - Blizz-Art lagless HUD (Heads Up Display using either HP/SP/EXP or simple)
# - Screen Tremble (makes your screen shake vertically, too)
# - Animation Stack (shows animation of all inflicted status effects)
# - Simple Facesets (shows a face instead of the spriteset in the main menu)
# - Caterpillar (party members follow you on the map)
# - Arrow over Player (shows arrow over player's head if he's "behind")
# - Animated Battle Background (animates battle backgrounds)
# - Map as Battleback (map is the battle backgrounds)
# - Facesets for DSS (shows a face instead of the spriteset in the status menu)
# - Status Effects as Icons (displays status effects as icons)
# - Animated Battlers Non-Action BS (animates battlers in battle systems)
# - Enhanced Battle Cursor (plays animations upon cursors in battle)
# 
#   ----> Utility (make your game more unique and better/help you during debug):
# - Custom Game Controls (set up your own game controls)
# - FPS Modulator (increase the fps rate up 3 times like in an emulator)
# - Speed Modulator (change the main character's speed on the map)
# - Fullscreen? (asks the player at game start if he wishes to switch to full)
# - Death Toll (counts killed enemies and actor deaths)
# - Multi-Drop (makes enemies drop more than just one item)
# - Window_BattleResult (displays gained items in a different, but better way)
# - Unique Skill Commands (different name for the Skill command for each class)
# - Ultimate Font Override (will override the font from any RMXP version)
# - Heal at LvlUp (heals characters who level up)
# - Weapon/Armor HP/SP Plus (max HP and max SP can also be increased)
# - EQUAP Skills (equipment skills, equip to learn + AP system like FF9)
# - Picture Movie Scene (easily create picture based cutscenes)
# - Target 'em all! (make skills target all battlers)
# - Quick Passability Test (let's you debug maps faster and more convenient)
# - Dynamic Passability Minimap (never was a minimap so easy to use)
# - Enemy Status in Battle (displays enemies' HP, SP and state)
# - Different Difficulties (like "Easy", "Normal", "Hard")
# - Skill Separation System (like "White Magic", "Black Magic", "Technic", etc.)
# - Multi-Hit (make weapons/skills/enemies hit more than once)
# - Scene_Item calling Items (make items call special item scenes)
# - Plug-in Save Point (create your own save point system within minutes)
# - Equipment Requirement System (Diablo II style requirements)
# - Item Requirement for Skills (skills require and consume items upon use)
# 
#   ----> Status Effect (non-standard status effects):
# - Zombie (Healing items will hurt and light attacks are effective)
# - Regen (progressive healing aka poison, but the other way)
# - Auto-Revive (or Auto-Life, will be automatically revived after dieing)
# - Fury Status (if a specific character dies, another one will become Fury)
# - Invincible Status (this status will nullify ANY DAMAGE done by enemies)
# - SP Cost Mod (this status will change SP cost to percentages or fixed values)
# - Frozen (dies instantly if getting damaged)
# 
#   ----> Skill (non-standard skills):
# - Absorb HP/SP (with considering undead enemies)
# - Death Roulette (kills a random target)
# - Blue Magic Skill (can learn enemy's skills)
# - EMP Skill (paralyze machine enemies)
# - Demi Skill (deals damage equal to a percentage of the remaining HP)
# - Doom Skill (countdown to death)
# - Revenge Skill (does damage equal to MAX_HP - CURRENT_HP)
# - Destructor Skill (kills self to achieve various effects)
# - SP Damage Skill (skills that damage / heal SP instead of HP)
# - Charge Skill (skills that count down before usage)
# 
# 
# Version history:
# 
# v1.10b:
#   -> added Black Fade by Blizzard
# 
# v1.60b:
#   -> added Ultimate Font Override by Blizzard
#   -> added Simple Shaded Text by Blizzard
#   -> added Heal at LvlUp by Blizzard
#   -> added Fury Status by Blizzard
#   -> added Invincible Status by Blizzard
# 
# v1.62b:
#   -> upgraded Death Toll by Blizzard to v1.2b
# 
# v1.70b:
#   -> added Half SP by Blizzard
# 
# v1.87b:
#   -> added Blizz-Art lagless HUD by Blizzard
#   -> upgraded Animated Title by Blizzard to v1.33b
#   -> upgraded Centered Battlers by Blizzard to v2.1b
#   -> upgraded HP/SP/EXP bars by Blizzard to v4.11b
#   -> upgraded Speed Modulator by Blizzard to v1.01b
#   -> upgraded Regen Status Effect by Blizzard to v1.1b
#   -> upgraded Auto-Revive by Blizzard to v1.21b
#   -> updated FPS Modulator by Blizzard
# 
# v2.20b:
#   -> added Weapon/Armor HP/SP Plus by Blizzard
#   -> added Full Reflection System by Blizzard
#   -> added EQ Skills by Blizzard
#   -> added Picture Movie Scene by Blizzard
# 
# v2.30b:
#   -> added Screen Tremble by Blizzard
# 
# v2.31b:
#   -> updated Screen Tremble by Blizzard
#   -> updated Better Tilemap update by Blizzard
# 
# v2.40b:
#   -> added Animation Stack by Blizzard
#   -> upgraded Picture Movie Scene by Blizzard to v2.02b
#   -> updated Screen Tremble by Blizzard
# 
# v2.50b:
#   -> added Target 'em all! by Blizzard
#   -> upgraded Unique Skill Commands by Blizzard to v1.11b
# 
# v2.70b:
#   -> added Quick Passability Test by Blizzard
#   -> added Dynamic Passability Minimap by Blizzard
#   -> upgraded Picture Movie Scene by Blizzard to v2.03b
# 
# v2.71b:
#   -> upgraded Dynamic Passability Minimap by Blizzard to v1.01b
# 
# v2.80b:
#   -> added Enemy Status in Battle by Blizzard
# 
# v3.70b:
#   -> added Simple Facesets by Blizzard
#   -> changed EQ Skills by Blizzard to EQUAP Skills and upgraded to v3.0b
#   -> upgraded Unique Skill Commands by Blizzard to v1.2b
#   -> updated Center Battler by Blizzard
#   -> updated Weapon/Armor HP/SP Plus by Blizzard
#   -> added constant for recognition by other scripts to improve compatibility
#   -> Why suddenly v3.7b? 37 add-ons are featured so far!
# 
# v3.71b:
#   -> upgraded Simple Facesets by Blizzard to v1.01b
#   -> fixed a problem with the compatibility recognition
# 
# v3.80b:
#   -> added Caterpillar by Blizzard
# 
# v4.00b:
#   -> added Arrow over Player by Blizzard
#   -> added EMP Skill by Blizzard
#   -> upgraded Caterpillar by Blizzard to v1.01b
#   -> upgraded EQUAP Skills by Blizzard to v3.02b
# 
# v4.01b:
#   -> upgraded Black Fade by Blizzard to v1.1b
# 
# v4.02b:
#   -> upgraded Window_BattleResult by Blizzard to v1.1b
# 
# v4.30b:
#   -> added Animated Battle Background by Blizzard
#   -> added Map as Battleback by Blizzard
#   -> added 1 SP by Blizzard
#   -> upgraded HP/SP/EXP gradient/slant bars by Blizzard to v4.2b
#   -> upgraded Blizz-Art lagless HUD by Blizzard to v1.2b
#   -> upgraded Weapon/Armor HP/SP Plus by Blizzard to v1.01b
#   -> upgraded Full Reflection System by Blizzard to v2.0b
#   -> upgraded EMP Skill by Blizzard to v1.01b
# 
# v4.32b:
#   -> upgraded Zombie Status Effect by Blizzard to v1.1b
#   -> updated Arrow over Player by Blizzard
# 
# v4.50b:
#   -> added Different Difficulties by Blizzard
#   -> added Skill Separation System by Blizzard
#   -> upgraded Half SP by Blizzard to v1.4b
#   -> upgraded 1 SP by Blizzard to v1.1b
#   -> updated Center Battler by Blizzard
#   -> updated Blizz-Art lagless HUD by Blizzard
#   -> updated Death Roulette by Blizzard
#   -> updated EMP Skill by Blizzard
# 
# v4.70b:
#   -> added Facesets for DSS by Zan
#   -> added Status Effects as Icons for DSS by Blizzard
#   -> now compatible with Blizz-ABS 1.0.0.1 and higher
# 
# v4.80b:
#   -> added Animated Battlers for DBS by Blizzard
#   -> fixed the HUD lag problem with Blizz-ABS 1.0.0.1 and higher
# 
# v4.81b:
#   -> updated Skill Separation System by Blizzard
# 
# v4.85b:
#   -> upgraded Weapon/Armor HP/SP Plus by Blizzard to v2.0
#   -> upgraded Location Names by Blizzard to v2.1b
#   -> upgraded Blizz-Art lagless HUD by Blizzard to v1.3b
#   -> improved overall coding of Tons of Add-ons and fixed incompatibility bugs
# 
# v4.86b:
#   -> upgraded Fullscreen? by Blizzard to v1.22b
# 
# v4.9b:
#   -> added Demi Skill by Blizzard
# 
# v4.91b:
#   -> upgraded HP/SP/EXP gradient/slant bars by Blizzard to v4.4b
# 
# v4.97b:
#   -> due to a bug Ultimate Font Override can't be turned on/off ingame now
#   -> upgraded Location Names by Blizzard to v2.11b
#   -> upgraded Arrow over Player by Blizzard to v1.01b
#   -> upgraded Weapon/Armor HP/SP Plus by Blizzard to v2.0b
#   -> upgraded Death Toll by Blizzard to v1.3b
#   -> updated ABSEAL by Blizzard
# 
# v4.98b:
#   -> upgraded Caterpillar by Blizzard to v2.0
# 
# v5.40b:
#   -> added Multi-Hit by Blizzard
#   -> added Scene_Item calling Items by Blizzard
#   -> added Custom Game Controls by Blizzard
#   -> added Plug-in Save Point by Blizzard
#   -> added Frozen Status Effect by Blizzard
#   -> added Doom Skill by Blizzard
#   -> upgraded Caterpillar by Blizzard to v2.0b
#   -> upgraded Animated Battle Background by Blizzard to v1.1b
#   -> upgraded Map as Battleback by Blizzard to v1.5b
#   -> upgraded Unique Skill Commands by Blizzard to 1.3b
#   -> upgraded 1 SP by Blizzard to v1.11b
#   -> upgraded Absorbing HP/SP by Blizzard to v1.72b
#   -> upgraded Animated Battlers for Non-Action BS by Blizzard to v1.3b
#   -> removed Blizz-ASBEAL for convenience, now available separately
#   -> rewritten conditions using classic syntax to avoid RGSS conditioning bug
#   -> now compatible with RTAB v1.16 + Plug-ins
# 
# v5.80b:
#   -> added Revenge Skill by Blizzard
#   -> added Destructor Skill by Blizzard
#   -> added SP Damage Skill by Blizzard
#   -> added Enhanced Battle Cursor by Fantasist
#   -> upgraded Regen Status by Blizzard to v2.0
# 
# v5.81b:
#   -> upgraded HP/SP/EXP gradient/slant bars by Blizzard to v4.41b
# 
# v5.83b:
#   -> upgraded HP/SP/EXP gradient/slant bars by Blizzard to v4.5b
#   -> upgraded Location Names by Blizzard to v2.12b
#   -> commented code down to Blizz-Art lagless HUD
# 
# v5.90b:
#   -> added Equipment Requirement System by NAMKCOR
#   -> upgraded Doom Skill by Blizzard to v1.0b
#   -> upgraded Destructor Skill by Blizzard to v1.0b
#   -> upgraded Enhanced Battle Cursor by Fantasist to v2.1 beta
# 
# v5.91b:
#   -> upgraded Location Names by Blizzard to v2.13b
# 
# v5.98b:
#   -> added SP Cost Mod Status Effect by Blizzard
#   -> added Multi-Drop by Blizzard
#   -> upgraded Window_BattleResult by Blizzard to 1.2b
#   -> upgraded Status Effects as Icons by Blizzard to 1.0b
#   -> upgraded Zombie Status by Blizzard to 1.2b
#   -> upgraded Regen Status by Blizzard to 2.0b
#   -> upgraded Auto-Revive Status by Blizzard to 1.22b
#   -> upgraded Invincible Status by Blizzard to 2.0b
#   -> upgraded Frozen Status by Blizzard to 1.0b
#   -> removed Half SP by Blizzard
#   -> removed 1 SP by Blizzard
#   -> removed Full Reflection System by Blizzard
#   -> updated all skill add-ons to work without Reflect
#   -> THIS VERSION HAS ONLY 58 ADD-ONS!
# 
# v5.99b:
#   -> upgraded Auto-Revive Status by Blizzard to 1.23b
#   -> updated Frozen Status by Blizzard
#   -> THIS VERSION HAS ONLY 58 ADD-ONS!
# 
# v6.00b:
#   -> added Item Requirement for Skills by Blizzard
#   -> added Charge Skill by Blizzard
#   -> upgraded Skill Separation System by Blizzard to 1.1b
#   -> updated SP Cost Mod Status Effect by Blizzard
#   -> updated Revenge Skill by Blizzard
# 
# v6.02b:
#   -> upgraded Target 'em all! by Blizzard to 1.1b
#   -> upgraded Auto-Revive by Blizzard to 1.24b
#   -> updated Charge Skill by Blizzard
# 
# 
# Instructions:
# 
# - Explanation:
# 
#   Every Add-on has its own instructions. Please read and follow them.
# 
# - Configuration:
# 
#   Configure the part just below to define which add-ons you want to use and 
#   which not. The configuration is split into two part for reason, don't
#   change this. It will work fine if you leave it as it is.
# 
# - For scripters:
# 
#   If you have any ideas how to improve this collection, just say so. I will
#   add you into the credits of this add-on collection if you have an own
#   add-on. I will not add any add-ons made by somebody else than yourself, you
#   can't ask me for somebody else to add an add-on. The creator has to ask me
#   himself.
# 
# 
# Side note:
# 
#   These add-ons were mostly tested in a different enviroment or not at all.
# 
# 
# Useless facts:
# 
#   - Tons of Add-ons already exceeds many CMS-es and even several CBS-es in
#     number of lines of code.
#   - The version history of Tons of Add-ons has more lines than several
#     add-ons themselves in Tons of Add-ons.
#   - Chaos Project uses only about 60% of the Tons of Add-ons.
#   - A good code is a short code that does what it is supposed to, not the
#     "Microsoft" way where you have many actually redundant lines of code.
#     Simple, short and straight, nothing more than necessary, that's what
#     makes codes efficient!
#   - Russian Reversal on Croatian Blizzards:
#     "In Russia Blizzard makes his scripts SDK compatible with YOU!"
# 
# 
# If you find any bugs, please report them here:
# http://www.chaosproject.co.nr
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

$tons_version = 6.02

#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#
#                                                                             #
#   ###   ###  #   # #####  #   #### #   # ####   ###  #####  #   ###  #   #  #
#  #   # #   # ##  # #      #  #     #   # #   # #   #   #    #  #   # ##  #  #
#  #     #   # # # # ####   #  #  ## #   # ####  #   #   #    #  #   # # # #  #
#  #   # #   # #  ## #      #  #   # #   # #   # #####   #    #  #   # #  ##  #
#   ###   ###  #   # #      #   ####  ###  #   # #   #   #    #   ###  #   #  #
#                                                                             #
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#

$DUMMY_ELEMENTS = [] # add any dummy element IDs other scripts might use
$DUMMY_STATES = [] # add any dummy state IDs other scripts might use

module TONS_OF_ADDONS
  
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Configuration 1
# 
#   You can enable/disable any add-on here if you wish. Set the value to false
#   to disable it. These features CANNOT be turned on/off during the game.
# 
#     NAME_OF_THE_ADDON = true
#     NAME_OF_THE_ADDON = false
# 
#   where NAME_OF_THE_ADDON is the same variable as the one used below.
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  # the graphic add-ons
  ANIMATED_TITLE                = false
  # the utility add-ons
  CUSTOM_CONTROLS               = false
  FULLSCREEN                    = false
  MULTI_DROP                    = false
  ULTIMATE_FONT_OVERRIDE        = false
  EQUAP_SKILLS                  = false
  DIFFICULTY                    = false
  ITEMCALL                      = false
  SAVEPOINT                     = false
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# END Configuration 1
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  
end

#==============================================================================
# Game_System
#==============================================================================

class Game_System
  
  alias init_tons_of_addons_later initialize
  def initialize
    init_tons_of_addons_later
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Configuration 2
# 
#   You can enable/disable any add-on here if you wish. Set the value to false
#   to disable it initially. To turn it on/off ingame, just use the Call script
#   command with one of these syntaxes:
# 
#     $game_system.NAME_OF_THE_ADDON = true
#     $game_system.NAME_OF_THE_ADDON = false
# 
#   where NAME_OF_THE_ADDON is the same variable as the one used below.
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    # the GRAPHIC add-ons
    @BETTER_TILEMAP_UPDATE           = false
    @CENTER_BATTLER                  = false
    @BARS                            = false
    @LOCATION_NAMES                  = false
    @BLACKFADE                       = false
    @SHADED_TEXT                     = false
    @HUD                             = false
    @TREMBLE                         = false
    @ANIMATION_STACK                 = false
    @FACESETS                        = false
    @CATERPILLAR                     = true
    @ARROW_OVER_PLAYER               = false
    @ANIMATED_BATTLE_BACKGROUND      = false
    @MAP_AS_BATTLEBACK               = false
    @FACESETS_DSS                    = false
    @STATUS_ICONS                    = false
    @ANIMATED_BATTLERS_NON_ACTION_BS = false
    @BATTLE_CURSORS                  = false
    # the UTILITY add-ons
    @FPS_MODULATOR                   = false
    @SPEED_MODULATOR                 = false
    @DEATH_TOLL                      = false
    @WINDOW_BATTLERESULT             = false
    @UNIQUE_SKILL_COMMANDS           = false
    @HEAL_AT_LVLUP                   = false
    @HPSPPLUS                        = false
    @TARGET_EM_ALL                   = false
    @QUICK_PASSABILITY_TEST          = false
    @MINIMAP                         = false
    @ENEMY_STATUS                    = false
    @SKILL_SEPARATION                = false
    @MULTI_HIT                       = false
    @EQUIPMENT_REQUIREMENT_SYSTEM    = false
    @ITEM_REQUIREMENT                = false
    # the STATUS EFFECT add-ons
    @ZOMBIE_STATUS                   = false
    @REGEN_STATUS                    = true
    @AUTO_REVIVE                     = true#false
    @FURY_STATUS                     = false
    @INVINCIBLE_STATUS               = false
    @SP_COST_MOD                     = false
    @FROZEN                          = false
    # the SKILL add-ons
    @ABSORB_HP_SP                    = false
    @DEATH_ROULETTE                  = false
    @BLUE_MAGIC_SKILL                = false
    @EMP_SKILL                       = false
    @DEMI_SKILL                      = false
    @DOOM_SKILL                      = false
    @REVENGE_SKILL                   = false
    @DESTRUCTOR_SKILL                = false
    @SP_DAMAGE_SKILL                 = false
    @CHARGE_SKILL                    = false
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# END Configuration 2
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  end
  
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# I suggest you don't edit anything below this line except for the
# configurations for the add-ons.
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

  attr_accessor :BETTER_TILEMAP_UPDATE
  attr_accessor :CENTER_BATTLER
  attr_accessor :BARS
  attr_accessor :LOCATION_NAMES
  attr_accessor :BLACKFADE
  attr_accessor :SHADED_TEXT
  attr_accessor :HUD
  attr_accessor :TREMBLE
  attr_accessor :ANIMATION_STACK
  attr_accessor :FACESETS
  attr_accessor :CATERPILLAR
  attr_accessor :ARROW_OVER_PLAYER
  attr_accessor :ANIMATED_BATTLE_BACKGROUND
  attr_accessor :MAP_AS_BATTLEBACK
  attr_accessor :FACESETS_DSS
  attr_accessor :STATUS_ICONS
  attr_accessor :ANIMATED_BATTLERS_NON_ACTION_BS
  attr_accessor :BATTLE_CURSORS
  
  attr_accessor :FPS_MODULATOR
  attr_accessor :SPEED_MODULATOR
  attr_accessor :DEATH_TOLL
  attr_accessor :WINDOW_BATTLERESULT
  attr_accessor :UNIQUE_SKILL_COMMANDS
  attr_accessor :HEAL_AT_LVLUP
  attr_accessor :HPSPPLUS
  attr_accessor :TARGET_EM_ALL
  attr_accessor :QUICK_PASSABILITY_TEST
  attr_accessor :MINIMAP
  attr_accessor :ENEMY_STATUS
  attr_accessor :SKILL_SEPARATION
  attr_accessor :MULTI_HIT
  attr_accessor :EQUIPMENT_REQUIREMENT_SYSTEM
  attr_accessor :ITEM_REQUIREMENT
  
  attr_accessor :ZOMBIE_STATUS
  attr_accessor :REGEN_STATUS
  attr_accessor :AUTO_REVIVE
  attr_accessor :FURY_STATUS
  attr_accessor :INVINCIBLE_STATUS
  attr_accessor :SP_COST_MOD
  attr_accessor :FROZEN
  
  attr_accessor :ABSORB_HP_SP
  attr_accessor :DEATH_ROULETTE
  attr_accessor :BLUE_MAGIC_SKILL
  attr_accessor :EMP_SKILL
  attr_accessor :DEMI_SKILL
  attr_accessor :DOOM_SKILL
  attr_accessor :REVENGE_SKILL
  attr_accessor :DESTRUCTOR_SKILL
  attr_accessor :SP_DAMAGE_SKILL
  attr_accessor :CHARGE_SKILL
  
end


#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Caterpillar by Blizzard
# Version: 2.0b
# Type: Game Experience Improvement
# Date: 7.3.2007
# Date v1.01b: 7.3.2007
# Date v2.0: 7.8.2007
# Date v2.0b: 8.8.2007
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# 
# new in v1.01b:
#   - now events can't go through your party members anymore
# 
# new in v2.0:
#   - completely overworked and improved
# 
# new in v2.0b:
#   - improved coding and made it work more convenient
#   - fixed a few glitches
#   - added DEAD_DISPLAY option
#   - removed stop animation override upon the player character
# 
# 
# Compatibility:
# 
#   93% compatible with SDK v1.x. 60% compatible with SDK v2.x. You might
#   experience problems with pixel movement scripts or map graphic manipulating
#   scripts. Blizz-ABS disables this add-on automatically and uses the
#   Blizz-ABS Caterpillar system.
# 
# 
# Features:
# 
#   - your party members follow you on the map
#   - less code than other caterpillar scripts
#   - use $game_player.update_buffer('reset') if you need all party members to
#     gather around the player
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

# max number of party members
MAX_PARTY = 4
# actor IDs where the actor is animated even when not walking
ANIMATED_IDS = []
# 0 - shows all characters; 1 - shows "ghosts"; 2 - removes from caterpillar
DEAD_DISPLAY = 0

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# END Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

#==============================================================================
# Game_Character
#==============================================================================
    
class Game_Character
  
  alias passable_caterpillar_later? passable?
  def passable?(x, y, d)
    result = passable_caterpillar_later?(x, y, d)
    return result if $BlizzABS && BlizzABS::Static::VERSION >= 1.001
    return result if self.is_a?(Game_Player) || self.is_a?(Game_Member)
    new_x = x + (d == 6 ? 1 : d == 4 ? -1 : 0)
    new_y = y + (d == 2 ? 1 : d == 8 ? -1 : 0)
    unless @through
      $game_player.members.each {|member|
          if member.character_name != '' && member.x == new_x && member.y == new_y
            return false
          end}
    end
    return result 
  end
  
end

#==============================================================================
# Game_Player
#==============================================================================
    
class Game_Player < Game_Character
  
  attr_reader :members
  attr_reader :move_speed
  
  alias init_caterpillar_later initialize
  def initialize
    init_caterpillar_later
    @members = []
    (1...MAX_PARTY).each {|i| @members.push(Game_Member.new(i))}
  end
  
  alias upd_caterpillar_later update
  def update
    upd_caterpillar_later
    refresh if DEAD_DISPLAY > 0
    @members.each {|member| member.update}
    @step_anime = true if ANIMATED_IDS.include?(actor.id)
  end
  
  alias straighten_caterpillar_later straighten
  def straighten
    straighten_caterpillar_later
    @members.each {|member| member.straighten}
  end
  
  alias refresh_caterpillar refresh
  def refresh
    act = $game_party.actors[0]
    $game_party.actors[0] = actor
    refresh_caterpillar
    $game_party.actors[0] = act
    if actor.dead? && DEAD_DISPLAY == 1
      @opacity = Graphics.frame_count % 2 * 255
      @blend_type = 1
    end
  end
  
  def actor
    if DEAD_DISPLAY > 0
      $game_party.actors.each {|actor| return actor unless actor.dead?}
    end
    return $game_party.actors[0]
  end
  
  def update_buffer(next_move)
    if next_move == nil
      @members.each {|member| member.buffer = []}
    else 
      @members.each {|member| member.update_buffer(
          next_move == 'reset' ? nil : next_move)}
    end
  end
  
  alias move_down_caterpillar_later move_down
  def move_down(turn_enabled = true)
    update_buffer(2) if passable?(@x, @y, 2)
    move_down_caterpillar_later
  end
  
  alias move_left_caterpillar_later move_left
  def move_left(turn_enabled = true)
    update_buffer(4) if passable?(@x, @y, 4)
    move_left_caterpillar_later
  end
  
  alias move_right_caterpillar_later move_right
  def move_right(turn_enabled = true)
    update_buffer(6) if passable?(@x, @y, 6)
    move_right_caterpillar_later
  end
  
  alias move_up_caterpillar_later move_up
  def move_up(turn_enabled = true)
    update_buffer(8) if passable?(@x, @y, 8)
    move_up_caterpillar_later
  end
  
  alias move_lower_left_caterpillar_later move_lower_left
  def move_lower_left
    if passable?(@x, @y, 2) && passable?(@x, @y + 1, 4) ||
       passable?(@x, @y, 4) && passable?(@x - 1, @y, 2)
      update_buffer(1)
    end
    move_lower_left_caterpillar_later
  end
  
  alias move_lower_right_caterpillar_later move_lower_right
  def move_lower_right
    if passable?(@x, @y, 2) && passable?(@x, @y + 1, 6) ||
       passable?(@x, @y, 6) && passable?(@x + 1, @y, 2)
      update_buffer(3)
    end
    move_lower_right_caterpillar_later
  end
  
  alias move_upper_left_caterpillar_later move_upper_left
  def move_upper_left
    if passable?(@x, @y, 8) && passable?(@x, @y - 1, 4) ||
       passable?(@x, @y, 4) && passable?(@x - 1, @y, 8)
      update_buffer(7)
    end
    move_upper_left_caterpillar_later
  end
  
  alias move_upper_right_caterpillar_later move_upper_right
  def move_upper_right
    if passable?(@x, @y, 8) && passable?(@x, @y - 1, 6) ||
       passable?(@x, @y, 6) && passable?(@x + 1, @y, 8)
      update_buffer(9)
    end
    move_upper_right_caterpillar_later
  end
  
  alias jump_caterpillar_later jump
  def jump(x_plus, y_plus)
    if (x_plus != 0 || y_plus != 0) && passable?(@x + x_plus, @y + y_plus, 0)
      update_buffer([x_plus, y_plus])
    end
    jump_caterpillar_later(x_plus, y_plus)
  end
  
  alias moveto_caterpillar moveto
  def moveto(x, y)
    update_buffer(nil)
    moveto_caterpillar(x, y)
    @members.each {|member|
        member.moveto(x, y)
        case @direction
        when 2 then member.turn_down
        when 4 then member.turn_left
        when 6 then member.turn_right
        when 8 then member.turn_up
        end}
  end
  
end
  
#==============================================================================
# Game_Member
#==============================================================================

class Game_Member < Game_Character
  
  attr_accessor :buffer
  
  def initialize(index)
    super()
    @index, @force_movement, @buffer, @through = index, 0, [], true
  end
  
  def refresh
    unless $game_system.CATERPILLAR && actor != nil
      @character_name, @character_hue = '', 0
      return
    end
    @character_name = actor.character_name
    @character_hue = actor.character_hue
    if actor.dead? && DEAD_DISPLAY == 1
      @opacity, @blend_type = Graphics.frame_count % 2 * 255, 1
    else
      @opacity, @blend_type = 255, 0
    end
  end
  
  def actor
    case DEAD_DISPLAY
    when 0
      return $game_party.actors[@index]
    when 1
      alive = 0
      $game_party.actors.each {|actor| alive += 1 unless actor.dead?}
      if @index >= alive
        ind = @index - alive
        $game_party.actors.each_index {|i|
            ind -= 1 if $game_party.actors[i].dead?
            return $game_party.actors[i] if ind < 0}
      else
        ind = @index
        $game_party.actors.each_index {|i|
            ind -= 1 unless $game_party.actors[i].dead?
            return $game_party.actors[i] if ind < 0}
      end
    when 2
      ind = @index
      $game_party.actors.each_index {|i|
          ind -= 1 unless $game_party.actors[i].dead?
          return $game_party.actors[i] if ind < 0}
    end
    return nil
  end
  
  def update
    refresh
    @transparent = $game_player.transparent
    @move_speed = $game_player.move_speed
    unless moving? || @buffer.size <= @index && @force_movement <= 0
      if @buffer.size > 0
        move = @buffer.shift
        if move.is_a?(Array)
          jump(move[0], move[1])
        else
          case move
          when 1 then move_lower_left
          when 2 then move_down(true)
          when 3 then move_lower_right
          when 4 then move_left(true)
          when 6 then move_right(true)
          when 7 then move_upper_left
          when 8 then move_up(true)
          when 9 then move_upper_right
          end
        end
        @force_movement -= 1 if @force_movement > 0
      end
    end
    super
    @step_anime = (ANIMATED_IDS.include?($game_party.actors[@index].id))
  end
  
  def update_buffer(next_move)
    if next_move == nil
      @force_movement = @buffer.size
    else
      @buffer.push(next_move)
      @force_movement = @buffer.size if next_move.is_a?(Array)
    end
  end
  
  def check_event_trigger_touch(x, y) # don't remove this, it's necessary...
  end
  
  def screen_z(height = 0)
    return (super - @index)
  end
  
end

#==============================================================================
# Spriteset_Map
#==============================================================================

class Spriteset_Map
  
  alias init_caterpillar_later initialize
  def initialize
    init_caterpillar_later
    return if $BlizzABS && BlizzABS::VERSION >= 1.001
    $game_player.members.each {|member|
        sprite = Sprite_Character.new(@viewport1, member)
        sprite.update
        @character_sprites.push(sprite)}
  end
  
end

#==============================================================================
# Scene_Map
#==============================================================================

class Scene_Map
  
  alias transfer_player_caterpillar_later transfer_player
  def transfer_player
    transfer_player_caterpillar_later
    return if $BlizzABS
    case $game_temp.player_new_direction
    when 2 then $game_player.members.each {|member| member.turn_down}
    when 4 then $game_player.members.each {|member| member.turn_left}
    when 6 then $game_player.members.each {|member| member.turn_right}
    when 8 then $game_player.members.each {|member| member.turn_up}
    end
  end
  
end
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top