Note Editor Version: 1.0 Author: modern algebra Date: December 17, 2009 Version History
<Version 1.0> 12.17.2009 - Original Release Description
This script allows you to edit the note field of an item with script calls in-game. This is useful for editing features of other scripts that use the note field for adding features; this will allow you to add those features as part of the gameplay. The edits will only apply within the same game file, so the note field will be clean whenever the player starts a new game. It does not overwrite the regular note field - anything written in note field in the database will be permanent in every save file.
Features
Allows you to add things to the note field Useful when using scripts that use note fields, as you can add those features to things in-game Can delete any of the added things from the note field - cannot alter the database note fields Instructions
Paste this script into the editor below the default scripts but above Main
To use this script, simply use these codes in a call script:
add_note (type, id, note)
type : refers to the database tab you want to change the notes of. It is an integer, and broke down like this:
0 => Item
1 => Weapon
2 => Armor
3 => Skill
4 => Enemy
5 => State
id : the specific ID of the particular item, weapon, armor, skill, enemy, or state you want to edit the note field of.
note : this is the string that you want to add to the note field.
delete_note (type, id, note)
type : same as for add_note
id : same as for add_note
note : this is the note you want to delete. It can be either the string itself, or it can be an integer if (and onlt if) you know the order it was added in - if you put in the integer 2 here, it will delete the third string you added to the item's note.
delete_note will only delete notes that have been added to the note field in-game - it will not delete notes you set in the database directly.
Script
#============================================================================== # Note Editor # Version: 1.0 # Author: modern algebra (rmrk.net) # Date: December 16, 2009 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Description: # # This script allows you to edit the note field of an item with script calls # in-game. This is useful for editing features of other scripts that use the # note field for adding features; this will allow you to add those features # as part of the gameplay. The edits will only apply within the same game # file, so the note field will be clean whenever the player starts a new # game. It does not overwrite the regular note field - anything written in # note field in the database will be permanent in every save file. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Instructions: # # Paste this script into the editor below the default scripts but above Main # # To use this script, simply use these codes in a call script: # # add_note (type, id, note) # type : refers to the database tab you want to change the notes of. # It is an integer, and broke down like this: # 0 => Item # 1 => Weapon # 2 => Armor # 3 => Skill # 4 => Enemy # 5 => State # id : the specific ID of the particular item, weapon, armor, skill, # enemy, or state you want to edit the note field of. # note : this is the string that you want to add to the note field. # delete_note (type, id, note) # type : same as for add_note # id : same as for add_note # note : this is the note you want to delete. It can be either the # string itself, or it can be an integer if (and onlt if) you # know the order it was added in - if you put in the integer 2 # here, it will delete the third string you added to the item's # note. # # delete_note will only delete notes that have been added to the note field # in-game - it will not delete notes you set in the database directly. # # EXAMPLES: # add_note (0, 1, "new \\ note") # This would add "new \ note" to the note field of a potion (first item) # add_note (4, 6, "Default wisp") # This would add "Default wisp" to the note field of the sixth enemy in # the database (coincidentally a willowisp by default) # delete_note (2, 45, "\\CG[Evil, 5]") # This would delete the note "\CG[Evil, 5]" from the note field of the # 45th weapon in the database if it had been added in-game through the # add_note script. It would not delete it if you set it in the database # itself. #============================================================================== module RPG #============================================================================== # ** RPG::BaseItem #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # aliased method - note #============================================================================== class BaseItem #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Return Note #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias malgb_acigd_ntedit_7jb3 note def note (*args) type = case self when RPG::Item then 0 when RPG::Weapon then 1 when RPG::Armor then 2 when RPG::Skill then 3 end # Return Original Method + edited additions return malgb_acigd_ntedit_7jb3 (*args) + $game_system.ma_added_notes(type, self.id) end end #============================================================================== # ** RPG::Enemy #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # aliased method - note #============================================================================== class Enemy #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Return Note #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias ma_asciigod_noteedit_enmy_5hv2 note def note (*args) # Return Original Method + edited additions return ma_asciigod_noteedit_enmy_5hv2 (*args) + $game_system.ma_added_notes(4, self.id) end end #============================================================================== # ** RPG::State #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # aliased method - note #============================================================================== class State #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Return Note #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias modalg_gdasci_nted_stte_4xs2 note def note (*args) # Return Original Method + edited additions return modalg_gdasci_nted_stte_4xs2 (*args) + $game_system.ma_added_notes(5, self.id) end end end #============================================================================== # ** Game System #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new instance variable - ma_note_edits # aliased method - initialize # new method - ma_add_note, ma_delete_note #============================================================================== class Game_System #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Initialization #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias modabra_ascod_init_ntedtr_8nn2 initialize def initialize (*args) @ma_note_edits = [ {}, {}, {}, {}, {}, {} ] # Run Original Method modabra_ascod_init_ntedtr_8nn2 (*args) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Add Note # type : the type of item (Item, Weapon, Armor, Skill, State, Enemy) # id : the ID of the specific item in its type # note : the note you want to add #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_add_note (type, id, note) @ma_note_edits[type][id] = [] if @ma_note_edits[type][id] == nil @ma_note_edits[type][id].push (note) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Delete Note # type : the type of item (Item, Weapon, Armor, Skill, State, Enemy) # id : the ID of the specific item in its type # note : the note you want to delete #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_delete_note (type, id, note) @ma_note_edits[type][id] = [] if @ma_note_edits[type][id] == nil note.is_a? (String) ? @ma_note_edits[type][id].delete (note) : @ma_note_edits[type][id].delete_at (note) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Added Notes #`````````````````````````````````````````````````````````````````````````` # Returns the notes added to that item #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_added_notes (type, id) return "" if @ma_note_edits[type][id] == nil note_string = "" @ma_note_edits[type][id].each { |note| note_string += "\n #{note}" } return note_string end end #============================================================================== # ** Game Interpreter #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new method - add_note, delete_note #============================================================================== class Game_Interpreter #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Add Note # type : the type of item (Item, Weapon, Armor, Skill, State, Enemy) # id : the ID of the specific item in its type # note : the note you want to add #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def add_note (type, id, note) $game_system.ma_add_note (type, id, note) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Delete Note # type : the type of item (Item, Weapon, Armor, Skill, State, Enemy) # id : the ID of the specific item in its type # note : the note you want to delete #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def delete_note (type, id, note) $game_system.ma_delete_note (type, id, note) end end
Credit
Thanks
ASCIIGod, for the request Support
Please post in this topic in RMRK for support. Do not PM me
Known Compatibility Issues
Spoiler for General Compatibility Patch :
Many, many scripts interpret notes only once upon the start of the game. This confounds the purpose of the Note Editor, as the changes to the notes will only impact the relevant scripts the next time the player starts up the game. Thus, I wrote this General Compatibility patch in an effort to take a number of the popular scripts that do this and "reset" the values whenever a note is changed, in order that the changes desired may take effect immediately. I apologize for its length, but I had to individually accomodate each script, and there are a lot of scripts as you will see.
The following scripts that do this are made compatible by this patch: (Note that this list only includes scripts that would not, by default, work properly with the Note Editor. The fact that a particular script is not included here does not imply that it is incompatible, as it may by compatible by default).
Actor-Specific Item Effects, by modern algebra Advanced State Probability, by Mithran Apply State Equipment, by modern algebra Critical Skills, by Mithran Cursed Equipment, by modern algebra Element Efficiency States, by modern algebra Grid Inventory, by modern algebra KGC Categorize Item KGC Categorize Skill KGC Equip Extension KGC Hidden Skill KGC Item Drop Expansion KGC Learn Skill By State KGC Limit Break KGC Overdrive KGC Rate Damage KGC Reproduce Functions KGC Reverse Damage State KGC Slip Damage Extension KGC Steal KGC Usable Equipment Learn Skills By Use, by modern algebra Minto's Monster Collapse, by modern algebra Monster Catalogue, by modern algebra Revive State, by modern algebra Skill Functions, by Mithran SSS Break Max Stats, by Shanghai SSS Counterattack State, by Shanghai SSS Critical Buffs, by Shanghai SSS Death Common Events, by Shanghai SSS Disassemble Shop, by Shanghai SSS Draw Skills, by Shanghai SSS Enemy Autostates, by Shanghai SSS Enemy Critical Image, by Shanghai SSS Enemy Linked Deaths, by Shanghai SSS Equipment Break, by Shanghai SSS Equipment Skills, by Shanghai SSS Fancy Deaths, by Shanghai SSS Field Effects, by Shanghai SSS Friendly Monsters, by Shanghai SSS Hospital Fees, by Shanghai SSS Learn & Forget Skills, by Shanghai SSS Overkill, by Shanghai SSS Passive Skills, by Shanghai SSS Pick Item Event, by Shanghai SSS Skill Crack, by Shanghai SSS Skill Shop, by Shanghai SSS Spell Steal, by Shanghai SSS Teach Skill Items, by Shanghai SSS Temporary Stat Boosts, by Shanghai SSS Vampiric Weapons, by Shanghai SSS Weapon Attack Replace, by Shanghai SSS Wereforms, by Shanghai YEM Battle Engine Melody, by Yanfly YEM Core Fixes and Upgrades, by Yanfly YEM Enemy Levels, by Yanfly YEM Extended Movement, by Yanfly YEM Equipment Overhaul, by Yanfly YEM Item Overhaul, by Yanfly YEM New Battle Stats, by Yanfly YEM Skill Equip System, by Yanfly YEM Skill Fusion System, by Yanfly YEM Skill Overhaul, by Yanfly YEM Status Menu Melody, by Yanfly YEM Swap Random Monster, by Yanfly YERD Actor Item Synthesis, by Yanfly YERD Animation Fix, by Yanfly YERD Battler Stat Aggro, by Yanfly YERD Battler Stat Morale, by Yanfly YERD Bestiary + Display Scanned Enemy, by Yanfly YERD Custom Damage Formula, by Yanfly YERD Custom Element Affinity, by Yanfly YERD Custom Item Abilities, by Yanfly YERD Custom Skill Effects, by Yanfly YERD Custom Status Properties, by Yanfly YERD Custom Target Select, by Yanfly YERD Custom Turn Order, by Yanfly YERD Display Item Query, by Yanfly YERD Display Skill Query, by Yanfly YERD Enemy Level Control, by Yanfly YERD Skill Slots, by Yanfly YERD Subclass Selection System, by Yanfly YERD Scene Battle Redux, by Yanfly YERD Show Skill Fix, by Yanfly #============================================================================== # General Compatibility Patch for Note Editor # Version: 1.0 # Author: modern algebra (rmrk.net) # Date: September 11, 2010 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Description: # # A lot of scripts that use notes interpret them only once the game starts # up and this confounds the purpose of the Note Editor, since by the time the # notes are added, the data is already interpreted and loaded, and so the # additions will only be noticable upon reloading the game. This is a General # Compatibility Patch, intended to fix that problem by resetting the relevant # values when a new note is added for a number of popular scripts. # # A lot of scripts that use note tags already work with the Note Editor. The # following list is only of those scripts that are not by default compatible # but are made compatible by using this compatibility patch. The fact that a # particular script is not included in this list does not mean that that # script is incompatible with the Note Editor. Anyway, the scripts that this # patch makes compatible are: # Actor-Specific Item Effects, by modern algebra # Advanced State Probability, by Mithran # Apply State Equipment, by modern algebra # Critical Skills, by Mithran # Cursed Equipment, by modern algebra # Element Efficiency States, by modern algebra # Grid Inventory, by modern algebra # KGC Categorize Item # KGC Categorize Skill # KGC Equip Extension # KGC Hidden Skill # KGC Item Drop Expansion # KGC Learn Skill By State # KGC Limit Break # KGC Overdrive # KGC Rate Damage # KGC Reproduce Functions # KGC Reverse Damage State # KGC Slip Damage Extension # KGC Steal # KGC Usable Equipment # Learn Skills By Use, by modern algebra # Minto's Monster Collapse, by modern algebra # Monster Catalogue, by modern algebra # Revive State, by modern algebra # Skill Functions, by Mithran # SSS Break Max Stats, by Shanghai # SSS Counterattack State, by Shanghai # SSS Critical Buffs, by Shanghai # SSS Death Common Events, by Shanghai # SSS Disassemble Shop, by Shanghai # SSS Draw Skills, by Shanghai # SSS Enemy Autostates, by Shanghai # SSS Enemy Critical Image, by Shanghai # SSS Enemy Linked Deaths, by Shanghai # SSS Equipment Break, by Shanghai # SSS Equipment Skills, by Shanghai # SSS Fancy Deaths, by Shanghai # SSS Field Effects, by Shanghai # SSS Friendly Monsters, by Shanghai # SSS Hospital Fees, by Shanghai # SSS Learn & Forget Skills, by Shanghai # SSS Overkill, by Shanghai # SSS Passive Skills, by Shanghai # SSS Pick Item Event, by Shanghai # SSS Skill Crack, by Shanghai # SSS Skill Shop, by Shanghai # SSS Spell Steal, by Shanghai # SSS Teach Skill Items, by Shanghai # SSS Temporary Stat Boosts, by Shanghai # SSS Vampiric Weapons, by Shanghai # SSS Weapon Attack Replace, by Shanghai # SSS Wereforms, by Shanghai # YEM Battle Engine Melody, by Yanfly # YEM Core Fixes and Upgrades, by Yanfly # YEM Enemy Levels, by Yanfly # YEM Extended Movement, by Yanfly # YEM Equipment Overhaul, by Yanfly # YEM Item Overhaul, by Yanfly # YEM New Battle Stats, by Yanfly # YEM Skill Equip System, by Yanfly # YEM Skill Fusion System, by Yanfly # YEM Skill Overhaul, by Yanfly # YEM Status Menu Melody, by Yanfly # YEM Swap Random Monster, by Yanfly # YERD Actor Item Synthesis, by Yanfly # YERD Animation Fix, by Yanfly # YERD Battler Stat Aggro, by Yanfly # YERD Battler Stat Morale, by Yanfly # YERD Bestiary + Display Scanned Enemy, by Yanfly # YERD Custom Damage Formula, by Yanfly # YERD Custom Element Affinity, by Yanfly # YERD Custom Item Abilities, by Yanfly # YERD Custom Skill Effects, by Yanfly # YERD Custom Status Properties, by Yanfly # YERD Custom Target Select, by Yanfly # YERD Custom Turn Order, by Yanfly # YERD Display Item Query, by Yanfly # YERD Display Skill Query, by Yanfly # YERD Enemy Level Control, by Yanfly # YERD Skill Slots, by Yanfly # YERD Subclass Selection System, by Yanfly # YERD Scene Battle Redux, by Yanfly # YERD Show Skill Fix, by Yanfly # # Note that this is not tested with all of these. While I took care to make # sure that each data object has the values reset immediately upon changing # its note, this may not apply immediately if another more relevant object # has already inherited the value and saved it separately. For scripts that # do that, this compatibility patch will not be sufficient, even if that # script is included in the above list. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Instructions: # # Simply place this script under the Note Editor. #============================================================================== module RPG #============================================================================== # ** RPG::BaseItem #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new method - ma_reset_note_values #============================================================================== class BaseItem #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Reset Note Values #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_reset_note_values if $imported @equipment_skills = nil if $imported["EquipmentSkills"] @dash_speed_bonus = nil if $imported["ExtendedMovement"] @break_limits = nil if $imported["BreakMaxStats"] @disassembled_items = nil if $imported["DisassembleShop"] @passive_traits = nil if $imported["PassiveSkills"] @key_item = nil if $imported["PickItemEvent"] @teach_skills = nil if $imported["TeachSkillItems"] @hide_skill = nil if $imported["ShownSkillsFix"] create_limit_break_cache if $imported["LimitBreak"] create_equip_extension_cache if $imported["EquipExtension"] create_extra_drop_item_cache if $imported["ExtraDropItem"] create_categorize_item_cache if $imported["CategorizeItem"] create_steal_cache if $imported["Steal"] yanfly_cache_baseitem_ess if $imported["EquipSkillSlots"] yanfly_cache_baseitem_sss if $imported["SubclassSelectionSystem"] yanfly_cache_bsa if $imported["BattlerStatAggro"] yanfly_cache_baseitem_bsm if $imported["BattlerStatMorale"] yanfly_cache_cdf if $imported["CustomDmgFormulaRD"] yanfly_cache_skill_cea if $imported["CustomElementAffinity"] create_usable_equipment_cache if $imported["UsableEquipment"] yanfly_cache_baseitem_cse if $imported["CustomSkillEffects"] yanfly_cache_cts if $imported["CustomTargetSelect"] yanfly_cache_baseitem_cto if $imported["CustomTurnOrder"] yanfly_cache_baseitem_elc if $imported["EnemyLevelControl"] yanfly_cache_baseitem_ais if $imported["ActorItemSynthesis"] yanfly_cache_baseitem_cia if $imported["CustomItemAbilities"] yanfly_cache_baseitem_dse if $imported["DisplayScannedEnemy"] yanfly_cache_dsq if $imported["DisplaySkillQuery"] yanfly_cache_diq if $imported["DisplayItemQuery"] if $imported["ReproduceFunctions"] create_reproduce_functions_cache create_auto_state_cache end if $imported["TemporaryStatBoosts"] @target_temp_boost = nil @user_temp_boost = nil @clear_temp_stats = nil end if $imported["CriticalBuff"] @critical_buffs = nil @critical_states = nil end if $imported["EquipmentOverhaul"] @cached_baseitem_eo = false yem_cache_baseitem_eo end if $imported["BattleEngineMelody"] @cached_baseitem_bem = false yem_cache_baseitem_bem end if $imported["DEX Stat"] || $imported["RES Stat"] @cached_state_nbs = false yem_cache_baseitem_nbs end if $imported["ItemOverhaul"] @cached_baseitem_io = false yem_cache_baseitem_io end if $imported["SkillEquipSystem"] @cached_baseitem_ses = false yem_cache_baseitem_ses end end @ma_equip_states = nil if self.class.method_defined? (:ma_equip_states) # Apply State Equipment if Window_Item.method_defined? (:ma_inventory) # Grid Inventory @gi_width = nil @gi_height = nil @gi_maxstack = nil @gi_pic = nil @gi_pic_hue = nil @gi_colour = nil @gi_disc = nil end make_skill_function_cache if self.class.method_defined? (:make_skill_function_cache) # Skill Function make_advanced_state_probability_cache if self.class.method_defined? (:make_advanced_state_probability_cache) # Advanced State Probability end end #============================================================================== # ** RPG::UsableItem #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # modified super method - ma_reset_note_values #============================================================================== class UsableItem #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Reset Note Values #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_reset_note_values super if $imported @steal_spells = nil if $imported["SpellSteal"] create_rate_damage_cache if $imported["RateDamage"] if $imported["Wereforms"] @wereform = nil @wereform_image = nil @wereform_face = nil @wereform_revert = nil end if $imported["FieldEffects"] @field_effect = nil @remove_field_effect = nil end if $imported["BattleEngineMelody"] @cached_usableitem_bem = false yem_cache_usableitem_bem end if $imported["EnemyLevels"] @cached_usableitem_el = false yem_cache_usableitem_el end end @uncurse = nil if self.class.method_defined? (:remove_curse?) # Cursed Equipment end end #============================================================================== # ** RPG::Item #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # modified super method - ma_reset_note_values #============================================================================== class Item #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Reset Note Values #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_reset_note_values super if $imported if $imported["StatusMenuMelody"] @cached_item_smm = false yem_cache_item_smm end if $imported["DEX Stat"] || $imported["RES Stat"] @cached_item_nbs = false yem_cache_item_nbs end end @actor_favourites = nil if self.class.method_defined? (:actor_favourites) # Actor Specific Item Effects end end #============================================================================== # ** RPG::Weapon #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # modified super method - ma_reset_note_values #============================================================================== class Weapon #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Reset Note Values #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_reset_note_values super if $imported @attack_skills = nil if $imported["WeaponAttackReplace"] yanfly_cache_wpn_cea if $imported["CustomElementAffinity"] if $imported["VampiricWeapons"] @siphonic = nil @vampiric = nil end if $imported["EquipmentOverhaul"] @cached_weapon_eo = false yem_cache_weapon_eo end end @cursed = nil if self.class.method_defined? (:cursed?) # Cursed Equipment end end #============================================================================== # ** RPG::Armor #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # modified super method - ma_reset_note_values #============================================================================== class Armor #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Reset Note Values #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_reset_note_values super if $imported yem_cache_armour_eo if $imported["EquipmentOverhaul"] yanfly_cache_arm_cea if $imported["CustomElementAffinity"] end @cursed = nil if self.class.method_defined? (:cursed?) # Cursed Equipment end end #============================================================================== # ** RPG::Skill #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # modified super method - ma_reset_note_values #============================================================================== class Skill #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Reset Note Values #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_reset_note_values super if $imported @forget_upon_learning = nil if $imported["Learn&ForgetSkill"] @skill_crack = nil if $imported["SkillCrack"] create_hidden_skill_cache if $imported["HiddenSkill"] create_overdrive_cache if $imported["OverDrive"] if $imported["CategorizeSkill"] create_categorize_skill_cache create_categorize_skill_battle_cache end if $imported["SkillShop"] @buy_skill_cost = nil @buy_for_class_skill = nil @buy_for_actor_skill = nil @buy_skill_level_requirement = nil end if $imported["EquipmentBreak"] @equipment_break = nil @equipment_repair = nil end if $imported["DrawSkills"] @draw_skill = nil @draw_classes = nil @cannot_draw = nil end if $imported["SkillOverhaul"] @cached_skill_so = false yem_cache_skill_so end if $imported["SkillEquipSystem"] @cached_skill_ses = false yem_cache_skill_ses end if $imported["SkillFusionSystem"] @cached_skill_sfs = false yem_cache_skill_sfs end end if self.class.method_defined? (:ma_root_skills) # Learn Skills By Use @ma_root_skills = nil @ma_prohibited_classes = nil @ma_level_req = nil @ma_descendant_skills = nil end create_critical_skill_cache if self.class.method_defined? (:create_critical_skill_cache) end end #============================================================================== # ** RPG::State #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new method - ma_reset_note_values #============================================================================== class State #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Reset Note Values #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_reset_note_values if $imported @counterattack = nil if $imported["CounterattackState"] @hospital_fee = nil if $imported["HospitalFees"] create_slip_damage_extension_cache if $imported["SlipDamageExtension"] create_state_learn_skill_cache if $imported["StateLearnSkill"] create_reverse_damage_cache if $imported["ReverseDamage"] yem_cache_state_cfu if $imported["CoreFixesUpgradesMelody"] yem_cache_state_eo if $imported["EquipmentOverhaul"] yanfly_cache_state_battlerd if $imported["SceneBattleReDux"] yanfly_cache_state_ess if $imported["EquipSkillSlots"] yanfly_cache_state_sss if $imported["SubclassSelectionSystem"] yanfly_cache_state_bsm if $imported["BattlerStatMorale"] yanfly_cache_state_cea if $imported["CustomElementAffinity"] yanfly_cache_state_cse if $imported["CustomSkillEffects"] yanfly_cache_csp if $imported["CustomStatusProperties"] yanfly_cache_state_cto if $imported["CustomTurnOrder"] if $imported["ReproduceFunctions"] create_reproduce_functions_cache create_parameter_rate_cache end if $imported["SkillOverhaul"] @cached_state_so = false yem_cache_state_so end if $imported["BattleEngineMelody"] @cached_state_bem = false yem_cache_state_bem end if $imported["DEX Stat"] || $imported["RES Stat"] @cached_state_nbs = false yem_cache_state_nbs end end @ees_element_efficiency = nil if self.class.method_defined? (:ees_element_efficiency) # Element Efficiency States if self.class.method_defined? (:revival_health) # Revive State @revival_health = nil @revival_se = nil @revival_message = nil end make_advanced_state_probability_cache if self.class.method_defined? (:make_advanced_state_probability_cache) # Advanced State Probability end end #============================================================================== # ** RPG::Enemy #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new method - ma_reset_note_values #============================================================================== class Enemy #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Reset Note Values #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_reset_note_values if $imported @death_event = nil if $imported["DeathCommonEvents"] @autostates = nil if $imported["EnemyAutostates"] @critical_image = nil if $imported["EnemyCriticalImage"] @fancy_death = nil if $imported["FancyDeaths"] @attack_ani = nil if $imported["AnimationFix"] create_reproduce_functions_cache if $imported["ReproduceFunctions"] create_steal_cache if $imported["Steal"] yanfly_cache_enemy_sss if $imported["SubclassSelectionSystem"] yanfly_cache_enemy_bsm if $imported["BattlerStatMorale"] yanfly_cache_enemy_cea if $imported["CustomElementAffinity"] yanfly_cache_enemy_elc if $imported["EnemyLevelControl"] yanfly_cache_enemy_dse if $imported["DisplayScannedEnemy"] if $imported["Overkill"] @overkill_requirement = nil @overkill_exp = nil @overkill_gold = nil @overkill_items = nil end if $imported["FriendlyMonsters"] @friendly_monster = nil @friendly_exp = nil @friendly_gold = nil @friendly_drops = nil end if $imported["EnemyLinkedDeaths"] @linked_death = nil @linked_death_all = nil end if $imported["VampiricWeapons"] @siphonic = nil @vampiric = nil end if $imported["SkillOverhaul"] @cached_enemy_so = false yem_cache_enemy_so end if $imported["BattleEngineMelody"] @cached_enemy_bem = false yem_cache_enemy_bem end if $imported["EnemyLevels"] @cached_enemy_el = false yem_cache_enemy_el end if $imported["DEX Stat"] || $imported["RES Stat"] @cached_enemy_nbs = false yem_cache_enemy_nbs end if $imported["SwapRandomMonster"] @cached_enemy_srm = false yem_cache_enemy_srm end end if self.class.method_defined? (:ma_species_name) # Monster Catalogue @species_name = nil @species_icon = nil @ma_icon = nil @ma_desc = nil @ma_cat_y = nil end @collapse_anim = nil if self.class.method_defined? (:collapse_animation) # Monster Collapse make_advanced_state_probability_cache if self.class.method_defined? (:make_advanced_state_probability_cache) # Advanced State Probability end end end # End module RPG #============================================================================== # ** Game_System #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # aliased method - ma_add_note #============================================================================== class Game_System #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Add Note #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias modalg_adnoterset_5th3 ma_add_note def ma_add_note (type, id, *args) modalg_adnoterset_5th3 (type, id, *args) # Run Original Method ma_reset_note (type, id) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Delete Note #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias mnab_ne_deltnt_6yi2 ma_add_note def ma_delete_note (type, id, *args) mnab_ne_deltnt_6yi2 (type, id, *args) # Run Original Method ma_reset_note (type, id) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Reset Note Properties # type : the type of item (Item, Weapon, Armor, Skill, State, Enemy) # id : the ID of the specific item in its type #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_reset_note (type, id) item = case type when 0 then $data_items[id] when 1 then $data_weapons[id] when 2 then $data_armors[id] when 3 then $data_skills[id] when 4 then $data_states[id] when 5 then $data_enemies[id] end item.ma_reset_note_values end end
Spoiler for Composite Characters :
If you change the note field of an item to add an extra graphic, it will not immediately show it on the character if it is currently equipped. To fix it, just add this script below both the Comp. Chars script and the Note Editor script in the Script Editor
class Game_Interpreter alias mrnal_compchars_nteditor_adnt_5fz2 add_note def add_note (type, *args) mrnal_compchars_nteditor_adnt_5fz2 (type, *args) $game_player.refresh if type < 3 end alias moden_ccve_edtnot_dltnte_1gh5 delete_note def delete_note (type, *args) moden_ccve_edtnot_dltnte_1gh5 (type, *args) $game_player.refresh if type < 3 end end
Author's Notes
I haven't really tested this script. But it should be fine.
This script by
modern algebra is licensed under a
Creative Commons Attribution-Non-Commercial-Share Alike 2.5 Canada License .