| 
 KLoseEquip ACE - kyonides -  06-26-2023
 
 
 KLoseEquip ACE 
 by Kyonides 
 Introduction 
 Do you want to make your heroes lose their equipment just because you're an evil game developer? Now you can make your evil dreams come true!   You can make them lose SOME or ALL of their pieces of equipment! 
 The script had an entirely different name in the past, but I felt the new one is a lot more descriptive than Special Removal.   
 Warning! 
 The heroes will NEVER get their equipment back. It's gone. Like FOREVER! OK, I lied about losing them forever because there are other calls that will keep them stored in the Game Variable of your choice! The Script
 
 
 Code: # * KLoseEquip ACE * ##  Scripter : Kyonides Arkanthes
 #  2023-06-25
 
 # WARNING #
 
 # ALL of these Script Calls will cause an Irreversible Loss of Equipment!
 
 # actor will be treated by Game_Interpreter as a local variable.
 # This means that once the event finishes processing the Call Script command,
 # it will no longer exist.
 
 # Use @actor instead if you need it to exist outside the Call Script command.
 # Don't forget to add a Call Script command at the end of the process to clear
 # that variable by entering: @actor = nil
 
 # * Script Calls * #
 
 # - Step 1: Find an Actor, namely a Teammate
 #  actor = $game_party.member(ActorIndex)
 # OR #
 #  @actor = $game_party.member(ActorIndex)
 
 # - Step 2: Use Any of the following Calls
 
 # - Discard Equipment By Index (SlotID)
 #  actor.discard_equip_by_index(SlotID)
 
 # - Discard Many of Them By Indexes (SlotIDs)
 #  actor.discard_equip_by_indexes(SlotID1, etc.)
 
 # - Discard Equipment By Index (SlotID) and Store it in a Game Variable
 #  actor.store_discarded_equip_by_index(VarID, SlotID)
 
 # - Discard Many of Them By Indexes (SlotIDs)
 #  -> It will store them in consecutive Game Variables!
 #  actor.store_discarded_equip_by_indexes(VarID, SlotID1, etc.)
 
 class Game_Actor
 # Store Equipment ID or Name? :id or :name or :equip (the whole object)
 EQUIP_VAR_MODE = :id
 def discard_equip_by_index(index)
 this_equip = @equips[index]
 this_equip.object = nil if this_equip.object
 end
 
 def discard_equip_by_indexes(*slot_ids)
 slot_ids.each {|slot_id| discard_equip_by_index(slot_id) }
 end
 
 def equip_id_or_name(slot_id)
 equip = @equips[slot_id].object
 case EQUIP_VAR_MODE
 when :id
 equip ? equip.id : 0
 when :name
 equip ? equip.name : "?"
 when
 equip
 end
 end
 
 def store_discarded_equip_by_index(var_id, index)
 $game_variables[var_id] = equip_id_or_name(index)
 discard_equip_by_index(index)
 end
 
 def store_discarded_equip_by_indexes(var_id, *slot_ids)
 slot_ids.each do |slot_id|
 store_discarded_equip_by_index(var_id, slot_id)
 var_id += 1
 end
 end
 end
 
 class Game_Party
 def member(pos)
 $game_actors[@actors[pos]]
 end
 end
Terms & Conditions
 
 Free for use in any game.
   Due credit is mandatory.
 Don't piss me off!
   That's it!
 
 
 
 |