Tsukihime 1,489 Posted October 5, 2012 (edited) Effect: Steal Drops -Tsukihime This script allows you to add a "Steal Drop" effect to your skill. It allows you a chance to steal a drop from the enemy. You can also setup the steal rates for each drop. Usage Tag your item/skill with <eff: steal_drops> Then tag your enemies to adjust their steal rates for each drop <steal: index prob> <steal: 1 0.02> # first drop item steal rate at 2% <steal: 2 0.25> # second drop item steal rate at 25% If you don't specify a steal rate then it can't be stolen. Download Script: Download here Required: Effect Manager Edited March 10, 2016 by Tsukihime 1 Share this post Link to post Share on other sites
Ravenith 5 Posted October 5, 2012 I can't wait to vote you up for the user awards. Share this post Link to post Share on other sites
Shadowmaster9000 57 Posted October 19, 2012 (edited) Would it be possible to add an option of preventing the enemy from dropping the same item you have just stolen from them? I tried adding it in myself, but it gets rid of the drop for all enemies that have the same id, even if you didn't steal that item from them. Edit: Okay nevermind I got it working now. It was much simpler than I expected. Edited October 19, 2012 by Shadowmaster9000 Share this post Link to post Share on other sites
Tsukihime 1,489 Posted October 19, 2012 Ya it is fairly trivial. Like setting a flag upon stealing or something simple. How did you implement it? Did you overwrite the make_drops method in Game_Enemy? I didn't implement it because I was planning on requiring this script for that functionality http://forums.rpgmakerweb.com/index.php?/topic/5516-drop-conditions/ Share this post Link to post Share on other sites
Shadowmaster9000 57 Posted October 19, 2012 #-------------------------------------------------------------------------- # * Create Array of Dropped Items #-------------------------------------------------------------------------- def make_drop_items @available_drops.inject([]) do |r, di| if di.kind > 0 && rand * di.denominator < drop_item_rate r.push(item_object(di.kind, di.data_id)) else r end end end I just replaced enemy.drop_items.inject with @available_drops.inject. Share this post Link to post Share on other sites
Lionheart 2 Posted November 30, 2012 To me it does not work, use the skill but nothing happens! Maybe I did something wrong! These are the settings: On skill set I: <eff: steal_drop> And the enemy <steal: 2 0.100> Share this post Link to post Share on other sites
Tsukihime 1,489 Posted November 30, 2012 Does your effect manager work? Share this post Link to post Share on other sites
Lionheart 2 Posted November 30, 2012 Does your effect manager work? 2.5 Share this post Link to post Share on other sites
Shadowmaster9000 57 Posted November 30, 2012 Try <eff: steal_drops> instead of <eff: steal_drop>. Share this post Link to post Share on other sites
Tsukihime 1,489 Posted November 30, 2012 (edited) Oh, it was an error in the instructions. Sorry didn't notice. You tag the skill with <eff: steal_drops> To designate it as a steal skill. Edited November 30, 2012 by Tsukihime Share this post Link to post Share on other sites
Lionheart 2 Posted December 1, 2012 To make "Mahager Effect" compatible with "Scene materia" , I suggerist Effects of sotituire with effects2 .... And for now, this script does not work. In this case you have some advice for me? Share this post Link to post Share on other sites
ravrax 0 Posted March 15, 2013 Nice script! Is there any chance of this script having a "luk" based steal rate? Share this post Link to post Share on other sites
guitalex 0 Posted January 2, 2014 This is a life saver. I am very very new to this, but I was wondering how easy it would be to set up the steal effect so that an item in the database based on its index as opposed to the drops themselves, while also limiting the steals to once per battle AND once forever. I plan on having key items that need to be stolen from enemies for sidequests and it would help immensely. (Of course it would be easier to just have the enemy also drop the item, but I only want one of those items in existence ever, so maybe this is the better way to do it.) Share this post Link to post Share on other sites
Tsukihime 1,489 Posted January 5, 2014 (edited) I have not thought about how much effort it would take to remove a drop from an enemy permanently once it has been stolen already. I doubt using an actually database ID would make any difference, because the problem you're dealing with is how to prevent the item from being stolen multiple times. Edited January 5, 2014 by Tsukihime Share this post Link to post Share on other sites
Zack Hunter 0 Posted May 20, 2016 Hi Hime nice script you got here, I was just wondering how am I to set the formula is it something like that <steal: 1 ((a.agi - b.agi) / 100)> a.agi referring to the actor's agi and b.agi referring to enemy's agi Share this post Link to post Share on other sites