Jump to content
Sign in to follow this  

Golden Touch

Recommended Posts

Effect: Golden Touch



This effect allows you to convert items in your inventory into gold.

The amount of gold received is based on the price of the item times the multiplier of the effect.




Script: Download here

Required: Effect Manager




Tag your item/skill with


<eff: golden_touch x>
Where `x` is the gold multiplier




Here is a simple sequence of events


1. Selecting my skill




2. Choosing my item. Note the (somewhat) helpful help message




3. Gold!



Edited by Tsukihime
  • Like 1

Share this post

Link to post
Share on other sites

i made change to this script so it will not go to scene map/ battle and stay in the scene_golden touch for more touching :D.

for the gold display i change it to use yanfly gab window (since i'm too lazy to made my own window and i think yanfly's gab window is easy to use and compatible with almost everything)


i also change the enabled? function to disable item with 0 price. so if you have item that is not key item but don't want it converted to gold just set the price to 0. you could add your own condition as well in that function if you want.


here's the script if anyone interested

ps: require yanfly gab window script. just search it or open yanfly blog.






** Effect: Golden Touch

Author: Tsukihime

Date: Oct 30, 2012

edited by estriole

requirement : yanfly gab window script


** Change log

Nov 03, 2012

- modded by estriole


Oct 30, 2012

- initial release


** Terms of Use

* Free to use in commercial/non-commercial projects

* No real support. The script is provided as-is

* Will do bug fixes, but no compatibility patches

* Features may be requested but no guarantees, especially if it is non-trivial

* Preserve this header


** Required

-Effect Manager



** Description


This script adds a "golden touch" effect to your skill.

When this effect is activated, you can select an item from your inventory

and turn it into gold.


The amount of gold received is based on the price of the item times the

multiplier of the effect.


Tag your item/skills with

<eff: golden_touch x>


Where x is some float representing the gold multiplier



module Effects

module Golden_Touch

Effect_Manager.register_effect(:golden_touch, 1.6)




class RPG::UsableItem


# Check whether the operator is valid

def add_effect_golden_touch(code, data_id, args)

args[0] = args[0] ? args[0].to_f : 1

add_effect(code, data_id, args)




class Game_Battler < Game_BattlerBase


def item_effect_golden_touch_global(effect)


SceneManager.scene.set_effect_callback(:effect_golden_touch, effect)




# Just a custom window for my effect

class Window_ItemList_GoldenTouch < Window_ItemList


# everything should be available for almost everything

def enable?(item)

return false if item.is_a?(RPG::Item) && item.key_item?

return false if item.price == 0 #will not convert item with 0 price

return true



# Let's just show the price of the item

def update_help

return unless item

name = item.name

if item.price == 0 || item.key_item?

@help_window.set_text("<cannot changed>")


@help_window.set_text("%s\nValue: %d gold" %[name,item.price])





# A new scene for selecting an item for the effect

class Scene_GoldenTouch < Scene_Item


def create_item_window

wy = @category_window.y + @category_window.height

wh = Graphics.height - wy

@gab_window = Window_Gab.new

@gab_window.z = 200 #to put the order on top other window

@gab_window.y += 300 #move the gab window to bottom

@item_window = Window_ItemList_GoldenTouch.new(0, wy, Graphics.width, wh)

@item_window.viewport = @viewport

@item_window.help_window = @help_window

@item_window.set_handler(:ok, method(:on_item_ok))

@item_window.set_handler(:cancel, method(:on_item_cancel))

@category_window.item_window = @item_window



def on_item_ok

if @effect_callback







#back to window after converting one item



def effect_golden_touch

return if item.nil? #escape code when you convert the last of the item and click again

gained = item.price * @effect.value1[0]

name = item.name


$game_party.lose_item(item, 1)

text = sprintf("You touch %s and turn it to %d %s!",name,gained,Vocab.currency_unit)











edit: made it work for 2.0 above update (but not work in 1.6 because the changes made)

Edited by estriole

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

Top ArrowTop Arrow Highlighted