Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #-------------------------------------------------------------------------------
- # Synthesis Shop v1.1
- # by: Cylindrical
- #
- # ~~~~~ EPIC ~~~~~
- # ~~~~~ AWESOME ~~~~~
- # ~~~~~ BEASTING ~~~~~
- # ~~~~~ HUGE ~~~~~
- # ~~~~~ ALOT OF STOOF ~~~~~
- # ~~~~~ REMAKE by RjayCoelho ~~~~~
- #
- # May 25, 2010
- #-------------------------------------------------------------------------------
- # What is it?
- # This script copies Final Fantasy IX's Synth Shops where the player is
- # allowed to create new items using different materials.
- #
- # How to use
- # Place above Main. Before you open the synthesize shop, you need to define
- # the shop items. In the SETUP part, you can create arrays to add in your shop.
- # This is the format:
- #
- # Result Item Requirement 1 Requirement 2
- # NAME = [ ["<type>", <id>], ["<type>", <id>], ["<type>", <id>] ]
- #
- # Where: NAME is what you call it. Should be relevant but unique. Must be ALLCAPS
- # <type> is either "WEAPON", "ARMOR", or "ITEM"
- # <id> is the item ID
- # If you would like to use more than two requirements add another requirement
- # as so: (You may have up to 4)
- #
- # Result Item Requirement 1 Requirement 2 Requirement 3
- # NAME = [ ["<type>", <id>], ["<type>", <id>], ["<type>", <id>], ["<type>", <id>] ]
- #
- # You can also add activate a SWITCH via Requirement by typing
- #
- # Result Item Requirement 1 Requirement 2 Requirement 3
- # NAME = [ ["SWITCH", <switchid>], ["<type>", <id>], ["<type>", <id>], ["<type>", <id>] ]
- #
- # WARNING: You must have an item with the cooresponding switch ID or the game
- # will crash upon opening the shop.
- #
- # Then, using $synth_items, put in the items you want to synth. It can be as
- # many as you like.
- #
- # $synth_items = [NAME1, NAME2, ... , NAMEn]
- #
- # To open the shop window, use the 'Script' command in an event and put it
- # this piece of code:
- #
- # $scene = Scene_SynthShop.new
- #
- # Notes
- # * Make sure you fill in $synth_items first before opening the shop.
- # * You MUST GIVE ME CREDIT if you used this in your game.
- # * Free to use for commercial games, as long as you give credit to me.
- # * This is my first script so don't expect too much glamore. I still
- # consider myself a beginner.
- #-------------------------------------------------------------------------------
- # Special Thanks
- # Raukue for his KGCYanflyPLUS Base Demo
- # RPGI for his help with Window_SynthReq and check_required_item
- #-------------------------------------------------------------------------------
- #-------------------------------------------------------------------------------
- # SETUP START
- #-------------------------------------------------------------------------------
- # Welcome Message
- SYNTH_WELCOME = "What would you like to create?"
- # Replace 'Synthesize' with this.
- SYNTH_COMMAND = "Create"
- # Replace 'Requirements' with this.
- SYNTH_REQUIREMENTS = "Requirements"
- # Synth-able Items Database - Follow the format. Spaces doesn't really matter.
- # The numbers here MUST exist in the database.
- SWITCH_TEST = [ ["SWITCH", 100], ["ITEM", 22], ["ITEM", 22] ]
- COPPER_BAR = [ ["ITEM", 34], ["ITEM", 22], ["ITEM", 22] ]
- IRON_BAR = [ ["ITEM", 35], ["ITEM", 23], ["ITEM", 23] ]
- STEEL_BAR = [ ["ITEM", 36], ["ITEM", 23], ["ITEM", 24] ]
- MITHRIL_BAR = [ ["ITEM", 37], ["ITEM", 25], ["ITEM", 26] ]
- HARD_MITHRIL = [ ["ITEM", 38], ["ITEM", 26], ["ITEM", 26] ]
- MONOGRINDER = [ ["ITEM", 39], ["ITEM", 26], ["ITEM", 27] ]
- DIGRINDER = [ ["ITEM", 40], ["ITEM", 27], ["ITEM", 28] ]
- TRIGRINDER = [ ["ITEM", 41], ["ITEM", 28], ["ITEM", 28] ]
- QUADGRINDER = [ ["ITEM", 42], ["ITEM", 28], ["ITEM", 29] ]
- PHOTON_CRYSTAL = [ ["ITEM", 43], ["ITEM", 29], ["ITEM", 29] ]
- SARDINE = [ ["ITEM", 56], ["ITEM", 67], ["ITEM", 45] ]
- HERRING = [ ["ITEM", 57], ["ITEM", 68], ["ITEM", 46] ]
- SQUID = [ ["ITEM", 58], ["ITEM", 69], ["ITEM", 47] ]
- TROUT = [ ["ITEM", 59], ["ITEM", 70], ["ITEM", 48] ]
- SALMON = [ ["ITEM", 60], ["ITEM", 71], ["ITEM", 49] ]
- TUNA = [ ["ITEM", 61], ["ITEM", 72], ["ITEM", 50] ]
- SWORDFISH = [ ["ITEM", 62], ["ITEM", 73], ["ITEM", 51] ]
- LOBSTER = [ ["ITEM", 63], ["ITEM", 74], ["ITEM", 52] ]
- SHARK = [ ["ITEM", 64], ["ITEM", 75], ["ITEM", 53] ]
- WHITESHARK = [ ["ITEM", 65], ["ITEM", 76], ["ITEM", 54] ]
- LEATHER_SHIELD_1 = [ ["ARMOR", 32], ["ARMOR", 01], ["ITEM", 34] ]
- LEATHER_SHIELD_2 = [ ["ARMOR", 33], ["ARMOR", 32], ["ITEM", 35] ]
- LEATHER_SHIELD_3 = [ ["ARMOR", 34], ["ARMOR", 33], ["ITEM", 36] ]
- LEATHER_SHIELD_4 = [ ["ARMOR", 35], ["ARMOR", 34], ["ITEM", 37] ]
- LEATHER_SHIELD_5 = [ ["ARMOR", 36], ["ARMOR", 35], ["ITEM", 38] ]
- LEATHER_SHIELD_6 = [ ["ARMOR", 37], ["ARMOR", 36], ["ITEM", 39] ]
- LEATHER_SHIELD_7 = [ ["ARMOR", 38], ["ARMOR", 37], ["ITEM", 40] ]
- LEATHER_SHIELD_8 = [ ["ARMOR", 39], ["ARMOR", 38], ["ITEM", 41] ]
- LEATHER_SHIELD_9 = [ ["ARMOR", 40], ["ARMOR", 39], ["ITEM", 42] ]
- LEATHER_SHIELD_S = [ ["ARMOR", 41], ["ARMOR", 40], ["ITEM", 43] ]
- FRAME_SHIELD_1 = [ ["ARMOR", 43], ["ARMOR", 3], ["ITEM", 34] ]
- FRAME_SHIELD_2 = [ ["ARMOR", 44], ["ARMOR", 43], ["ITEM", 35] ]
- FRAME_SHIELD_3 = [ ["ARMOR", 45], ["ARMOR", 44], ["ITEM", 36] ]
- FRAME_SHIELD_4 = [ ["ARMOR", 46], ["ARMOR", 45], ["ITEM", 37] ]
- FRAME_SHIELD_5 = [ ["ARMOR", 47], ["ARMOR", 46], ["ITEM", 38] ]
- FRAME_SHIELD_6 = [ ["ARMOR", 48], ["ARMOR", 47], ["ITEM", 39] ]
- FRAME_SHIELD_7 = [ ["ARMOR", 49], ["ARMOR", 48], ["ITEM", 40] ]
- FRAME_SHIELD_8 = [ ["ARMOR", 50], ["ARMOR", 49], ["ITEM", 41] ]
- FRAME_SHIELD_9 = [ ["ARMOR", 51], ["ARMOR", 50], ["ITEM", 42] ]
- FRAME_SHIELD_S = [ ["ARMOR", 52], ["ARMOR", 51], ["ITEM", 43] ]
- CHAIN_COIF_1 = [ ["ARMOR", 54], ["ARMOR", 8], ["ITEM", 34] ]
- CHAIN_COIF_2 = [ ["ARMOR", 55], ["ARMOR", 54], ["ITEM", 35] ]
- CHAIN_COIF_3 = [ ["ARMOR", 56], ["ARMOR", 55], ["ITEM", 36] ]
- CHAIN_COIF_4 = [ ["ARMOR", 57], ["ARMOR", 56], ["ITEM", 37] ]
- CHAIN_COIF_5 = [ ["ARMOR", 58], ["ARMOR", 57], ["ITEM", 38] ]
- CHAIN_COIF_6 = [ ["ARMOR", 59], ["ARMOR", 58], ["ITEM", 39] ]
- CHAIN_COIF_7 = [ ["ARMOR", 60], ["ARMOR", 59], ["ITEM", 40] ]
- CHAIN_COIF_8 = [ ["ARMOR", 61], ["ARMOR", 60], ["ITEM", 41] ]
- CHAIN_COIF_9 = [ ["ARMOR", 62], ["ARMOR", 61], ["ITEM", 42] ]
- CHAIN_COIF_S = [ ["ARMOR", 63], ["ARMOR", 62], ["ITEM", 43] ]
- HAT_1 = [ ["ARMOR", 109], ["ARMOR", 7], ["ITEM", 34] ]
- HAT_2 = [ ["ARMOR", 110], ["ARMOR", 109], ["ITEM", 35] ]
- HAT_3 = [ ["ARMOR", 111], ["ARMOR", 110], ["ITEM", 36] ]
- HAT_4 = [ ["ARMOR", 112], ["ARMOR", 111], ["ITEM", 37] ]
- HAT_5 = [ ["ARMOR", 113], ["ARMOR", 112], ["ITEM", 38] ]
- HAT_6 = [ ["ARMOR", 114], ["ARMOR", 113], ["ITEM", 39] ]
- HAT_7 = [ ["ARMOR", 115], ["ARMOR", 114], ["ITEM", 40] ]
- HAT_8 = [ ["ARMOR", 116], ["ARMOR", 115], ["ITEM", 41] ]
- HAT_9 = [ ["ARMOR", 117], ["ARMOR", 116], ["ITEM", 42] ]
- HAT_S = [ ["ARMOR", 118], ["ARMOR", 117], ["ITEM", 43] ]
- METAL_HELM_1 = [ ["ARMOR", 65], ["ARMOR", 9], ["ITEM", 34] ]
- METAL_HELM_2 = [ ["ARMOR", 66], ["ARMOR", 65], ["ITEM", 35] ]
- METAL_HELM_3 = [ ["ARMOR", 67], ["ARMOR", 66], ["ITEM", 36] ]
- METAL_HELM_4 = [ ["ARMOR", 68], ["ARMOR", 67], ["ITEM", 37] ]
- METAL_HELM_5 = [ ["ARMOR", 69], ["ARMOR", 68], ["ITEM", 38] ]
- METAL_HELM_6 = [ ["ARMOR", 70], ["ARMOR", 69], ["ITEM", 39] ]
- METAL_HELM_7 = [ ["ARMOR", 71], ["ARMOR", 70], ["ITEM", 40] ]
- METAL_HELM_8 = [ ["ARMOR", 72], ["ARMOR", 71], ["ITEM", 41] ]
- METAL_HELM_9 = [ ["ARMOR", 73], ["ARMOR", 72], ["ITEM", 42] ]
- METAL_HELM_S = [ ["ARMOR", 74], ["ARMOR", 73], ["ITEM", 43] ]
- ROBE_1 = [ ["ARMOR", 98], ["ARMOR", 13], ["ITEM", 34] ]
- ROBE_2 = [ ["ARMOR", 99], ["ARMOR", 98], ["ITEM", 35] ]
- ROBE_3 = [ ["ARMOR", 100], ["ARMOR", 99], ["ITEM", 36] ]
- ROBE_4 = [ ["ARMOR", 101], ["ARMOR", 100], ["ITEM", 37] ]
- ROBE_5 = [ ["ARMOR", 102], ["ARMOR", 101], ["ITEM", 38] ]
- ROBE_6 = [ ["ARMOR", 103], ["ARMOR", 102], ["ITEM", 39] ]
- ROBE_7 = [ ["ARMOR", 104], ["ARMOR", 103], ["ITEM", 40] ]
- ROBE_8 = [ ["ARMOR", 105], ["ARMOR", 104], ["ITEM", 41] ]
- ROBE_9 = [ ["ARMOR", 106], ["ARMOR", 105], ["ITEM", 42] ]
- ROBE_S = [ ["ARMOR", 107], ["ARMOR", 106], ["ITEM", 43] ]
- LEATHER_PLATE_1 = [ ["ARMOR", 87], ["ARMOR", 14], ["ITEM", 34] ]
- LEATHER_PLATE_2 = [ ["ARMOR", 88], ["ARMOR", 87], ["ITEM", 35] ]
- LEATHER_PLATE_3 = [ ["ARMOR", 89], ["ARMOR", 88], ["ITEM", 36] ]
- LEATHER_PLATE_4 = [ ["ARMOR", 90], ["ARMOR", 89], ["ITEM", 37] ]
- LEATHER_PLATE_5 = [ ["ARMOR", 91], ["ARMOR", 90], ["ITEM", 38] ]
- LEATHER_PLATE_6 = [ ["ARMOR", 92], ["ARMOR", 91], ["ITEM", 39] ]
- LEATHER_PLATE_7 = [ ["ARMOR", 93], ["ARMOR", 92], ["ITEM", 40] ]
- LEATHER_PLATE_8 = [ ["ARMOR", 94], ["ARMOR", 93], ["ITEM", 41] ]
- LEATHER_PLATE_9 = [ ["ARMOR", 95], ["ARMOR", 94], ["ITEM", 42] ]
- LEATHER_PLATE_S = [ ["ARMOR", 96], ["ARMOR", 95], ["ITEM", 43] ]
- RING_MAIL_1 = [ ["ARMOR", 76], ["ARMOR", 15], ["ITEM", 34] ]
- RING_MAIL_2 = [ ["ARMOR", 77], ["ARMOR", 76], ["ITEM", 35] ]
- RING_MAIL_3 = [ ["ARMOR", 78], ["ARMOR", 77], ["ITEM", 36] ]
- RING_MAIL_4 = [ ["ARMOR", 79], ["ARMOR", 78], ["ITEM", 37] ]
- RING_MAIL_5 = [ ["ARMOR", 80], ["ARMOR", 79], ["ITEM", 38] ]
- RING_MAIL_6 = [ ["ARMOR", 81], ["ARMOR", 80], ["ITEM", 39] ]
- RING_MAIL_7 = [ ["ARMOR", 82], ["ARMOR", 81], ["ITEM", 40] ]
- RING_MAIL_8 = [ ["ARMOR", 83], ["ARMOR", 82], ["ITEM", 41] ]
- RING_MAIL_9 = [ ["ARMOR", 84], ["ARMOR", 83], ["ITEM", 42] ]
- RING_MAIL_S = [ ["ARMOR", 85], ["ARMOR", 84], ["ITEM", 43] ]
- WAR_BRACE_1 = [ ["ARMOR", 120], ["ARMOR", 25], ["ITEM", 34] ]
- WAR_BRACE_2 = [ ["ARMOR", 121], ["ARMOR", 120], ["ITEM", 35] ]
- WAR_BRACE_3 = [ ["ARMOR", 122], ["ARMOR", 121], ["ITEM", 36] ]
- WAR_BRACE_4 = [ ["ARMOR", 123], ["ARMOR", 122], ["ITEM", 37] ]
- WAR_BRACE_5 = [ ["ARMOR", 124], ["ARMOR", 123], ["ITEM", 38] ]
- WAR_BRACE_6 = [ ["ARMOR", 125], ["ARMOR", 124], ["ITEM", 39] ]
- WAR_BRACE_7 = [ ["ARMOR", 126], ["ARMOR", 125], ["ITEM", 40] ]
- WAR_BRACE_8 = [ ["ARMOR", 127], ["ARMOR", 126], ["ITEM", 41] ]
- WAR_BRACE_9 = [ ["ARMOR", 128], ["ARMOR", 127], ["ITEM", 42] ]
- WAR_BRACE_S = [ ["ARMOR", 129], ["ARMOR", 128], ["ITEM", 43] ]
- MAG_BRACE_1 = [ ["ARMOR", 131], ["ARMOR", 26], ["ITEM", 34] ]
- MAG_BRACE_2 = [ ["ARMOR", 132], ["ARMOR", 131], ["ITEM", 35] ]
- MAG_BRACE_3 = [ ["ARMOR", 133], ["ARMOR", 132], ["ITEM", 36] ]
- MAG_BRACE_4 = [ ["ARMOR", 134], ["ARMOR", 133], ["ITEM", 37] ]
- MAG_BRACE_5 = [ ["ARMOR", 135], ["ARMOR", 134], ["ITEM", 38] ]
- MAG_BRACE_6 = [ ["ARMOR", 136], ["ARMOR", 135], ["ITEM", 39] ]
- MAG_BRACE_7 = [ ["ARMOR", 137], ["ARMOR", 136], ["ITEM", 40] ]
- MAG_BRACE_8 = [ ["ARMOR", 138], ["ARMOR", 137], ["ITEM", 41] ]
- MAG_BRACE_9 = [ ["ARMOR", 139], ["ARMOR", 138], ["ITEM", 42] ]
- MAG_BRACE_S = [ ["ARMOR", 140], ["ARMOR", 139], ["ITEM", 43] ]
- FAIRY_SHOES_1 = [ ["ARMOR", 142], ["ARMOR", 28], ["ITEM", 34] ]
- FAIRY_SHOES_2 = [ ["ARMOR", 143], ["ARMOR", 142], ["ITEM", 35] ]
- FAIRY_SHOES_3 = [ ["ARMOR", 144], ["ARMOR", 143], ["ITEM", 36] ]
- FAIRY_SHOES_4 = [ ["ARMOR", 145], ["ARMOR", 144], ["ITEM", 37] ]
- FAIRY_SHOES_5 = [ ["ARMOR", 146], ["ARMOR", 145], ["ITEM", 38] ]
- FAIRY_SHOES_6 = [ ["ARMOR", 147], ["ARMOR", 146], ["ITEM", 39] ]
- FAIRY_SHOES_7 = [ ["ARMOR", 148], ["ARMOR", 147], ["ITEM", 40] ]
- FAIRY_SHOES_8 = [ ["ARMOR", 149], ["ARMOR", 148], ["ITEM", 41] ]
- FAIRY_SHOES_9 = [ ["ARMOR", 150], ["ARMOR", 149], ["ITEM", 42] ]
- FAIRY_SHOES_S = [ ["ARMOR", 151], ["ARMOR", 150], ["ITEM", 43] ]
- GAUNTLETS_1 = [ ["ARMOR", 154], ["ARMOR", 153], ["ITEM", 34] ]
- GAUNTLETS_2 = [ ["ARMOR", 155], ["ARMOR", 154], ["ITEM", 35] ]
- GAUNTLETS_3 = [ ["ARMOR", 156], ["ARMOR", 155], ["ITEM", 36] ]
- GAUNTLETS_4 = [ ["ARMOR", 157], ["ARMOR", 156], ["ITEM", 37] ]
- GAUNTLETS_5 = [ ["ARMOR", 158], ["ARMOR", 157], ["ITEM", 38] ]
- GAUNTLETS_6 = [ ["ARMOR", 159], ["ARMOR", 158], ["ITEM", 39] ]
- GAUNTLETS_7 = [ ["ARMOR", 160], ["ARMOR", 159], ["ITEM", 40] ]
- GAUNTLETS_8 = [ ["ARMOR", 161], ["ARMOR", 160], ["ITEM", 41] ]
- GAUNTLETS_9 = [ ["ARMOR", 162], ["ARMOR", 161], ["ITEM", 42] ]
- GAUNTLETS_S = [ ["ARMOR", 163], ["ARMOR", 162], ["ITEM", 43] ]
- LONG_SWORD_1 = [ ["WEAPON", 43], ["WEAPON", 2], ["ITEM", 34] ]
- LONG_SWORD_2 = [ ["WEAPON", 44], ["WEAPON", 43], ["ITEM", 35] ]
- LONG_SWORD_3 = [ ["WEAPON", 45], ["WEAPON", 44], ["ITEM", 36] ]
- LONG_SWORD_4 = [ ["WEAPON", 46], ["WEAPON", 45], ["ITEM", 37] ]
- LONG_SWORD_5 = [ ["WEAPON", 47], ["WEAPON", 46], ["ITEM", 38] ]
- LONG_SWORD_6 = [ ["WEAPON", 48], ["WEAPON", 47], ["ITEM", 39] ]
- LONG_SWORD_7 = [ ["WEAPON", 49], ["WEAPON", 48], ["ITEM", 40] ]
- LONG_SWORD_8 = [ ["WEAPON", 50], ["WEAPON", 49], ["ITEM", 41] ]
- LONG_SWORD_9 = [ ["WEAPON", 51], ["WEAPON", 50], ["ITEM", 42] ]
- LONG_SWORD_S = [ ["WEAPON", 52], ["WEAPON", 51], ["ITEM", 43] ]
- LONG_SPEAR_1 = [ ["WEAPON", 54], ["WEAPON", 3], ["ITEM", 34] ]
- LONG_SPEAR_2 = [ ["WEAPON", 55], ["WEAPON", 54], ["ITEM", 35] ]
- LONG_SPEAR_3 = [ ["WEAPON", 56], ["WEAPON", 55], ["ITEM", 36] ]
- LONG_SPEAR_4 = [ ["WEAPON", 57], ["WEAPON", 56], ["ITEM", 37] ]
- LONG_SPEAR_5 = [ ["WEAPON", 58], ["WEAPON", 57], ["ITEM", 38] ]
- LONG_SPEAR_6 = [ ["WEAPON", 59], ["WEAPON", 58], ["ITEM", 39] ]
- LONG_SPEAR_7 = [ ["WEAPON", 60], ["WEAPON", 59], ["ITEM", 40] ]
- LONG_SPEAR_8 = [ ["WEAPON", 61], ["WEAPON", 60], ["ITEM", 41] ]
- LONG_SPEAR_9 = [ ["WEAPON", 62], ["WEAPON", 61], ["ITEM", 42] ]
- LONG_SPEAR_S = [ ["WEAPON", 63], ["WEAPON", 62], ["ITEM", 43] ]
- LONG_BOW_1 = [ ["WEAPON", 65], ["WEAPON", 4], ["ITEM", 34] ]
- LONG_BOW_2 = [ ["WEAPON", 66], ["WEAPON", 65], ["ITEM", 35] ]
- LONG_BOW_3 = [ ["WEAPON", 67], ["WEAPON", 66], ["ITEM", 36] ]
- LONG_BOW_4 = [ ["WEAPON", 68], ["WEAPON", 67], ["ITEM", 37] ]
- LONG_BOW_5 = [ ["WEAPON", 69], ["WEAPON", 68], ["ITEM", 38] ]
- LONG_BOW_6 = [ ["WEAPON", 70], ["WEAPON", 69], ["ITEM", 39] ]
- LONG_BOW_7 = [ ["WEAPON", 71], ["WEAPON", 70], ["ITEM", 40] ]
- LONG_BOW_8 = [ ["WEAPON", 72], ["WEAPON", 71], ["ITEM", 41] ]
- LONG_BOW_9 = [ ["WEAPON", 73], ["WEAPON", 72], ["ITEM", 42] ]
- LONG_BOW_S = [ ["WEAPON", 74], ["WEAPON", 73], ["ITEM", 43] ]
- CHAIN_WHIP_1 = [ ["WEAPON", 76], ["WEAPON", 5], ["ITEM", 34] ]
- CHAIN_WHIP_2 = [ ["WEAPON", 77], ["WEAPON", 76], ["ITEM", 35] ]
- CHAIN_WHIP_3 = [ ["WEAPON", 78], ["WEAPON", 77], ["ITEM", 36] ]
- CHAIN_WHIP_4 = [ ["WEAPON", 79], ["WEAPON", 78], ["ITEM", 37] ]
- CHAIN_WHIP_5 = [ ["WEAPON", 80], ["WEAPON", 79], ["ITEM", 38] ]
- CHAIN_WHIP_6 = [ ["WEAPON", 81], ["WEAPON", 80], ["ITEM", 39] ]
- CHAIN_WHIP_7 = [ ["WEAPON", 82], ["WEAPON", 81], ["ITEM", 40] ]
- CHAIN_WHIP_8 = [ ["WEAPON", 83], ["WEAPON", 82], ["ITEM", 41] ]
- CHAIN_WHIP_9 = [ ["WEAPON", 84], ["WEAPON", 83], ["ITEM", 42] ]
- CHAIN_WHIP_S = [ ["WEAPON", 85], ["WEAPON", 84], ["ITEM", 43] ]
- BROADSWORD_1 = [ ["WEAPON", 87], ["WEAPON", 6], ["ITEM", 34] ]
- BROADSWORD_2 = [ ["WEAPON", 88], ["WEAPON", 87], ["ITEM", 35] ]
- BROADSWORD_3 = [ ["WEAPON", 89], ["WEAPON", 88], ["ITEM", 36] ]
- BROADSWORD_4 = [ ["WEAPON", 90], ["WEAPON", 89], ["ITEM", 37] ]
- BROADSWORD_5 = [ ["WEAPON", 91], ["WEAPON", 90], ["ITEM", 38] ]
- BROADSWORD_6 = [ ["WEAPON", 92], ["WEAPON", 91], ["ITEM", 39] ]
- BROADSWORD_7 = [ ["WEAPON", 93], ["WEAPON", 92], ["ITEM", 40] ]
- BROADSWORD_8 = [ ["WEAPON", 94], ["WEAPON", 93], ["ITEM", 41] ]
- BROADSWORD_9 = [ ["WEAPON", 95], ["WEAPON", 94], ["ITEM", 42] ]
- BROADSWORD_S = [ ["WEAPON", 96], ["WEAPON", 95], ["ITEM", 43] ]
- CLAW_1 = [ ["WEAPON", 98], ["WEAPON", 7], ["ITEM", 34] ]
- CLAW_2 = [ ["WEAPON", 99], ["WEAPON", 98], ["ITEM", 35] ]
- CLAW_3 = [ ["WEAPON", 100], ["WEAPON", 99], ["ITEM", 36] ]
- CLAW_4 = [ ["WEAPON", 101], ["WEAPON", 100], ["ITEM", 37] ]
- CLAW_5 = [ ["WEAPON", 102], ["WEAPON", 101], ["ITEM", 38] ]
- CLAW_6 = [ ["WEAPON", 103], ["WEAPON", 102], ["ITEM", 39] ]
- CLAW_7 = [ ["WEAPON", 104], ["WEAPON", 103], ["ITEM", 40] ]
- CLAW_8 = [ ["WEAPON", 105], ["WEAPON", 104], ["ITEM", 41] ]
- CLAW_9 = [ ["WEAPON", 106], ["WEAPON", 105], ["ITEM", 42] ]
- CLAW_S = [ ["WEAPON", 107], ["WEAPON", 106], ["ITEM", 43] ]
- MACE_1 = [ ["WEAPON", 32], ["WEAPON", 8], ["ITEM", 34] ]
- MACE_2 = [ ["WEAPON", 33], ["WEAPON", 32], ["ITEM", 35] ]
- MACE_3 = [ ["WEAPON", 34], ["WEAPON", 33], ["ITEM", 36] ]
- MACE_4 = [ ["WEAPON", 35], ["WEAPON", 34], ["ITEM", 37] ]
- MACE_5 = [ ["WEAPON", 36], ["WEAPON", 35], ["ITEM", 38] ]
- MACE_6 = [ ["WEAPON", 37], ["WEAPON", 36], ["ITEM", 39] ]
- MACE_7 = [ ["WEAPON", 38], ["WEAPON", 37], ["ITEM", 40] ]
- MACE_8 = [ ["WEAPON", 39], ["WEAPON", 38], ["ITEM", 41] ]
- MACE_9 = [ ["WEAPON", 40], ["WEAPON", 39], ["ITEM", 42] ]
- MACE_S = [ ["WEAPON", 41], ["WEAPON", 40], ["ITEM", 43] ]
- #-------------------------------------------------------------------------------
- # SETUP END - Do not touch anything beyond this point unless you know what you
- # are doing.
- #-------------------------------------------------------------------------------
- #===============================================================================
- # ** Scene_SynthShop
- #-------------------------------------------------------------------------------
- # This class performs the synthesis shop processing.
- #===============================================================================
- class Scene_SynthShop < Scene_Base
- #-----------------------------------------------------------------------------
- # * Start Processing
- #-----------------------------------------------------------------------------
- def start
- super
- @synth_items = []
- @item_index = 0
- @sold_item = nil
- @checking = []
- create_menu_background
- create_command_window
- @help_window = Window_Help.new
- @dummy_window = Window_Base.new(0, 112, 544, 304)
- @synth_window = Window_Synth.new(0, 112)
- @synth_window.active = false
- @synth_window.visible = false
- @status_window = Window_ShopStatus.new(304, 112)
- @status_window.visible = false
- @requirements_window = Window_SynthReq.new(0, 264, @item_index)
- @requirements_window.visible = false
- @synth_window.index = 0
- @help_window.set_text(SYNTH_WELCOME)
- end
- #-----------------------------------------------------------------------------
- # * Terminate Process
- #-----------------------------------------------------------------------------
- def terminate
- super
- dispose_menu_background
- dispose_command_window
- @help_window.dispose
- @dummy_window.dispose
- @synth_window.dispose
- @status_window.dispose
- @requirements_window.dispose
- end
- #-----------------------------------------------------------------------------
- # * Frame Update
- #-----------------------------------------------------------------------------
- def update
- super
- update_menu_background
- @help_window.update
- @command_window.update
- @dummy_window.update
- @synth_window.update
- @status_window.update
- @requirements_window.update(@item_index)
- if @command_window.active
- update_command_selection
- elsif @synth_window.active
- update_synth_selection
- end
- update_help
- end
- #-----------------------------------------------------------------------------
- # * Create Command Window
- #-----------------------------------------------------------------------------
- def create_command_window
- s1 = SYNTH_COMMAND
- s2 = Vocab::ShopCancel
- @command_window = Window_Command.new(544, [s1, s2], 3)
- @command_window.y = 56
- end
- #-----------------------------------------------------------------------------
- # * Dispose Command Window
- #-----------------------------------------------------------------------------
- def dispose_command_window
- @command_window.dispose
- end
- #-----------------------------------------------------------------------------
- # * Update Command Selection
- #-----------------------------------------------------------------------------
- def update_command_selection
- if Input.trigger?(Input::B)
- Sound.play_cancel
- $scene = Scene_Map.new
- elsif Input.trigger?(Input::C)
- case @command_window.index
- when 0 # Synth
- Sound.play_decision
- @command_window.active = false
- @dummy_window.visible = false
- @synth_window.active = true
- @synth_window.visible = true
- @synth_window.refresh
- @status_window.visible = true
- @requirements_window.visible = true
- @synth_window.index = 0
- when 1
- Sound.play_decision
- $scene = Scene_Map.new
- end
- end
- end
- #-----------------------------------------------------------------------------
- # * Update Synthesize Selection
- #-----------------------------------------------------------------------------
- def update_synth_selection
- @status_window.item = @synth_window.item
- @item = @synth_window.item
- update_help
- @item_index = @synth_window.index
- if Input.trigger?(Input::B)
- Sound.play_cancel
- @item = nil
- @command_window.active = true
- @dummy_window.visible = true
- @synth_window.active = false
- @synth_window.visible = false
- @status_window.visible = false
- @status_window.item = nil
- @help_window.set_text(SYNTH_WELCOME)
- @requirements_window.visible = false
- return
- end
- if Input.trigger?(Input::C)
- e = check_required_item(@synth_window.index)
- number = $game_party.item_number(@item)
- if @item == nil or number == 99 or !e
- Sound.play_buzzer
- else
- idx = @synth_window.index
- get_result_item(@synth_window.index)
- for i in 0...5
- if @checking[i] != nil
- $game_party.lose_item(@checking[i], 1)
- end
- end
- if @sold_item == "SWITCH"
- $game_switches[$synth_items[@synth_window.index][0][1]] = true
- else
- $game_party.gain_item(@sold_item, 1)
- end
- Sound.play_shop
- @status_window.refresh
- @synth_window.refresh
- @synth_window.index = idx
- end
- end
- end
- #-----------------------------------------------------------------------------
- # * Check Required Item
- # item_index : Index of item selected
- #-----------------------------------------------------------------------------
- def check_required_item(item_index)
- @checking.clear
- @index = item_index
- base = $synth_items[@index]
- for i in 1..5
- if base[i] != nil
- case base[i][0]
- when "ITEM"
- p = $data_items[base[i][1]]
- when "WEAPON"
- p = $data_weapons[base[i][1]]
- when "ARMOR"
- p = $data_armors[base[i][1]]
- end
- @checking.push(p)
- end
- end
- valid = true
- for i in 0...5
- if @checking[i] != nil
- amount = 0;
- for l in 0...5
- if @checking[i] == @checking[l]
- amount += 1;
- end
- end
- if $game_party.item_number(@checking[i]) < amount
- valid = false
- end
- end
- end
- return valid
- end
- #-----------------------------------------------------------------------------
- # * Get Resulting Item
- # i : Item index
- #-----------------------------------------------------------------------------
- def get_result_item(i)
- base = $synth_items[i]
- sub = base[0]
- case sub[0]
- when "ITEM"
- p = $data_items[sub[1]]
- when "WEAPON"
- p = $data_weapons[sub[1]]
- when "ARMOR"
- p = $data_armors[sub[1]]
- when "SWITCH"
- p = "SWITCH"
- end
- @sold_item = p
- end
- #-----------------------------------------------------------------------------
- # * Update Help Window
- #-----------------------------------------------------------------------------
- def update_help
- @help_window.set_text(@item == nil ? SYNTH_WELCOME : @item.description)
- end
- end
- #===============================================================================
- # ** Window_Synth
- #-------------------------------------------------------------------------------
- # This window shows the synth-able items defined by $synth_items.
- #===============================================================================
- class Window_Synth < Window_Selectable
- #-----------------------------------------------------------------------------
- # * Object Initialization
- #-----------------------------------------------------------------------------
- def initialize(x, y)
- super(x, y, 304, 152)
- @checking = []
- @synth_items = []
- refresh
- self.index = 0
- end
- #-----------------------------------------------------------------------------
- # * Get Item
- #-----------------------------------------------------------------------------
- def item
- return @data[self.index]
- end
- #-----------------------------------------------------------------------------
- # * Refresh
- #-----------------------------------------------------------------------------
- def refresh
- @data = []
- @synth_items.clear
- get_result_item
- for x in 0...@synth_items.size
- item = @synth_items[x]
- if item != nil
- @data.push(item)
- end
- end
- @item_max = @data.size
- create_contents
- for i in 0...@item_max
- e = check_required_item(i)
- draw_item(i, e)
- end
- end
- #-----------------------------------------------------------------------------
- # * Draw Item
- # index : Item number
- # valid : enabled or disabled?
- #-----------------------------------------------------------------------------
- def draw_item(index, valid)
- item = @data[index]
- number = $game_party.item_number(item)
- enabled = (number < 99 and valid)
- rect = item_rect(index)
- self.contents.clear_rect(rect)
- draw_item_name(item, rect.x, rect.y, enabled)
- rect.width -= 4
- end
- #-----------------------------------------------------------------------------
- # * Get Result Item
- #-----------------------------------------------------------------------------
- def get_result_item
- for i in 0...$synth_items.size
- base = $synth_items[i]
- sub = base[0]
- case sub[0]
- when "ITEM"
- p = $data_items[sub[1]]
- when "WEAPON"
- p = $data_weapons[sub[1]]
- when "ARMOR"
- p = $data_armors[sub[1]]
- when "SWITCH"
- p = $data_items[sub[1]]
- end
- @synth_items.push(p)
- end
- end
- #-----------------------------------------------------------------------------
- # * Check Required Item
- # item_index : Item number
- #-----------------------------------------------------------------------------
- def check_required_item(item_index)
- @checking.clear
- @index = item_index
- base = $synth_items[@index]
- for i in 1..5
- if base[i] != nil
- case base[i][0]
- when "ITEM"
- p = $data_items[base[i][1]]
- when "WEAPON"
- p = $data_weapons[base[i][1]]
- when "ARMOR"
- p = $data_armors[base[i][1]]
- end
- @checking.push(p)
- end
- end
- valid = true
- for i in 0...5
- if @checking[i] != nil
- amount = 0;
- for l in 0...5
- if @checking[i] == @checking[l]
- amount+= 1;
- end
- end
- if $game_party.item_number(@checking[i]) < amount
- valid = false
- end
- end
- end
- return valid
- end
- end
- #===============================================================================
- # ** Window_SynthReq
- #-------------------------------------------------------------------------------
- # This window shows the required items needed for synthesis.
- #===============================================================================
- class Window_SynthReq < Window_Base
- #-----------------------------------------------------------------------------
- # * Object Initialization
- #-----------------------------------------------------------------------------
- def initialize (x, y, index)
- super(x, y, 304, 152)
- @req = []
- refresh
- end
- #-----------------------------------------------------------------------------
- # * Frame Update
- # req_item_index : Required item number
- #-----------------------------------------------------------------------------
- def update(req_item_index)
- get_required_item(req_item_index)
- refresh
- end
- #-----------------------------------------------------------------------------
- # * Refresh
- #-----------------------------------------------------------------------------
- def refresh
- self.contents.clear
- self.contents.font.color = system_color
- self.contents.draw_text(4, 0, 200, WLH, SYNTH_REQUIREMENTS)
- if @req != nil
- self.contents.font.color = normal_color
- req_x = 0
- req_y = WLH
- for i in 0...5
- if @req[i] != nil
- amount = 0;
- for l in 0...i+1
- if @req[i] == @req[l]
- amount += 1
- end
- end
- enabled = $game_party.item_number(@req[i]) >= amount;
- draw_item_name(@req[i], req_x, req_y, enabled)
- req_y += WLH
- end
- end
- end
- end
- #-----------------------------------------------------------------------------
- # * Get Required Item
- # item_index : Item number
- #-----------------------------------------------------------------------------
- def get_required_item(item_index)
- @req.clear
- @index = item_index
- base = $synth_items[@index]
- for i in 1..5
- if base[i] != nil
- case base[i][0]
- when "ITEM"
- p = $data_items[base[i][1]]
- when "WEAPON"
- p = $data_weapons[base[i][1]]
- when "ARMOR"
- p = $data_armors[base[i][1]]
- end
- @req.push(p)
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement