Class: Game_Actor
- Inherits:
-
Game_Battler
- Object
- Game_BattlerBase
- Game_Battler
- Game_Actor
- Defined in:
- lib/rgss3_default_scripts/Game_Actor.rb
Overview
** Game_Actor
This class handles actors. It is used within the Game_Actors class
($game_actors) and is also referenced from the Game_Party class ($game_party).
Constant Summary
Constants inherited from Game_Battler
Game_Battler::EFFECT_ADD_BUFF, Game_Battler::EFFECT_ADD_DEBUFF, Game_Battler::EFFECT_ADD_STATE, Game_Battler::EFFECT_COMMON_EVENT, Game_Battler::EFFECT_GAIN_TP, Game_Battler::EFFECT_GROW, Game_Battler::EFFECT_LEARN_SKILL, Game_Battler::EFFECT_RECOVER_HP, Game_Battler::EFFECT_RECOVER_MP, Game_Battler::EFFECT_REMOVE_BUFF, Game_Battler::EFFECT_REMOVE_DEBUFF, Game_Battler::EFFECT_REMOVE_STATE, Game_Battler::EFFECT_SPECIAL, Game_Battler::SPECIAL_EFFECT_ESCAPE
Constants inherited from Game_BattlerBase
Game_BattlerBase::FEATURE_ACTION_PLUS, Game_BattlerBase::FEATURE_ATK_ELEMENT, Game_BattlerBase::FEATURE_ATK_SPEED, Game_BattlerBase::FEATURE_ATK_STATE, Game_BattlerBase::FEATURE_ATK_TIMES, Game_BattlerBase::FEATURE_COLLAPSE_TYPE, Game_BattlerBase::FEATURE_DEBUFF_RATE, Game_BattlerBase::FEATURE_ELEMENT_RATE, Game_BattlerBase::FEATURE_EQUIP_ATYPE, Game_BattlerBase::FEATURE_EQUIP_FIX, Game_BattlerBase::FEATURE_EQUIP_SEAL, Game_BattlerBase::FEATURE_EQUIP_WTYPE, Game_BattlerBase::FEATURE_PARAM, Game_BattlerBase::FEATURE_PARTY_ABILITY, Game_BattlerBase::FEATURE_SKILL_ADD, Game_BattlerBase::FEATURE_SKILL_SEAL, Game_BattlerBase::FEATURE_SLOT_TYPE, Game_BattlerBase::FEATURE_SPARAM, Game_BattlerBase::FEATURE_SPECIAL_FLAG, Game_BattlerBase::FEATURE_STATE_RATE, Game_BattlerBase::FEATURE_STATE_RESIST, Game_BattlerBase::FEATURE_STYPE_ADD, Game_BattlerBase::FEATURE_STYPE_SEAL, Game_BattlerBase::FEATURE_XPARAM, Game_BattlerBase::FLAG_ID_AUTO_BATTLE, Game_BattlerBase::FLAG_ID_GUARD, Game_BattlerBase::FLAG_ID_PRESERVE_TP, Game_BattlerBase::FLAG_ID_SUBSTITUTE, Game_BattlerBase::ICON_BUFF_START, Game_BattlerBase::ICON_DEBUFF_START
Instance Attribute Summary collapse
-
#action_input_index ⇒ Object
readonly
action number being input.
-
#character_index ⇒ Object
readonly
character graphic index.
-
#character_name ⇒ Object
readonly
character graphic filename.
-
#class_id ⇒ Object
readonly
class ID.
-
#face_index ⇒ Object
readonly
face graphic index.
-
#face_name ⇒ Object
readonly
face graphic filename.
-
#last_skill ⇒ Object
readonly
For cursor memorization: Skill.
-
#level ⇒ Object
readonly
level.
-
#name ⇒ Object
————————————————————————– * Public Instance Variables ————————————————————————–.
-
#nickname ⇒ Object
Nickname.
Attributes inherited from Game_Battler
#action_times, #actions, #animation_id, #animation_mirror, #battler_hue, #battler_name, #last_target_index, #magic_reflection, #result, #speed, #sprite_effect_type
Attributes inherited from Game_BattlerBase
Instance Method Summary collapse
-
#actor ⇒ Object
————————————————————————– * Get Actor Object ————————————————————————–.
-
#actor? ⇒ Boolean
————————————————————————– * Determine if Actor or Not ————————————————————————–.
-
#armors ⇒ Object
————————————————————————– * Get Armor Object Array ————————————————————————–.
-
#atk_animation_id1 ⇒ Object
————————————————————————– * Get Normal Attack Animation ID ————————————————————————–.
-
#atk_animation_id2 ⇒ Object
————————————————————————– * Get Animation ID of Normal Attack (Dual Wield: Weapon 2) ————————————————————————–.
-
#atk_elements ⇒ Object
————————————————————————– * Get Attack Element ————————————————————————–.
-
#basic_floor_damage ⇒ Object
————————————————————————– * Get Base Value for Floor Damage ————————————————————————–.
-
#battle_member? ⇒ Boolean
————————————————————————– * Determine Battle Members ————————————————————————–.
-
#change_class(class_id, keep_exp = false) ⇒ Object
————————————————————————– * Change Class keep_exp: Keep EXP ————————————————————————–.
-
#change_equip(slot_id, item) ⇒ Object
————————————————————————– * Change Equipment slot_id: Equipment slot ID item: Weapon/armor (remove equipment if nil) ————————————————————————–.
-
#change_equip_by_id(slot_id, item_id) ⇒ Object
————————————————————————– * Change Equipment (Specify with ID) slot_id: Equipment slot ID item_id: Weapons/armor ID ————————————————————————–.
-
#change_exp(exp, show) ⇒ Object
————————————————————————– * Change Experience show : Level up display flag ————————————————————————–.
-
#change_level(level, show) ⇒ Object
————————————————————————– * Change Level show : Level up display flag ————————————————————————–.
-
#check_floor_effect ⇒ Object
————————————————————————– * Determine Floor Effect ————————————————————————–.
-
#class ⇒ Object
————————————————————————– * Get Class Object ————————————————————————–.
-
#clear_actions ⇒ Object
————————————————————————– * Clear Actions ————————————————————————–.
-
#clear_equipments ⇒ Object
————————————————————————– * Remove All Equipment ————————————————————————–.
-
#current_level_exp ⇒ Object
————————————————————————– * Get Minimum EXP for Current Level ————————————————————————–.
-
#description ⇒ Object
————————————————————————– * Get Description ————————————————————————–.
-
#discard_equip(item) ⇒ Object
————————————————————————– * Discard Equipment item: Weapon/armor to discard ————————————————————————–.
-
#display_level_up(new_skills) ⇒ Object
————————————————————————– * Show Level Up Message new_skills : Array of newly learned skills ————————————————————————–.
-
#empty_slot(etype_id) ⇒ Object
————————————————————————– * Convert from Equipment Type to Slot ID (Empty Take Precedence) ————————————————————————–.
-
#equip_change_ok?(slot_id) ⇒ Boolean
————————————————————————– * Determine if Equipment Change Possible slot_id: Equipment slot ID ————————————————————————–.
-
#equip_slots ⇒ Object
————————————————————————– * Get Equipment Slot Array ————————————————————————–.
-
#equips ⇒ Object
————————————————————————– * Get Equipped Item Object Array ————————————————————————–.
-
#execute_floor_damage ⇒ Object
————————————————————————– * Floor Damage Processing ————————————————————————–.
-
#exp ⇒ Object
————————————————————————– * Get Experience ————————————————————————–.
-
#exp_for_level(level) ⇒ Object
————————————————————————– * Get Total EXP Required for Rising to Specified Level ————————————————————————–.
-
#feature_objects ⇒ Object
————————————————————————– * Get Array of All Objects Retaining Features ————————————————————————–.
-
#final_exp_rate ⇒ Object
————————————————————————– * Calculate Final EXP Rate ————————————————————————–.
-
#force_change_equip(slot_id, item) ⇒ Object
————————————————————————– * Forcibly Change Equipment slot_id: Equipment slot ID item: Weapon/armor (remove equipment if nil) ————————————————————————–.
-
#forget_skill(skill_id) ⇒ Object
————————————————————————– * Forget Skill ————————————————————————–.
-
#friends_unit ⇒ Object
————————————————————————– * Get Allied Units ————————————————————————–.
-
#gain_exp(exp) ⇒ Object
————————————————————————– * Get EXP (Account for Experience Rate) ————————————————————————–.
-
#id ⇒ Object
————————————————————————– * Get Actor ID ————————————————————————–.
-
#index ⇒ Object
————————————————————————– * Get Index ————————————————————————–.
-
#index_to_etype_id(index) ⇒ Object
————————————————————————– * Convert Index Set by Editor to Equipment Type ID ————————————————————————–.
-
#init_equips(equips) ⇒ Object
————————————————————————– * Initialize Equipment equips: An array of initial equipment ————————————————————————–.
-
#init_exp ⇒ Object
————————————————————————– * Initialize EXP ————————————————————————–.
-
#init_graphics ⇒ Object
————————————————————————– * Initialize Graphics ————————————————————————–.
-
#init_skills ⇒ Object
————————————————————————– * Initialize Skills ————————————————————————–.
-
#initialize(actor_id) ⇒ Game_Actor
constructor
————————————————————————– * Object Initialization ————————————————————————–.
-
#input ⇒ Object
————————————————————————– * Get Action Being Input ————————————————————————–.
-
#learn_skill(skill_id) ⇒ Object
————————————————————————– * Learn Skill ————————————————————————–.
-
#level_down ⇒ Object
————————————————————————– * Level Down ————————————————————————–.
-
#level_up ⇒ Object
————————————————————————– * Level Up ————————————————————————–.
-
#make_action_list ⇒ Object
————————————————————————– * Create Action Candidate List for Auto Battle ————————————————————————–.
-
#make_actions ⇒ Object
————————————————————————– * Create Battle Action ————————————————————————–.
-
#make_auto_battle_actions ⇒ Object
————————————————————————– * Create Action During Auto Battle ————————————————————————–.
-
#make_confusion_actions ⇒ Object
————————————————————————– * Create Action During Confusion ————————————————————————–.
-
#max_floor_damage ⇒ Object
————————————————————————– * Get Maximum Value for Floor Damage ————————————————————————–.
-
#max_level ⇒ Object
————————————————————————– * Maximum Level ————————————————————————–.
-
#max_level? ⇒ Boolean
————————————————————————– * Determine Maximum Level ————————————————————————–.
-
#next_command ⇒ Object
————————————————————————– * To Next Command Input ————————————————————————–.
-
#next_level_exp ⇒ Object
————————————————————————– * Get EXP for Next Level ————————————————————————–.
-
#on_player_walk ⇒ Object
————————————————————————– * Processing Performed When Player Takes 1 Step ————————————————————————–.
-
#opponents_unit ⇒ Object
————————————————————————– * Get Enemy Units ————————————————————————–.
-
#optimize_equipments ⇒ Object
————————————————————————– * Ultimate Equipment ————————————————————————–.
-
#param_base(param_id) ⇒ Object
————————————————————————– * Get Base Value of Parameter ————————————————————————–.
-
#param_max(param_id) ⇒ Object
————————————————————————– * Get Maximum Value of Parameter ————————————————————————–.
-
#param_plus(param_id) ⇒ Object
————————————————————————– * Get Added Value of Parameter ————————————————————————–.
-
#perform_collapse_effect ⇒ Object
————————————————————————– * Execute Collapse Effect ————————————————————————–.
-
#perform_damage_effect ⇒ Object
————————————————————————– * Execute Damage Effect ————————————————————————–.
-
#perform_map_damage_effect ⇒ Object
————————————————————————– * Execute Damage Effect on Map ————————————————————————–.
-
#prior_command ⇒ Object
————————————————————————– * To Previous Command Input ————————————————————————–.
-
#refresh ⇒ Object
————————————————————————– * Refresh ————————————————————————–.
-
#release_unequippable_items(item_gain = true) ⇒ Object
————————————————————————– * Remove Equipment that Cannot Be Equipped item_gain: Return removed equipment to party.
-
#reserve_members_exp_rate ⇒ Object
————————————————————————– * Get EXP Rate for Reserve Members ————————————————————————–.
-
#set_graphic(character_name, character_index, face_name, face_index) ⇒ Object
————————————————————————– * Change Graphics ————————————————————————–.
-
#setup(actor_id) ⇒ Object
————————————————————————– * Setup ————————————————————————–.
-
#show_added_states ⇒ Object
————————————————————————– * Show Added State ————————————————————————–.
-
#show_removed_states ⇒ Object
————————————————————————– * Show Removed State ————————————————————————–.
-
#skill_learn?(skill) ⇒ Boolean
————————————————————————– * Determine if Skill Is Already Learned ————————————————————————–.
-
#skill_wtype_ok?(skill) ⇒ Boolean
————————————————————————– * Determine if Skill-Required Weapon Is Equipped ————————————————————————–.
-
#skills ⇒ Object
————————————————————————– * Get Skill Object Array ————————————————————————–.
-
#slot_list(etype_id) ⇒ Object
————————————————————————– * Convert from Equipment Type to List of Slot IDs ————————————————————————–.
-
#steps_for_turn ⇒ Object
————————————————————————– * Number of Steps Regarded as One Turn in Battle ————————————————————————–.
-
#trade_item_with_party(new_item, old_item) ⇒ Object
————————————————————————– * Trade Item with Party new_item: Item to get from party old_item: Item to give to party ————————————————————————–.
-
#turn_end_on_map ⇒ Object
————————————————————————– * End of Turn Processing on Map Screen ————————————————————————–.
-
#update_state_steps(state) ⇒ Object
————————————————————————– * Update Step Count for State ————————————————————————–.
-
#usable_skills ⇒ Object
————————————————————————– * Get Array of Currently Usable Skills ————————————————————————–.
-
#use_sprite? ⇒ Boolean
————————————————————————– * Use Sprites? ————————————————————————–.
-
#weapons ⇒ Object
————————————————————————– * Get Weapon Object Array ————————————————————————–.
-
#wtype_equipped?(wtype_id) ⇒ Boolean
————————————————————————– * Determine if Specific Type of Weapon Is Equipped ————————————————————————–.
Methods inherited from Game_Battler
#add_buff, #add_debuff, #add_new_state, #add_state, #apply_critical, #apply_guard, #apply_variance, #attack_apply, #buff?, #buff_max?, #charge_tp_by_damage, #clear_sprite_effects, #clear_states, #clear_tp, #consume_item, #current_action, #debuff?, #debuff_max?, #die, #elements_max_rate, #erase_buff, #escape, #execute_damage, #force_action, #init_tp, #item_apply, #item_cnt, #item_cri, #item_effect_add_buff, #item_effect_add_debuff, #item_effect_add_state, #item_effect_add_state_attack, #item_effect_add_state_normal, #item_effect_apply, #item_effect_common_event, #item_effect_gain_tp, #item_effect_grow, #item_effect_learn_skill, #item_effect_recover_hp, #item_effect_recover_mp, #item_effect_remove_buff, #item_effect_remove_debuff, #item_effect_remove_state, #item_effect_special, #item_effect_test, #item_element_rate, #item_eva, #item_global_effect_apply, #item_has_any_valid_effects?, #item_hit, #item_mrf, #item_test, #item_user_effect, #luk_effect_rate, #make_action_times, #make_damage_value, #make_speed, #max_slip_damage, #on_action_end, #on_battle_end, #on_battle_start, #on_damage, #on_restrict, #on_turn_end, #opposite?, #overwrite_buff_turns, #regenerate_all, #regenerate_hp, #regenerate_mp, #regenerate_tp, #remove_all_buffs, #remove_battle_states, #remove_buff, #remove_buffs_auto, #remove_current_action, #remove_state, #remove_states_auto, #remove_states_by_damage, #reset_state_counts, #revive, #state_addable?, #state_removed?, #state_restrict?, #update_buff_turns, #update_state_turns, #use_item
Methods inherited from Game_BattlerBase
#action_plus_set, #add_param, #added_skill_types, #added_skills, #agi, #alive?, #all_features, #appear, #atk, #atk_speed, #atk_states, #atk_states_rate, #atk_times_add, #attack_skill_id, #attack_usable?, #auto_battle?, #buff_icon_index, #buff_icons, #cev, #change_hp, #clear_buffs, #clear_param_plus, #clear_states, #cnt, #collapse_type, #confusion?, #confusion_level, #cri, #dead?, #death_state?, #death_state_id, #debuff_rate, #def, #dual_wield?, #element_rate, #enemy?, #equip_atype_ok?, #equip_type_fixed?, #equip_type_sealed?, #equip_wtype_ok?, #equippable?, #erase_state, #eva, #exist?, #exr, #fdr, #features, #features_pi, #features_set, #features_sum, #features_sum_all, #features_with_id, #grd, #guard?, #guard_skill_id, #guard_usable?, #hidden?, #hide, #hit, #hp_rate, #hrg, #inputable?, #item_conditions_met?, #luk, #mat, #max_tp, #mcr, #mdf, #mdr, #mev, #mhp, #mmp, #most_important_state_text, #movable?, #mp_rate, #mrf, #mrg, #normal?, #occasion_ok?, #param, #param_buff_rate, #param_min, #param_rate, #party_ability, #pay_skill_cost, #pdr, #pha, #preserve_tp?, #rec, #recover_all, #restriction, #skill_conditions_met?, #skill_cost_payable?, #skill_mp_cost, #skill_sealed?, #skill_tp_cost, #skill_type_sealed?, #slot_type, #sort_states, #sparam, #special_flag, #state?, #state_icons, #state_rate, #state_resist?, #state_resist_set, #states, #substitute?, #tcr, #tgr, #tp_rate, #trg, #usable?, #usable_item_conditions_met?, #xparam
Constructor Details
#initialize(actor_id) ⇒ Game_Actor
-
Object Initialization
25 26 27 28 29 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 25 def initialize(actor_id) super() setup(actor_id) @last_skill = Game_BaseItem.new end |
Instance Attribute Details
#action_input_index ⇒ Object (readonly)
action number being input
20 21 22 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 20 def action_input_index @action_input_index end |
#character_index ⇒ Object (readonly)
character graphic index
15 16 17 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 15 def character_index @character_index end |
#character_name ⇒ Object (readonly)
character graphic filename
14 15 16 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 14 def character_name @character_name end |
#class_id ⇒ Object (readonly)
class ID
18 19 20 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 18 def class_id @class_id end |
#face_index ⇒ Object (readonly)
face graphic index
17 18 19 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 17 def face_index @face_index end |
#face_name ⇒ Object (readonly)
face graphic filename
16 17 18 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 16 def face_name @face_name end |
#last_skill ⇒ Object (readonly)
For cursor memorization: Skill
21 22 23 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 21 def last_skill @last_skill end |
#level ⇒ Object (readonly)
level
19 20 21 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 19 def level @level end |
#name ⇒ Object
-
Public Instance Variables
12 13 14 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 12 def name @name end |
#nickname ⇒ Object
Nickname
13 14 15 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 13 def nickname @nickname end |
Instance Method Details
#actor ⇒ Object
-
Get Actor Object
51 52 53 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 51 def actor $data_actors[@actor_id] end |
#actor? ⇒ Boolean
-
Determine if Actor or Not
299 300 301 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 299 def actor? return true end |
#armors ⇒ Object
-
Get Armor Object Array
164 165 166 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 164 def armors @equips.select {|item| item.is_armor? }.collect {|item| item.object } end |
#atk_animation_id1 ⇒ Object
-
Get Normal Attack Animation ID
386 387 388 389 390 391 392 393 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 386 def atk_animation_id1 if dual_wield? return weapons[0].animation_id if weapons[0] return weapons[1] ? 0 : 1 else return weapons[0] ? weapons[0].animation_id : 1 end end |
#atk_animation_id2 ⇒ Object
-
Get Animation ID of Normal Attack (Dual Wield: Weapon 2)
397 398 399 400 401 402 403 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 397 def atk_animation_id2 if dual_wield? return weapons[1] ? weapons[1].animation_id : 0 else return 0 end end |
#atk_elements ⇒ Object
-
Get Attack Element
359 360 361 362 363 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 359 def atk_elements set = super set |= [1] if weapons.compact.empty? # Unarmed: Physical element return set end |
#basic_floor_damage ⇒ Object
-
Get Base Value for Floor Damage
652 653 654 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 652 def basic_floor_damage return 10 end |
#battle_member? ⇒ Boolean
-
Determine Battle Members
329 330 331 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 329 def battle_member? $game_party.battle_members.include?(self) end |
#change_class(class_id, keep_exp = false) ⇒ Object
-
Change Class
keep_exp: Keep EXP
506 507 508 509 510 511 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 506 def change_class(class_id, keep_exp = false) @exp[class_id] = exp if keep_exp @class_id = class_id change_exp(@exp[@class_id] || 0, false) refresh end |
#change_equip(slot_id, item) ⇒ Object
-
Change Equipment
slot_id: Equipment slot ID item: Weapon/armor (remove equipment if nil)
187 188 189 190 191 192 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 187 def change_equip(slot_id, item) return unless trade_item_with_party(item, equips[slot_id]) return if item && equip_slots[slot_id] != item.etype_id @equips[slot_id].object = item refresh end |
#change_equip_by_id(slot_id, item_id) ⇒ Object
-
Change Equipment (Specify with ID)
slot_id: Equipment slot ID item_id: Weapons/armor ID
219 220 221 222 223 224 225 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 219 def change_equip_by_id(slot_id, item_id) if equip_slots[slot_id] == 0 change_equip(slot_id, $data_weapons[item_id]) else change_equip(slot_id, $data_armors[item_id]) end end |
#change_exp(exp, show) ⇒ Object
-
Change Experience
show : Level up display flag
408 409 410 411 412 413 414 415 416 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 408 def change_exp(exp, show) @exp[@class_id] = [exp, 0].max last_level = @level last_skills = skills level_up while !max_level? && self.exp >= next_level_exp level_down while self.exp < current_level_exp display_level_up(skills - last_skills) if show && @level > last_level refresh end |
#change_level(level, show) ⇒ Object
-
Change Level
show : Level up display flag
471 472 473 474 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 471 def change_level(level, show) level = [[level, max_level].min, 1].max change_exp(exp_for_level(level), show) end |
#check_floor_effect ⇒ Object
-
Determine Floor Effect
638 639 640 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 638 def check_floor_effect execute_floor_damage if $game_player.on_damage_floor? end |
#class ⇒ Object
-
Get Class Object
335 336 337 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 335 def class $data_classes[@class_id] end |
#clear_actions ⇒ Object
-
Clear Actions
670 671 672 673 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 670 def clear_actions super @action_input_index = 0 end |
#clear_equipments ⇒ Object
-
Remove All Equipment
253 254 255 256 257 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 253 def clear_equipments equip_slots.size.times do |i| change_equip(i, nil) if equip_change_ok?(i) end end |
#current_level_exp ⇒ Object
-
Get Minimum EXP for Current Level
84 85 86 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 84 def current_level_exp exp_for_level(@level) end |
#description ⇒ Object
-
Get Description
499 500 501 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 499 def description actor.description end |
#discard_equip(item) ⇒ Object
-
Discard Equipment
item: Weapon/armor to discard
230 231 232 233 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 230 def discard_equip(item) slot_id = equips.index(item) @equips[slot_id].object = nil if slot_id end |
#display_level_up(new_skills) ⇒ Object
-
Show Level Up Message
new_skills : Array of newly learned skills
442 443 444 445 446 447 448 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 442 def display_level_up(new_skills) $game_message.new_page $game_message.add(sprintf(Vocab::LevelUp, @name, Vocab::level, @level)) new_skills.each do |skill| $game_message.add(sprintf(Vocab::ObtainSkill, skill.name)) end end |
#empty_slot(etype_id) ⇒ Object
-
Convert from Equipment Type to Slot ID (Empty Take Precedence)
144 145 146 147 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 144 def empty_slot(etype_id) list = slot_list(etype_id) list.find {|i| @equips[i].is_nil? } || list[0] end |
#equip_change_ok?(slot_id) ⇒ Boolean
-
Determine if Equipment Change Possible
slot_id: Equipment slot ID
177 178 179 180 181 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 177 def equip_change_ok?(slot_id) return false if equip_type_fixed?(equip_slots[slot_id]) return false if equip_type_sealed?(equip_slots[slot_id]) return true end |
#equip_slots ⇒ Object
-
Get Equipment Slot Array
151 152 153 154 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 151 def equip_slots return [0,0,2,3,4] if dual_wield? # Dual wield return [0,1,2,3,4] # Normal end |
#equips ⇒ Object
-
Get Equipped Item Object Array
170 171 172 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 170 def equips @equips.collect {|item| item.object } end |
#execute_floor_damage ⇒ Object
-
Floor Damage Processing
644 645 646 647 648 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 644 def execute_floor_damage damage = (basic_floor_damage * fdr).to_i self.hp -= [damage, max_floor_damage].min perform_map_damage_effect if damage > 0 end |
#exp ⇒ Object
-
Get Experience
78 79 80 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 78 def exp @exp[@class_id] end |
#exp_for_level(level) ⇒ Object
-
Get Total EXP Required for Rising to Specified Level
66 67 68 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 66 def exp_for_level(level) self.class.exp_for_level(level) end |
#feature_objects ⇒ Object
-
Get Array of All Objects Retaining Features
353 354 355 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 353 def feature_objects super + [actor] + [self.class] + equips.compact end |
#final_exp_rate ⇒ Object
-
Calculate Final EXP Rate
458 459 460 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 458 def final_exp_rate exr * (battle_member? ? 1 : reserve_members_exp_rate) end |
#force_change_equip(slot_id, item) ⇒ Object
-
Forcibly Change Equipment
slot_id: Equipment slot ID item: Weapon/armor (remove equipment if nil)
198 199 200 201 202 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 198 def force_change_equip(slot_id, item) @equips[slot_id].object = item release_unequippable_items(false) refresh end |
#forget_skill(skill_id) ⇒ Object
-
Forget Skill
487 488 489 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 487 def forget_skill(skill_id) @skills.delete(skill_id) end |
#friends_unit ⇒ Object
-
Get Allied Units
305 306 307 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 305 def friends_unit $game_party end |
#gain_exp(exp) ⇒ Object
-
Get EXP (Account for Experience Rate)
452 453 454 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 452 def gain_exp(exp) change_exp(self.exp + (exp * final_exp_rate).to_i, true) end |
#id ⇒ Object
-
Get Actor ID
317 318 319 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 317 def id @actor_id end |
#index ⇒ Object
-
Get Index
323 324 325 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 323 def index $game_party.members.index(self) end |
#index_to_etype_id(index) ⇒ Object
-
Convert Index Set by Editor to Equipment Type ID
130 131 132 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 130 def index_to_etype_id(index) index == 1 && dual_wield? ? 0 : index end |
#init_equips(equips) ⇒ Object
-
Initialize Equipment
equips: An array of initial equipment
118 119 120 121 122 123 124 125 126 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 118 def init_equips(equips) @equips = Array.new(equip_slots.size) { Game_BaseItem.new } equips.each_with_index do |item_id, i| etype_id = index_to_etype_id(i) slot_id = empty_slot(etype_id) @equips[slot_id].set_equip(etype_id == 0, item_id) if slot_id end refresh end |
#init_exp ⇒ Object
-
Initialize EXP
72 73 74 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 72 def init_exp @exp[@class_id] = current_level_exp end |
#init_graphics ⇒ Object
-
Initialize Graphics
57 58 59 60 61 62 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 57 def init_graphics @character_name = actor.character_name @character_index = actor.character_index @face_name = actor.face_name @face_index = actor.face_index end |
#init_skills ⇒ Object
-
Initialize Skills
108 109 110 111 112 113 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 108 def init_skills @skills = [] self.class.learnings.each do |learning| learn_skill(learning.skill_id) if learning.level <= @level end end |
#input ⇒ Object
-
Get Action Being Input
677 678 679 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 677 def input @actions[@action_input_index] end |
#learn_skill(skill_id) ⇒ Object
-
Learn Skill
478 479 480 481 482 483 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 478 def learn_skill(skill_id) unless skill_learn?($data_skills[skill_id]) @skills.push(skill_id) @skills.sort! end end |
#level_down ⇒ Object
-
Level Down
435 436 437 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 435 def level_down @level -= 1 end |
#level_up ⇒ Object
-
Level Up
426 427 428 429 430 431 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 426 def level_up @level += 1 self.class.learnings.each do |learning| learn_skill(learning.skill_id) if learning.level == @level end end |
#make_action_list ⇒ Object
-
Create Action Candidate List for Auto Battle
547 548 549 550 551 552 553 554 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 547 def make_action_list list = [] list.push(Game_Action.new(self).set_attack.evaluate) usable_skills.each do |skill| list.push(Game_Action.new(self).set_skill(skill.id).evaluate) end list end |
#make_actions ⇒ Object
-
Create Battle Action
574 575 576 577 578 579 580 581 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 574 def make_actions super if auto_battle? make_auto_battle_actions elsif confusion? make_confusion_actions end end |
#make_auto_battle_actions ⇒ Object
-
Create Action During Auto Battle
558 559 560 561 562 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 558 def make_auto_battle_actions @actions.size.times do |i| @actions[i] = make_action_list.max_by {|action| action.value } end end |
#make_confusion_actions ⇒ Object
-
Create Action During Confusion
566 567 568 569 570 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 566 def make_confusion_actions @actions.size.times do |i| @actions[i].set_confusion end end |
#max_floor_damage ⇒ Object
-
Get Maximum Value for Floor Damage
658 659 660 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 658 def max_floor_damage $data_system.opt_floor_death ? hp : [hp - 1, 0].max end |
#max_level ⇒ Object
-
Maximum Level
96 97 98 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 96 def max_level actor.max_level end |
#max_level? ⇒ Boolean
-
Determine Maximum Level
102 103 104 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 102 def max_level? @level >= max_level end |
#next_command ⇒ Object
-
To Next Command Input
683 684 685 686 687 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 683 def next_command return false if @action_input_index >= @actions.size - 1 @action_input_index += 1 return true end |
#next_level_exp ⇒ Object
-
Get EXP for Next Level
90 91 92 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 90 def next_level_exp exp_for_level(@level + 1) end |
#on_player_walk ⇒ Object
-
Processing Performed When Player Takes 1 Step
585 586 587 588 589 590 591 592 593 594 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 585 def on_player_walk @result.clear check_floor_effect if $game_player.normal_walk? turn_end_on_map states.each {|state| update_state_steps(state) } show_added_states show_removed_states end end |
#opponents_unit ⇒ Object
-
Get Enemy Units
311 312 313 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 311 def opponents_unit $game_troop end |
#optimize_equipments ⇒ Object
-
Ultimate Equipment
261 262 263 264 265 266 267 268 269 270 271 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 261 def optimize_equipments clear_equipments equip_slots.size.times do |i| next if !equip_change_ok?(i) items = $game_party.equip_items.select do |item| item.etype_id == equip_slots[i] && equippable?(item) && item.performance >= 0 end change_equip(i, items.max_by {|item| item.performance }) end end |
#param_base(param_id) ⇒ Object
-
Get Base Value of Parameter
374 375 376 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 374 def param_base(param_id) self.class.params[param_id, @level] end |
#param_max(param_id) ⇒ Object
-
Get Maximum Value of Parameter
367 368 369 370 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 367 def param_max(param_id) return 9999 if param_id == 0 # MHP return super end |
#param_plus(param_id) ⇒ Object
-
Get Added Value of Parameter
380 381 382 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 380 def param_plus(param_id) equips.compact.inject(super) {|r, item| r += item.params[param_id] } end |
#perform_collapse_effect ⇒ Object
-
Execute Collapse Effect
538 539 540 541 542 543 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 538 def perform_collapse_effect if $game_party.in_battle @sprite_effect_type = :collapse Sound.play_actor_collapse end end |
#perform_damage_effect ⇒ Object
-
Execute Damage Effect
530 531 532 533 534 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 530 def perform_damage_effect $game_troop.screen.start_shake(5, 5, 10) @sprite_effect_type = :blink Sound.play_actor_damage end |
#perform_map_damage_effect ⇒ Object
-
Execute Damage Effect on Map
664 665 666 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 664 def perform_map_damage_effect $game_map.screen.start_flash_for_damage end |
#prior_command ⇒ Object
-
To Previous Command Input
691 692 693 694 695 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 691 def prior_command return false if @action_input_index <= 0 @action_input_index -= 1 return true end |
#refresh ⇒ Object
-
Refresh
292 293 294 295 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 292 def refresh release_unequippable_items super end |
#release_unequippable_items(item_gain = true) ⇒ Object
-
Remove Equipment that Cannot Be Equipped
item_gain: Return removed equipment to party.
238 239 240 241 242 243 244 245 246 247 248 249 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 238 def release_unequippable_items(item_gain = true) loop do last_equips = equips.dup @equips.each_with_index do |item, i| if !equippable?(item.object) || item.object.etype_id != equip_slots[i] trade_item_with_party(nil, item.object) if item_gain item.object = nil end end return if equips == last_equips end end |
#reserve_members_exp_rate ⇒ Object
-
Get EXP Rate for Reserve Members
464 465 466 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 464 def reserve_members_exp_rate $data_system.opt_extra_exp ? 1 : 0 end |
#set_graphic(character_name, character_index, face_name, face_index) ⇒ Object
-
Change Graphics
515 516 517 518 519 520 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 515 def set_graphic(character_name, character_index, face_name, face_index) @character_name = character_name @character_index = character_index @face_name = face_name @face_index = face_index end |
#setup(actor_id) ⇒ Object
-
Setup
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 33 def setup(actor_id) @actor_id = actor_id @name = actor.name @nickname = actor.nickname init_graphics @class_id = actor.class_id @level = actor.initial_level @exp = {} @equips = [] init_exp init_skills init_equips(actor.equips) clear_param_plus recover_all end |
#show_added_states ⇒ Object
-
Show Added State
607 608 609 610 611 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 607 def show_added_states @result.added_state_objects.each do |state| $game_message.add(name + state.) unless state..empty? end end |
#show_removed_states ⇒ Object
-
Show Removed State
615 616 617 618 619 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 615 def show_removed_states @result.removed_state_objects.each do |state| $game_message.add(name + state.) unless state..empty? end end |
#skill_learn?(skill) ⇒ Boolean
-
Determine if Skill Is Already Learned
493 494 495 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 493 def skill_learn?(skill) skill.is_a?(RPG::Skill) && @skills.include?(skill.id) end |
#skill_wtype_ok?(skill) ⇒ Boolean
-
Determine if Skill-Required Weapon Is Equipped
275 276 277 278 279 280 281 282 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 275 def skill_wtype_ok?(skill) wtype_id1 = skill.required_wtype_id1 wtype_id2 = skill.required_wtype_id2 return true if wtype_id1 == 0 && wtype_id2 == 0 return true if wtype_id1 > 0 && wtype_equipped?(wtype_id1) return true if wtype_id2 > 0 && wtype_equipped?(wtype_id2) return false end |
#skills ⇒ Object
-
Get Skill Object Array
341 342 343 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 341 def skills (@skills | added_skills).sort.collect {|id| $data_skills[id] } end |
#slot_list(etype_id) ⇒ Object
-
Convert from Equipment Type to List of Slot IDs
136 137 138 139 140 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 136 def slot_list(etype_id) result = [] equip_slots.each_with_index {|e, i| result.push(i) if e == etype_id } result end |
#steps_for_turn ⇒ Object
-
Number of Steps Regarded as One Turn in Battle
623 624 625 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 623 def steps_for_turn return 20 end |
#trade_item_with_party(new_item, old_item) ⇒ Object
-
Trade Item with Party
new_item: Item to get from party old_item: Item to give to party
208 209 210 211 212 213 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 208 def trade_item_with_party(new_item, old_item) return false if new_item && !$game_party.has_item?(new_item) $game_party.gain_item(old_item, 1) $game_party.lose_item(new_item, 1) return true end |
#turn_end_on_map ⇒ Object
-
End of Turn Processing on Map Screen
629 630 631 632 633 634 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 629 def turn_end_on_map if $game_party.steps % steps_for_turn == 0 on_turn_end perform_map_damage_effect if @result.hp_damage > 0 end end |
#update_state_steps(state) ⇒ Object
-
Update Step Count for State
598 599 600 601 602 603 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 598 def update_state_steps(state) if state.remove_by_walking @state_steps[state.id] -= 1 if @state_steps[state.id] > 0 remove_state(state.id) if @state_steps[state.id] == 0 end end |
#usable_skills ⇒ Object
-
Get Array of Currently Usable Skills
347 348 349 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 347 def usable_skills skills.select {|skill| usable?(skill) } end |
#use_sprite? ⇒ Boolean
-
Use Sprites?
524 525 526 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 524 def use_sprite? return false end |
#weapons ⇒ Object
-
Get Weapon Object Array
158 159 160 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 158 def weapons @equips.select {|item| item.is_weapon? }.collect {|item| item.object } end |
#wtype_equipped?(wtype_id) ⇒ Boolean
-
Determine if Specific Type of Weapon Is Equipped
286 287 288 |
# File 'lib/rgss3_default_scripts/Game_Actor.rb', line 286 def wtype_equipped?(wtype_id) weapons.any? {|weapon| weapon.wtype_id == wtype_id } end |