rmxp_extractor 1.8 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CODE_OF_CONDUCT.md +74 -74
- data/Gemfile +13 -13
- data/Gemfile.lock +40 -40
- data/LICENSE.txt +21 -21
- data/README.md +37 -35
- data/Rakefile +6 -6
- data/bin/rmxp_extractor +13 -13
- data/bin/setup +8 -8
- data/diff_check.rb +13 -13
- data/lib/rmxp_extractor/classnames.rb +227 -245
- data/lib/rmxp_extractor/data_export.rb +80 -82
- data/lib/rmxp_extractor/data_import.rb +74 -69
- data/lib/rmxp_extractor/ron.rb +144 -144
- data/lib/rmxp_extractor/script_handler.rb +85 -85
- data/lib/rmxp_extractor/version.rb +3 -3
- data/lib/rmxp_extractor.rb +46 -46
- data/rmxp_extractor.gemspec +30 -30
- data/spec/spec_helper.rb +100 -100
- metadata +2 -393
- data/Data/Actors.rxdata +0 -0
- data/Data/Animations.rxdata +0 -0
- data/Data/Armors.rxdata +0 -0
- data/Data/Classes.rxdata +0 -0
- data/Data/CommonEvents.rxdata +0 -0
- data/Data/Enemies.rxdata +0 -0
- data/Data/Items.rxdata +0 -0
- data/Data/Map001.rxdata +0 -0
- data/Data/Map002.rxdata +0 -0
- data/Data/Map003.rxdata +0 -0
- data/Data/Map004.rxdata +0 -0
- data/Data/Map005.rxdata +0 -0
- data/Data/Map006.rxdata +0 -0
- data/Data/Map007.rxdata +0 -0
- data/Data/Map008.rxdata +0 -0
- data/Data/Map009.rxdata +0 -0
- data/Data/Map010.rxdata +0 -0
- data/Data/Map011.rxdata +0 -0
- data/Data/Map012.rxdata +0 -0
- data/Data/Map013.rxdata +0 -0
- data/Data/Map014.rxdata +0 -0
- data/Data/Map015.rxdata +0 -0
- data/Data/Map016.rxdata +0 -0
- data/Data/Map017.rxdata +0 -0
- data/Data/Map018.rxdata +0 -0
- data/Data/Map019.rxdata +0 -0
- data/Data/Map020.rxdata +0 -0
- data/Data/Map021.rxdata +0 -0
- data/Data/Map022.rxdata +0 -0
- data/Data/Map023.rxdata +0 -0
- data/Data/Map024.rxdata +0 -0
- data/Data/Map025.rxdata +0 -0
- data/Data/Map026.rxdata +0 -0
- data/Data/Map027.rxdata +0 -0
- data/Data/Map028.rxdata +0 -0
- data/Data/Map029.rxdata +0 -0
- data/Data/Map030.rxdata +0 -0
- data/Data/Map031.rxdata +0 -0
- data/Data/Map032.rxdata +0 -0
- data/Data/Map033.rxdata +0 -0
- data/Data/Map034.rxdata +0 -0
- data/Data/Map035.rxdata +0 -0
- data/Data/Map036.rxdata +0 -0
- data/Data/Map037.rxdata +0 -0
- data/Data/Map038.rxdata +0 -0
- data/Data/Map039.rxdata +0 -0
- data/Data/Map040.rxdata +0 -0
- data/Data/Map041.rxdata +0 -0
- data/Data/Map042.rxdata +0 -0
- data/Data/Map043.rxdata +0 -0
- data/Data/Map044.rxdata +0 -0
- data/Data/Map045.rxdata +0 -0
- data/Data/Map046.rxdata +0 -0
- data/Data/Map047.rxdata +0 -0
- data/Data/Map048.rxdata +0 -0
- data/Data/Map049.rxdata +0 -0
- data/Data/Map050.rxdata +0 -0
- data/Data/Map051.rxdata +0 -0
- data/Data/Map052.rxdata +0 -0
- data/Data/Map053.rxdata +0 -0
- data/Data/Map054.rxdata +0 -0
- data/Data/Map055.rxdata +0 -0
- data/Data/Map056.rxdata +0 -0
- data/Data/Map057.rxdata +0 -0
- data/Data/Map058.rxdata +0 -0
- data/Data/Map059.rxdata +0 -0
- data/Data/Map060.rxdata +0 -0
- data/Data/Map061.rxdata +0 -0
- data/Data/Map062.rxdata +0 -0
- data/Data/Map063.rxdata +0 -0
- data/Data/Map064.rxdata +0 -0
- data/Data/Map065.rxdata +0 -0
- data/Data/Map066.rxdata +0 -0
- data/Data/Map067.rxdata +0 -0
- data/Data/Map068.rxdata +0 -0
- data/Data/Map069.rxdata +0 -0
- data/Data/Map070.rxdata +0 -0
- data/Data/Map071.rxdata +0 -0
- data/Data/Map072.rxdata +0 -0
- data/Data/Map073.rxdata +0 -0
- data/Data/Map074.rxdata +0 -0
- data/Data/Map075.rxdata +0 -0
- data/Data/Map076.rxdata +0 -0
- data/Data/Map077.rxdata +0 -0
- data/Data/Map078.rxdata +0 -0
- data/Data/Map079.rxdata +0 -0
- data/Data/Map080.rxdata +0 -0
- data/Data/Map081.rxdata +0 -0
- data/Data/Map082.rxdata +0 -0
- data/Data/Map083.rxdata +0 -0
- data/Data/Map084.rxdata +0 -0
- data/Data/Map085.rxdata +0 -0
- data/Data/Map086.rxdata +0 -0
- data/Data/Map087.rxdata +0 -0
- data/Data/Map088.rxdata +0 -0
- data/Data/Map089.rxdata +0 -0
- data/Data/Map090.rxdata +0 -0
- data/Data/Map091.rxdata +0 -0
- data/Data/Map092.rxdata +0 -0
- data/Data/Map093.rxdata +0 -0
- data/Data/Map094.rxdata +0 -0
- data/Data/Map095.rxdata +0 -0
- data/Data/Map096.rxdata +0 -0
- data/Data/Map097.rxdata +0 -0
- data/Data/Map098.rxdata +0 -0
- data/Data/Map099.rxdata +0 -0
- data/Data/Map100.rxdata +0 -0
- data/Data/Map101.rxdata +0 -0
- data/Data/Map102.rxdata +0 -0
- data/Data/Map103.rxdata +0 -0
- data/Data/Map104.rxdata +0 -0
- data/Data/Map105.rxdata +0 -0
- data/Data/Map106.rxdata +0 -0
- data/Data/Map107.rxdata +0 -0
- data/Data/Map108.rxdata +0 -0
- data/Data/Map109.rxdata +0 -0
- data/Data/Map110.rxdata +0 -0
- data/Data/Map111.rxdata +0 -0
- data/Data/Map112.rxdata +0 -0
- data/Data/Map113.rxdata +0 -0
- data/Data/Map114.rxdata +0 -0
- data/Data/Map115.rxdata +0 -0
- data/Data/Map116.rxdata +0 -0
- data/Data/Map117.rxdata +0 -0
- data/Data/Map118.rxdata +0 -0
- data/Data/Map119.rxdata +0 -0
- data/Data/Map120.rxdata +0 -0
- data/Data/Map121.rxdata +0 -0
- data/Data/Map122.rxdata +0 -0
- data/Data/Map123.rxdata +0 -0
- data/Data/Map124.rxdata +0 -0
- data/Data/Map125.rxdata +0 -0
- data/Data/Map126.rxdata +0 -0
- data/Data/Map127.rxdata +0 -0
- data/Data/Map128.rxdata +0 -0
- data/Data/Map129.rxdata +0 -0
- data/Data/Map130.rxdata +0 -0
- data/Data/Map131.rxdata +0 -0
- data/Data/Map132.rxdata +0 -0
- data/Data/Map133.rxdata +0 -0
- data/Data/Map134.rxdata +0 -0
- data/Data/Map135.rxdata +0 -0
- data/Data/Map136.rxdata +0 -0
- data/Data/Map137.rxdata +0 -0
- data/Data/Map138.rxdata +0 -0
- data/Data/Map139.rxdata +0 -0
- data/Data/Map140.rxdata +0 -0
- data/Data/Map141.rxdata +0 -0
- data/Data/Map142.rxdata +0 -0
- data/Data/Map143.rxdata +0 -0
- data/Data/Map144.rxdata +0 -0
- data/Data/Map145.rxdata +0 -0
- data/Data/Map146.rxdata +0 -0
- data/Data/Map147.rxdata +0 -0
- data/Data/Map148.rxdata +0 -0
- data/Data/Map149.rxdata +0 -0
- data/Data/Map150.rxdata +0 -0
- data/Data/Map151.rxdata +0 -0
- data/Data/Map152.rxdata +0 -0
- data/Data/Map153.rxdata +0 -0
- data/Data/Map154.rxdata +0 -0
- data/Data/Map155.rxdata +0 -0
- data/Data/Map156.rxdata +0 -0
- data/Data/Map157.rxdata +0 -0
- data/Data/Map158.rxdata +0 -0
- data/Data/Map159.rxdata +0 -0
- data/Data/Map160.rxdata +0 -0
- data/Data/Map161.rxdata +0 -0
- data/Data/Map162.rxdata +0 -0
- data/Data/Map163.rxdata +0 -0
- data/Data/Map164.rxdata +0 -0
- data/Data/Map165.rxdata +0 -0
- data/Data/Map166.rxdata +0 -0
- data/Data/Map167.rxdata +0 -0
- data/Data/Map168.rxdata +0 -0
- data/Data/Map169.rxdata +0 -0
- data/Data/Map170.rxdata +0 -0
- data/Data/Map171.rxdata +0 -0
- data/Data/Map172.rxdata +0 -0
- data/Data/Map173.rxdata +0 -0
- data/Data/Map174.rxdata +0 -0
- data/Data/Map175.rxdata +0 -0
- data/Data/Map176.rxdata +0 -0
- data/Data/Map177.rxdata +0 -0
- data/Data/Map178.rxdata +0 -0
- data/Data/Map179.rxdata +0 -0
- data/Data/Map180.rxdata +0 -0
- data/Data/Map181.rxdata +0 -0
- data/Data/Map182.rxdata +0 -0
- data/Data/Map183.rxdata +0 -0
- data/Data/Map184.rxdata +0 -0
- data/Data/Map185.rxdata +0 -0
- data/Data/Map186.rxdata +0 -0
- data/Data/Map187.rxdata +0 -0
- data/Data/Map188.rxdata +0 -0
- data/Data/Map189.rxdata +0 -0
- data/Data/Map190.rxdata +0 -0
- data/Data/Map191.rxdata +0 -0
- data/Data/Map192.rxdata +0 -0
- data/Data/Map193.rxdata +0 -0
- data/Data/Map194.rxdata +0 -0
- data/Data/Map195.rxdata +0 -0
- data/Data/Map196.rxdata +0 -0
- data/Data/Map197.rxdata +0 -0
- data/Data/Map198.rxdata +0 -0
- data/Data/Map199.rxdata +0 -0
- data/Data/Map200.rxdata +0 -0
- data/Data/Map201.rxdata +0 -0
- data/Data/Map202.rxdata +0 -0
- data/Data/Map203.rxdata +0 -0
- data/Data/Map204.rxdata +0 -0
- data/Data/Map205.rxdata +0 -0
- data/Data/Map206.rxdata +0 -0
- data/Data/Map207.rxdata +0 -0
- data/Data/Map208.rxdata +0 -0
- data/Data/Map209.rxdata +0 -0
- data/Data/Map210.rxdata +0 -0
- data/Data/Map211.rxdata +0 -0
- data/Data/Map212.rxdata +0 -0
- data/Data/Map213.rxdata +0 -0
- data/Data/Map214.rxdata +0 -0
- data/Data/Map215.rxdata +0 -0
- data/Data/Map216.rxdata +0 -0
- data/Data/Map217.rxdata +0 -0
- data/Data/Map218.rxdata +0 -0
- data/Data/Map219.rxdata +0 -0
- data/Data/Map220.rxdata +0 -0
- data/Data/Map221.rxdata +0 -0
- data/Data/Map222.rxdata +0 -0
- data/Data/Map223.rxdata +0 -0
- data/Data/Map224.rxdata +0 -0
- data/Data/Map225.rxdata +0 -0
- data/Data/Map226.rxdata +0 -0
- data/Data/Map227.rxdata +0 -0
- data/Data/Map228.rxdata +0 -0
- data/Data/Map229.rxdata +0 -0
- data/Data/Map230.rxdata +0 -0
- data/Data/Map231.rxdata +0 -0
- data/Data/Map232.rxdata +0 -0
- data/Data/Map233.rxdata +0 -0
- data/Data/Map234.rxdata +0 -0
- data/Data/Map235.rxdata +0 -0
- data/Data/Map236.rxdata +0 -0
- data/Data/Map237.rxdata +0 -0
- data/Data/Map238.rxdata +0 -0
- data/Data/Map239.rxdata +0 -0
- data/Data/Map240.rxdata +0 -0
- data/Data/Map241.rxdata +0 -0
- data/Data/Map242.rxdata +0 -0
- data/Data/Map243.rxdata +0 -0
- data/Data/Map244.rxdata +0 -0
- data/Data/Map245.rxdata +0 -0
- data/Data/Map246.rxdata +0 -0
- data/Data/Map247.rxdata +0 -0
- data/Data/Map248.rxdata +0 -0
- data/Data/Map249.rxdata +0 -0
- data/Data/Map250.rxdata +0 -0
- data/Data/Map251.rxdata +0 -0
- data/Data/Map252.rxdata +0 -0
- data/Data/Map253.rxdata +0 -0
- data/Data/Map254.rxdata +0 -0
- data/Data/Map255.rxdata +0 -0
- data/Data/Map256.rxdata +0 -0
- data/Data/Map257.rxdata +0 -0
- data/Data/Map258.rxdata +0 -0
- data/Data/Map259.rxdata +0 -0
- data/Data/Map260.rxdata +0 -0
- data/Data/Map261.rxdata +0 -0
- data/Data/Map262.rxdata +0 -0
- data/Data/Map263.rxdata +0 -0
- data/Data/MapInfos.rxdata +0 -0
- data/Data/Scripts.rxdata +0 -0
- data/Data/Skills.rxdata +0 -0
- data/Data/States.rxdata +0 -0
- data/Data/System.rxdata +0 -0
- data/Data/Tilesets.rxdata +0 -0
- data/Data/Troops.rxdata +0 -0
- data/Data/Weapons.rxdata +0 -0
- data/Data/xScripts.rxdata +0 -0
- data/Scripts/Credits_Message.rb +0 -259
- data/Scripts/Data_FastTravel.rb +0 -50
- data/Scripts/Data_Footsteps.rb +0 -77
- data/Scripts/Data_Item.rb +0 -50
- data/Scripts/Data_SpecialEventData.rb +0 -60
- data/Scripts/Demo.rb +0 -7
- data/Scripts/Desktop_Message.rb +0 -210
- data/Scripts/Doc_Message.rb +0 -273
- data/Scripts/EdText.rb +0 -50
- data/Scripts/Ed_Message.rb +0 -234
- data/Scripts/FastTravel.rb +0 -175
- data/Scripts/Game_Actor.rb +0 -156
- data/Scripts/Game_Actors.rb +0 -28
- data/Scripts/Game_BattleAction.rb +0 -145
- data/Scripts/Game_Battler 1.rb +0 -307
- data/Scripts/Game_Battler 2.rb +0 -294
- data/Scripts/Game_Battler 3.rb +0 -354
- data/Scripts/Game_Character 1.rb +0 -291
- data/Scripts/Game_Character 2.rb +0 -355
- data/Scripts/Game_Character 3.rb +0 -505
- data/Scripts/Game_CommonEvent.rb +0 -70
- data/Scripts/Game_Enemy.rb +0 -317
- data/Scripts/Game_Event.rb +0 -264
- data/Scripts/Game_FastTravel.rb +0 -40
- data/Scripts/Game_Follower.rb +0 -76
- data/Scripts/Game_Light.rb +0 -13
- data/Scripts/Game_Map.rb +0 -551
- data/Scripts/Game_Oneshot.rb +0 -83
- data/Scripts/Game_Party.rb +0 -380
- data/Scripts/Game_Picture.rb +0 -164
- data/Scripts/Game_Player.rb +0 -298
- data/Scripts/Game_Screen.rb +0 -148
- data/Scripts/Game_SelfSwitches.rb +0 -30
- data/Scripts/Game_Switches.rb +0 -45
- data/Scripts/Game_System.rb +0 -210
- data/Scripts/Game_Temp.rb +0 -145
- data/Scripts/Game_Variables.rb +0 -36
- data/Scripts/Interpreter 1.rb +0 -320
- data/Scripts/Interpreter 2.rb +0 -286
- data/Scripts/Interpreter 3.rb +0 -474
- data/Scripts/Interpreter 4.rb +0 -327
- data/Scripts/Interpreter 5.rb +0 -448
- data/Scripts/Interpreter 6.rb +0 -307
- data/Scripts/Interpreter 7.rb +0 -282
- data/Scripts/Main.rb +0 -50
- data/Scripts/Particles.rb +0 -141
- data/Scripts/Persistent.rb +0 -71
- data/Scripts/Puzzle_Film.rb +0 -14
- data/Scripts/Puzzle_Pixel.rb +0 -210
- data/Scripts/Puzzle_Safe.rb +0 -152
- data/Scripts/Puzzle_Sokoban.rb +0 -14
- data/Scripts/RPG.rb +0 -55
- data/Scripts/SaveLoad.rb +0 -275
- data/Scripts/Scene_Debug.rb +0 -190
- data/Scripts/Scene_End.rb +0 -108
- data/Scripts/Scene_Equip.rb +0 -222
- data/Scripts/Scene_File.rb +0 -111
- data/Scripts/Scene_Item.rb +0 -205
- data/Scripts/Scene_Load.rb +0 -106
- data/Scripts/Scene_Map.rb +0 -540
- data/Scripts/Scene_Menu.rb +0 -213
- data/Scripts/Scene_Name.rb +0 -113
- data/Scripts/Scene_Save.rb +0 -88
- data/Scripts/Scene_Skill.rb +0 -232
- data/Scripts/Scene_Status.rb +0 -78
- data/Scripts/Scene_Title.rb +0 -237
- data/Scripts/Script.rb +0 -780
- data/Scripts/Sprite_Battler.rb +0 -131
- data/Scripts/Sprite_Character.rb +0 -192
- data/Scripts/Sprite_Footprint.rb +0 -35
- data/Scripts/Sprite_Footsplash.rb +0 -54
- data/Scripts/Sprite_Light.rb +0 -18
- data/Scripts/Sprite_MapText.rb +0 -63
- data/Scripts/Sprite_Picture.rb +0 -72
- data/Scripts/Sprite_Timer.rb +0 -52
- data/Scripts/Spriteset_Map.rb +0 -370
- data/Scripts/Window_Base.rb +0 -327
- data/Scripts/Window_BattleResult.rb +0 -51
- data/Scripts/Window_BattleStatus.rb +0 -62
- data/Scripts/Window_Command.rb +0 -49
- data/Scripts/Window_DebugLeft.rb +0 -57
- data/Scripts/Window_DebugRight.rb +0 -69
- data/Scripts/Window_EquipItem.rb +0 -94
- data/Scripts/Window_EquipLeft.rb +0 -61
- data/Scripts/Window_EquipRight.rb +0 -56
- data/Scripts/Window_Gold.rb +0 -27
- data/Scripts/Window_Help.rb +0 -33
- data/Scripts/Window_InputNumber.rb +0 -111
- data/Scripts/Window_Item.rb +0 -229
- data/Scripts/Window_MainMenu.rb +0 -150
- data/Scripts/Window_MenuStatus.rb +0 -48
- data/Scripts/Window_Message.rb +0 -459
- data/Scripts/Window_NameEdit.rb +0 -108
- data/Scripts/Window_NameInput.rb +0 -262
- data/Scripts/Window_PartyCommand.rb +0 -42
- data/Scripts/Window_PlayTime.rb +0 -40
- data/Scripts/Window_SaveFile.rb +0 -91
- data/Scripts/Window_Selectable.rb +0 -203
- data/Scripts/Window_Settings.rb +0 -469
- data/Scripts/Window_ShopBuy.rb +0 -93
- data/Scripts/Window_ShopCommand.rb +0 -37
- data/Scripts/Window_ShopNumber.rb +0 -87
- data/Scripts/Window_ShopSell.rb +0 -94
- data/Scripts/Window_ShopStatus.rb +0 -107
- data/Scripts/Window_Skill.rb +0 -83
- data/Scripts/Window_SkillStatus.rb +0 -28
- data/Scripts/Window_Status.rb +0 -64
- data/Scripts/Window_Steps.rb +0 -26
- data/Scripts/Window_Target.rb +0 -49
- data/Scripts/_scripts.txt +0 -111
- data/Scripts/i18n_English.rb +0 -59
- data/Scripts/i18n_Language.rb +0 -130
data/Scripts/Game_Battler 2.rb
DELETED
|
@@ -1,294 +0,0 @@
|
|
|
1
|
-
#==============================================================================
|
|
2
|
-
# ** Game_Battler (part 2)
|
|
3
|
-
#------------------------------------------------------------------------------
|
|
4
|
-
# This class deals with battlers. It's used as a superclass for the Game_Actor
|
|
5
|
-
# and Game_Enemy classes.
|
|
6
|
-
#==============================================================================
|
|
7
|
-
|
|
8
|
-
class Game_Battler
|
|
9
|
-
#--------------------------------------------------------------------------
|
|
10
|
-
# * Check State
|
|
11
|
-
# state_id : state ID
|
|
12
|
-
#--------------------------------------------------------------------------
|
|
13
|
-
def state?(state_id)
|
|
14
|
-
# Return true if the applicable state is added.
|
|
15
|
-
return @states.include?(state_id)
|
|
16
|
-
end
|
|
17
|
-
#--------------------------------------------------------------------------
|
|
18
|
-
# * Determine if a state is full or not.
|
|
19
|
-
# state_id : state ID
|
|
20
|
-
#--------------------------------------------------------------------------
|
|
21
|
-
def state_full?(state_id)
|
|
22
|
-
# Return false if the applicable state is not added.
|
|
23
|
-
unless self.state?(state_id)
|
|
24
|
-
return false
|
|
25
|
-
end
|
|
26
|
-
# Return true if the number of maintenance turns is -1 (auto state).
|
|
27
|
-
if @states_turn[state_id] == -1
|
|
28
|
-
return true
|
|
29
|
-
end
|
|
30
|
-
# Return true if the number of maintenance turns is equal to the
|
|
31
|
-
# lowest number of natural removal turns.
|
|
32
|
-
return @states_turn[state_id] == $data_states[state_id].hold_turn
|
|
33
|
-
end
|
|
34
|
-
#--------------------------------------------------------------------------
|
|
35
|
-
# * Add State
|
|
36
|
-
# state_id : state ID
|
|
37
|
-
# force : forcefully added flag (used to deal with auto state)
|
|
38
|
-
#--------------------------------------------------------------------------
|
|
39
|
-
def add_state(state_id, force = false)
|
|
40
|
-
# For an ineffective state
|
|
41
|
-
if $data_states[state_id] == nil
|
|
42
|
-
# End Method
|
|
43
|
-
return
|
|
44
|
-
end
|
|
45
|
-
# If not forcefully added
|
|
46
|
-
unless force
|
|
47
|
-
# A state loop already in existance
|
|
48
|
-
for i in @states
|
|
49
|
-
# If a new state is included in the state change (-) of an existing
|
|
50
|
-
# state, and that state is not included in the state change (-) of
|
|
51
|
-
# a new state (example: an attempt to add poison during dead)
|
|
52
|
-
if $data_states[i].minus_state_set.include?(state_id) and
|
|
53
|
-
not $data_states[state_id].minus_state_set.include?(i)
|
|
54
|
-
# End Method
|
|
55
|
-
return
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
# If this state is not added
|
|
60
|
-
unless state?(state_id)
|
|
61
|
-
# Add state ID to @states array
|
|
62
|
-
@states.push(state_id)
|
|
63
|
-
# If option [regarded as HP 0]is effective
|
|
64
|
-
if $data_states[state_id].zero_hp
|
|
65
|
-
# Change HP to 0
|
|
66
|
-
@hp = 0
|
|
67
|
-
end
|
|
68
|
-
# All state loops
|
|
69
|
-
for i in 1...$data_states.size
|
|
70
|
-
# Dealing with a state change (+)
|
|
71
|
-
if $data_states[state_id].plus_state_set.include?(i)
|
|
72
|
-
add_state(i)
|
|
73
|
-
end
|
|
74
|
-
# Dealing with a state change (-)
|
|
75
|
-
if $data_states[state_id].minus_state_set.include?(i)
|
|
76
|
-
remove_state(i)
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
# line change to a large rating order (if value is the same, then a
|
|
80
|
-
# strong restriction order)
|
|
81
|
-
@states.sort! do |a, b|
|
|
82
|
-
state_a = $data_states[a]
|
|
83
|
-
state_b = $data_states[b]
|
|
84
|
-
if state_a.rating > state_b.rating
|
|
85
|
-
-1
|
|
86
|
-
elsif state_a.rating < state_b.rating
|
|
87
|
-
+1
|
|
88
|
-
elsif state_a.restriction > state_b.restriction
|
|
89
|
-
-1
|
|
90
|
-
elsif state_a.restriction < state_b.restriction
|
|
91
|
-
+1
|
|
92
|
-
else
|
|
93
|
-
a <=> b
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
# If added forcefully
|
|
98
|
-
if force
|
|
99
|
-
# Set the natural removal's lowest number of turns to -1
|
|
100
|
-
@states_turn[state_id] = -1
|
|
101
|
-
end
|
|
102
|
-
# If not added forcefully
|
|
103
|
-
unless @states_turn[state_id] == -1
|
|
104
|
-
# Set the natural removal's lowest number of turns
|
|
105
|
-
@states_turn[state_id] = $data_states[state_id].hold_turn
|
|
106
|
-
end
|
|
107
|
-
# If unable to move
|
|
108
|
-
unless movable?
|
|
109
|
-
# Clear action
|
|
110
|
-
@current_action.clear
|
|
111
|
-
end
|
|
112
|
-
# Check the maximum value of HP and SP
|
|
113
|
-
@hp = [@hp, self.maxhp].min
|
|
114
|
-
@sp = [@sp, self.maxsp].min
|
|
115
|
-
end
|
|
116
|
-
#--------------------------------------------------------------------------
|
|
117
|
-
# * Remove State
|
|
118
|
-
# state_id : state ID
|
|
119
|
-
# force : forcefully removed flag (used to deal with auto state)
|
|
120
|
-
#--------------------------------------------------------------------------
|
|
121
|
-
def remove_state(state_id, force = false)
|
|
122
|
-
# If this state is added
|
|
123
|
-
if state?(state_id)
|
|
124
|
-
# If a forcefully added state is not forcefully removed
|
|
125
|
-
if @states_turn[state_id] == -1 and not force
|
|
126
|
-
# End Method
|
|
127
|
-
return
|
|
128
|
-
end
|
|
129
|
-
# If current HP is at 0 and options are effective [regarded as HP 0]
|
|
130
|
-
if @hp == 0 and $data_states[state_id].zero_hp
|
|
131
|
-
# Determine if there's another state [regarded as HP 0] or not
|
|
132
|
-
zero_hp = false
|
|
133
|
-
for i in @states
|
|
134
|
-
if i != state_id and $data_states[i].zero_hp
|
|
135
|
-
zero_hp = true
|
|
136
|
-
end
|
|
137
|
-
end
|
|
138
|
-
# Change HP to 1 if OK to remove incapacitation.
|
|
139
|
-
if zero_hp == false
|
|
140
|
-
@hp = 1
|
|
141
|
-
end
|
|
142
|
-
end
|
|
143
|
-
# Delete state ID from @states and @states_turn hash array
|
|
144
|
-
@states.delete(state_id)
|
|
145
|
-
@states_turn.delete(state_id)
|
|
146
|
-
end
|
|
147
|
-
# Check maximum value for HP and SP
|
|
148
|
-
@hp = [@hp, self.maxhp].min
|
|
149
|
-
@sp = [@sp, self.maxsp].min
|
|
150
|
-
end
|
|
151
|
-
#--------------------------------------------------------------------------
|
|
152
|
-
# * Get State Animation ID
|
|
153
|
-
#--------------------------------------------------------------------------
|
|
154
|
-
def state_animation_id
|
|
155
|
-
# If no states are added
|
|
156
|
-
if @states.size == 0
|
|
157
|
-
return 0
|
|
158
|
-
end
|
|
159
|
-
# Return state animation ID with maximum rating
|
|
160
|
-
return $data_states[@states[0]].animation_id
|
|
161
|
-
end
|
|
162
|
-
#--------------------------------------------------------------------------
|
|
163
|
-
# * Get Restriction
|
|
164
|
-
#--------------------------------------------------------------------------
|
|
165
|
-
def restriction
|
|
166
|
-
restriction_max = 0
|
|
167
|
-
# Get maximum restriction from currently added states
|
|
168
|
-
for i in @states
|
|
169
|
-
if $data_states[i].restriction >= restriction_max
|
|
170
|
-
restriction_max = $data_states[i].restriction
|
|
171
|
-
end
|
|
172
|
-
end
|
|
173
|
-
return restriction_max
|
|
174
|
-
end
|
|
175
|
-
#--------------------------------------------------------------------------
|
|
176
|
-
# * Determine [Can't Get EXP] States
|
|
177
|
-
#--------------------------------------------------------------------------
|
|
178
|
-
def cant_get_exp?
|
|
179
|
-
for i in @states
|
|
180
|
-
if $data_states[i].cant_get_exp
|
|
181
|
-
return true
|
|
182
|
-
end
|
|
183
|
-
end
|
|
184
|
-
return false
|
|
185
|
-
end
|
|
186
|
-
#--------------------------------------------------------------------------
|
|
187
|
-
# * Determine [Can't Evade] States
|
|
188
|
-
#--------------------------------------------------------------------------
|
|
189
|
-
def cant_evade?
|
|
190
|
-
for i in @states
|
|
191
|
-
if $data_states[i].cant_evade
|
|
192
|
-
return true
|
|
193
|
-
end
|
|
194
|
-
end
|
|
195
|
-
return false
|
|
196
|
-
end
|
|
197
|
-
#--------------------------------------------------------------------------
|
|
198
|
-
# * Determine [Slip Damage] States
|
|
199
|
-
#--------------------------------------------------------------------------
|
|
200
|
-
def slip_damage?
|
|
201
|
-
for i in @states
|
|
202
|
-
if $data_states[i].slip_damage
|
|
203
|
-
return true
|
|
204
|
-
end
|
|
205
|
-
end
|
|
206
|
-
return false
|
|
207
|
-
end
|
|
208
|
-
#--------------------------------------------------------------------------
|
|
209
|
-
# * Remove Battle States (called up during end of battle)
|
|
210
|
-
#--------------------------------------------------------------------------
|
|
211
|
-
def remove_states_battle
|
|
212
|
-
for i in @states.clone
|
|
213
|
-
if $data_states[i].battle_only
|
|
214
|
-
remove_state(i)
|
|
215
|
-
end
|
|
216
|
-
end
|
|
217
|
-
end
|
|
218
|
-
#--------------------------------------------------------------------------
|
|
219
|
-
# * Natural Removal of States (called up each turn)
|
|
220
|
-
#--------------------------------------------------------------------------
|
|
221
|
-
def remove_states_auto
|
|
222
|
-
for i in @states_turn.keys.clone
|
|
223
|
-
if @states_turn[i] > 0
|
|
224
|
-
@states_turn[i] -= 1
|
|
225
|
-
elsif rand(100) < $data_states[i].auto_release_prob
|
|
226
|
-
remove_state(i)
|
|
227
|
-
end
|
|
228
|
-
end
|
|
229
|
-
end
|
|
230
|
-
#--------------------------------------------------------------------------
|
|
231
|
-
# * State Removed by Shock (called up each time physical damage occurs)
|
|
232
|
-
#--------------------------------------------------------------------------
|
|
233
|
-
def remove_states_shock
|
|
234
|
-
for i in @states.clone
|
|
235
|
-
if rand(100) < $data_states[i].shock_release_prob
|
|
236
|
-
remove_state(i)
|
|
237
|
-
end
|
|
238
|
-
end
|
|
239
|
-
end
|
|
240
|
-
#--------------------------------------------------------------------------
|
|
241
|
-
# * State Change (+) Application
|
|
242
|
-
# plus_state_set : State Change (+)
|
|
243
|
-
#--------------------------------------------------------------------------
|
|
244
|
-
def states_plus(plus_state_set)
|
|
245
|
-
# Clear effective flag
|
|
246
|
-
effective = false
|
|
247
|
-
# Loop (added state)
|
|
248
|
-
for i in plus_state_set
|
|
249
|
-
# If this state is not guarded
|
|
250
|
-
unless self.state_guard?(i)
|
|
251
|
-
# Set effective flag if this state is not full
|
|
252
|
-
effective |= self.state_full?(i) == false
|
|
253
|
-
# If states offer [no resistance]
|
|
254
|
-
if $data_states[i].nonresistance
|
|
255
|
-
# Set state change flag
|
|
256
|
-
@state_changed = true
|
|
257
|
-
# Add a state
|
|
258
|
-
add_state(i)
|
|
259
|
-
# If this state is not full
|
|
260
|
-
elsif self.state_full?(i) == false
|
|
261
|
-
# Convert state effectiveness to probability,
|
|
262
|
-
# compare to random numbers
|
|
263
|
-
if rand(100) < [0,100,80,60,40,20,0][self.state_ranks[i]]
|
|
264
|
-
# Set state change flag
|
|
265
|
-
@state_changed = true
|
|
266
|
-
# Add a state
|
|
267
|
-
add_state(i)
|
|
268
|
-
end
|
|
269
|
-
end
|
|
270
|
-
end
|
|
271
|
-
end
|
|
272
|
-
# End Method
|
|
273
|
-
return effective
|
|
274
|
-
end
|
|
275
|
-
#--------------------------------------------------------------------------
|
|
276
|
-
# * Apply State Change (-)
|
|
277
|
-
# minus_state_set : state change (-)
|
|
278
|
-
#--------------------------------------------------------------------------
|
|
279
|
-
def states_minus(minus_state_set)
|
|
280
|
-
# Clear effective flag
|
|
281
|
-
effective = false
|
|
282
|
-
# Loop (state to be removed)
|
|
283
|
-
for i in minus_state_set
|
|
284
|
-
# Set effective flag if this state is added
|
|
285
|
-
effective |= self.state?(i)
|
|
286
|
-
# Set a state change flag
|
|
287
|
-
@state_changed = true
|
|
288
|
-
# Remove state
|
|
289
|
-
remove_state(i)
|
|
290
|
-
end
|
|
291
|
-
# End Method
|
|
292
|
-
return effective
|
|
293
|
-
end
|
|
294
|
-
end
|
data/Scripts/Game_Battler 3.rb
DELETED
|
@@ -1,354 +0,0 @@
|
|
|
1
|
-
#==============================================================================
|
|
2
|
-
# ** Game_Battler (part 3)
|
|
3
|
-
#------------------------------------------------------------------------------
|
|
4
|
-
# This class deals with battlers. It's used as a superclass for the Game_Actor
|
|
5
|
-
# and Game_Enemy classes.
|
|
6
|
-
#==============================================================================
|
|
7
|
-
|
|
8
|
-
class Game_Battler
|
|
9
|
-
#--------------------------------------------------------------------------
|
|
10
|
-
# * Determine Usable Skills
|
|
11
|
-
# skill_id : skill ID
|
|
12
|
-
#--------------------------------------------------------------------------
|
|
13
|
-
def skill_can_use?(skill_id)
|
|
14
|
-
# If there's not enough SP, the skill cannot be used.
|
|
15
|
-
if $data_skills[skill_id].sp_cost > self.sp
|
|
16
|
-
return false
|
|
17
|
-
end
|
|
18
|
-
# Unusable if incapacitated
|
|
19
|
-
if dead?
|
|
20
|
-
return false
|
|
21
|
-
end
|
|
22
|
-
# If silent, only physical skills can be used
|
|
23
|
-
if $data_skills[skill_id].atk_f == 0 and self.restriction == 1
|
|
24
|
-
return false
|
|
25
|
-
end
|
|
26
|
-
# Get usable time
|
|
27
|
-
occasion = $data_skills[skill_id].occasion
|
|
28
|
-
# If in battle
|
|
29
|
-
if $game_temp.in_battle
|
|
30
|
-
# Usable with [Normal] and [Only Battle]
|
|
31
|
-
return (occasion == 0 or occasion == 1)
|
|
32
|
-
# If not in battle
|
|
33
|
-
else
|
|
34
|
-
# Usable with [Normal] and [Only Menu]
|
|
35
|
-
return (occasion == 0 or occasion == 2)
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
#--------------------------------------------------------------------------
|
|
39
|
-
# * Applying Normal Attack Effects
|
|
40
|
-
# attacker : battler
|
|
41
|
-
#--------------------------------------------------------------------------
|
|
42
|
-
def attack_effect(attacker)
|
|
43
|
-
# Clear critical flag
|
|
44
|
-
self.critical = false
|
|
45
|
-
# First hit detection
|
|
46
|
-
hit_result = (rand(100) < attacker.hit)
|
|
47
|
-
# If hit occurs
|
|
48
|
-
if hit_result == true
|
|
49
|
-
# Calculate basic damage
|
|
50
|
-
atk = [attacker.atk - self.pdef / 2, 0].max
|
|
51
|
-
self.damage = atk * (20 + attacker.str) / 20
|
|
52
|
-
# Element correction
|
|
53
|
-
self.damage *= elements_correct(attacker.element_set)
|
|
54
|
-
self.damage /= 100
|
|
55
|
-
# If damage value is strictly positive
|
|
56
|
-
if self.damage > 0
|
|
57
|
-
# Critical correction
|
|
58
|
-
if rand(100) < 4 * attacker.dex / self.agi
|
|
59
|
-
self.damage *= 2
|
|
60
|
-
self.critical = true
|
|
61
|
-
end
|
|
62
|
-
# Guard correction
|
|
63
|
-
if self.guarding?
|
|
64
|
-
self.damage /= 2
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
# Dispersion
|
|
68
|
-
if self.damage.abs > 0
|
|
69
|
-
amp = [self.damage.abs * 15 / 100, 1].max
|
|
70
|
-
self.damage += rand(amp+1) + rand(amp+1) - amp
|
|
71
|
-
end
|
|
72
|
-
# Second hit detection
|
|
73
|
-
eva = 8 * self.agi / attacker.dex + self.eva
|
|
74
|
-
hit = self.damage < 0 ? 100 : 100 - eva
|
|
75
|
-
hit = self.cant_evade? ? 100 : hit
|
|
76
|
-
hit_result = (rand(100) < hit)
|
|
77
|
-
end
|
|
78
|
-
# If hit occurs
|
|
79
|
-
if hit_result == true
|
|
80
|
-
# State Removed by Shock
|
|
81
|
-
remove_states_shock
|
|
82
|
-
# Substract damage from HP
|
|
83
|
-
self.hp -= self.damage
|
|
84
|
-
# State change
|
|
85
|
-
@state_changed = false
|
|
86
|
-
states_plus(attacker.plus_state_set)
|
|
87
|
-
states_minus(attacker.minus_state_set)
|
|
88
|
-
# When missing
|
|
89
|
-
else
|
|
90
|
-
# Set damage to "Miss"
|
|
91
|
-
self.damage = "Miss"
|
|
92
|
-
# Clear critical flag
|
|
93
|
-
self.critical = false
|
|
94
|
-
end
|
|
95
|
-
# End Method
|
|
96
|
-
return true
|
|
97
|
-
end
|
|
98
|
-
#--------------------------------------------------------------------------
|
|
99
|
-
# * Apply Skill Effects
|
|
100
|
-
# user : the one using skills (battler)
|
|
101
|
-
# skill : skill
|
|
102
|
-
#--------------------------------------------------------------------------
|
|
103
|
-
def skill_effect(user, skill)
|
|
104
|
-
# Clear critical flag
|
|
105
|
-
self.critical = false
|
|
106
|
-
# If skill scope is for ally with 1 or more HP, and your own HP = 0,
|
|
107
|
-
# or skill scope is for ally with 0, and your own HP = 1 or more
|
|
108
|
-
if ((skill.scope == 3 or skill.scope == 4) and self.hp == 0) or
|
|
109
|
-
((skill.scope == 5 or skill.scope == 6) and self.hp >= 1)
|
|
110
|
-
# End Method
|
|
111
|
-
return false
|
|
112
|
-
end
|
|
113
|
-
# Clear effective flag
|
|
114
|
-
effective = false
|
|
115
|
-
# Set effective flag if common ID is effective
|
|
116
|
-
effective |= skill.common_event_id > 0
|
|
117
|
-
# First hit detection
|
|
118
|
-
hit = skill.hit
|
|
119
|
-
if skill.atk_f > 0
|
|
120
|
-
hit *= user.hit / 100
|
|
121
|
-
end
|
|
122
|
-
hit_result = (rand(100) < hit)
|
|
123
|
-
# Set effective flag if skill is uncertain
|
|
124
|
-
effective |= hit < 100
|
|
125
|
-
# If hit occurs
|
|
126
|
-
if hit_result == true
|
|
127
|
-
# Calculate power
|
|
128
|
-
power = skill.power + user.atk * skill.atk_f / 100
|
|
129
|
-
if power > 0
|
|
130
|
-
power -= self.pdef * skill.pdef_f / 200
|
|
131
|
-
power -= self.mdef * skill.mdef_f / 200
|
|
132
|
-
power = [power, 0].max
|
|
133
|
-
end
|
|
134
|
-
# Calculate rate
|
|
135
|
-
rate = 20
|
|
136
|
-
rate += (user.str * skill.str_f / 100)
|
|
137
|
-
rate += (user.dex * skill.dex_f / 100)
|
|
138
|
-
rate += (user.agi * skill.agi_f / 100)
|
|
139
|
-
rate += (user.int * skill.int_f / 100)
|
|
140
|
-
# Calculate basic damage
|
|
141
|
-
self.damage = power * rate / 20
|
|
142
|
-
# Element correction
|
|
143
|
-
self.damage *= elements_correct(skill.element_set)
|
|
144
|
-
self.damage /= 100
|
|
145
|
-
# If damage value is strictly positive
|
|
146
|
-
if self.damage > 0
|
|
147
|
-
# Guard correction
|
|
148
|
-
if self.guarding?
|
|
149
|
-
self.damage /= 2
|
|
150
|
-
end
|
|
151
|
-
end
|
|
152
|
-
# Dispersion
|
|
153
|
-
if skill.variance > 0 and self.damage.abs > 0
|
|
154
|
-
amp = [self.damage.abs * skill.variance / 100, 1].max
|
|
155
|
-
self.damage += rand(amp+1) + rand(amp+1) - amp
|
|
156
|
-
end
|
|
157
|
-
# Second hit detection
|
|
158
|
-
eva = 8 * self.agi / user.dex + self.eva
|
|
159
|
-
hit = self.damage < 0 ? 100 : 100 - eva * skill.eva_f / 100
|
|
160
|
-
hit = self.cant_evade? ? 100 : hit
|
|
161
|
-
hit_result = (rand(100) < hit)
|
|
162
|
-
# Set effective flag if skill is uncertain
|
|
163
|
-
effective |= hit < 100
|
|
164
|
-
end
|
|
165
|
-
# If hit occurs
|
|
166
|
-
if hit_result == true
|
|
167
|
-
# If physical attack has power other than 0
|
|
168
|
-
if skill.power != 0 and skill.atk_f > 0
|
|
169
|
-
# State Removed by Shock
|
|
170
|
-
remove_states_shock
|
|
171
|
-
# Set to effective flag
|
|
172
|
-
effective = true
|
|
173
|
-
end
|
|
174
|
-
# Substract damage from HP
|
|
175
|
-
last_hp = self.hp
|
|
176
|
-
self.hp -= self.damage
|
|
177
|
-
effective |= self.hp != last_hp
|
|
178
|
-
# State change
|
|
179
|
-
@state_changed = false
|
|
180
|
-
effective |= states_plus(skill.plus_state_set)
|
|
181
|
-
effective |= states_minus(skill.minus_state_set)
|
|
182
|
-
# If power is 0
|
|
183
|
-
if skill.power == 0
|
|
184
|
-
# Set damage to an empty string
|
|
185
|
-
self.damage = ""
|
|
186
|
-
# If state is unchanged
|
|
187
|
-
unless @state_changed
|
|
188
|
-
# Set damage to "Miss"
|
|
189
|
-
self.damage = "Miss"
|
|
190
|
-
end
|
|
191
|
-
end
|
|
192
|
-
# If miss occurs
|
|
193
|
-
else
|
|
194
|
-
# Set damage to "Miss"
|
|
195
|
-
self.damage = "Miss"
|
|
196
|
-
end
|
|
197
|
-
# If not in battle
|
|
198
|
-
unless $game_temp.in_battle
|
|
199
|
-
# Set damage to nil
|
|
200
|
-
self.damage = nil
|
|
201
|
-
end
|
|
202
|
-
# End Method
|
|
203
|
-
return effective
|
|
204
|
-
end
|
|
205
|
-
#--------------------------------------------------------------------------
|
|
206
|
-
# * Application of Item Effects
|
|
207
|
-
# item : item
|
|
208
|
-
#--------------------------------------------------------------------------
|
|
209
|
-
def item_effect(item)
|
|
210
|
-
# Clear critical flag
|
|
211
|
-
self.critical = false
|
|
212
|
-
# If item scope is for ally with 1 or more HP, and your own HP = 0,
|
|
213
|
-
# or item scope is for ally with 0 HP, and your own HP = 1 or more
|
|
214
|
-
if ((item.scope == 3 or item.scope == 4) and self.hp == 0) or
|
|
215
|
-
((item.scope == 5 or item.scope == 6) and self.hp >= 1)
|
|
216
|
-
# End Method
|
|
217
|
-
return false
|
|
218
|
-
end
|
|
219
|
-
# Clear effective flag
|
|
220
|
-
effective = false
|
|
221
|
-
# Set effective flag if common ID is effective
|
|
222
|
-
effective |= item.common_event_id > 0
|
|
223
|
-
# Determine hit
|
|
224
|
-
hit_result = (rand(100) < item.hit)
|
|
225
|
-
# Set effective flag is skill is uncertain
|
|
226
|
-
effective |= item.hit < 100
|
|
227
|
-
# If hit occurs
|
|
228
|
-
if hit_result == true
|
|
229
|
-
# Calculate amount of recovery
|
|
230
|
-
recover_hp = maxhp * item.recover_hp_rate / 100 + item.recover_hp
|
|
231
|
-
recover_sp = maxsp * item.recover_sp_rate / 100 + item.recover_sp
|
|
232
|
-
if recover_hp < 0
|
|
233
|
-
recover_hp += self.pdef * item.pdef_f / 20
|
|
234
|
-
recover_hp += self.mdef * item.mdef_f / 20
|
|
235
|
-
recover_hp = [recover_hp, 0].min
|
|
236
|
-
end
|
|
237
|
-
# Element correction
|
|
238
|
-
recover_hp *= elements_correct(item.element_set)
|
|
239
|
-
recover_hp /= 100
|
|
240
|
-
recover_sp *= elements_correct(item.element_set)
|
|
241
|
-
recover_sp /= 100
|
|
242
|
-
# Dispersion
|
|
243
|
-
if item.variance > 0 and recover_hp.abs > 0
|
|
244
|
-
amp = [recover_hp.abs * item.variance / 100, 1].max
|
|
245
|
-
recover_hp += rand(amp+1) + rand(amp+1) - amp
|
|
246
|
-
end
|
|
247
|
-
if item.variance > 0 and recover_sp.abs > 0
|
|
248
|
-
amp = [recover_sp.abs * item.variance / 100, 1].max
|
|
249
|
-
recover_sp += rand(amp+1) + rand(amp+1) - amp
|
|
250
|
-
end
|
|
251
|
-
# If recovery code is negative
|
|
252
|
-
if recover_hp < 0
|
|
253
|
-
# Guard correction
|
|
254
|
-
if self.guarding?
|
|
255
|
-
recover_hp /= 2
|
|
256
|
-
end
|
|
257
|
-
end
|
|
258
|
-
# Set damage value and reverse HP recovery amount
|
|
259
|
-
self.damage = -recover_hp
|
|
260
|
-
# HP and SP recovery
|
|
261
|
-
last_hp = self.hp
|
|
262
|
-
last_sp = self.sp
|
|
263
|
-
self.hp += recover_hp
|
|
264
|
-
self.sp += recover_sp
|
|
265
|
-
effective |= self.hp != last_hp
|
|
266
|
-
effective |= self.sp != last_sp
|
|
267
|
-
# State change
|
|
268
|
-
@state_changed = false
|
|
269
|
-
effective |= states_plus(item.plus_state_set)
|
|
270
|
-
effective |= states_minus(item.minus_state_set)
|
|
271
|
-
# If parameter value increase is effective
|
|
272
|
-
if item.parameter_type > 0 and item.parameter_points != 0
|
|
273
|
-
# Branch by parameter
|
|
274
|
-
case item.parameter_type
|
|
275
|
-
when 1 # Max HP
|
|
276
|
-
@maxhp_plus += item.parameter_points
|
|
277
|
-
when 2 # Max SP
|
|
278
|
-
@maxsp_plus += item.parameter_points
|
|
279
|
-
when 3 # Strength
|
|
280
|
-
@str_plus += item.parameter_points
|
|
281
|
-
when 4 # Dexterity
|
|
282
|
-
@dex_plus += item.parameter_points
|
|
283
|
-
when 5 # Agility
|
|
284
|
-
@agi_plus += item.parameter_points
|
|
285
|
-
when 6 # Intelligence
|
|
286
|
-
@int_plus += item.parameter_points
|
|
287
|
-
end
|
|
288
|
-
# Set to effective flag
|
|
289
|
-
effective = true
|
|
290
|
-
end
|
|
291
|
-
# If HP recovery rate and recovery amount are 0
|
|
292
|
-
if item.recover_hp_rate == 0 and item.recover_hp == 0
|
|
293
|
-
# Set damage to empty string
|
|
294
|
-
self.damage = ""
|
|
295
|
-
# If SP recovery rate / recovery amount are 0, and parameter increase
|
|
296
|
-
# value is ineffective.
|
|
297
|
-
if item.recover_sp_rate == 0 and item.recover_sp == 0 and
|
|
298
|
-
(item.parameter_type == 0 or item.parameter_points == 0)
|
|
299
|
-
# If state is unchanged
|
|
300
|
-
unless @state_changed
|
|
301
|
-
# Set damage to "Miss"
|
|
302
|
-
self.damage = "Miss"
|
|
303
|
-
end
|
|
304
|
-
end
|
|
305
|
-
end
|
|
306
|
-
# If miss occurs
|
|
307
|
-
else
|
|
308
|
-
# Set damage to "Miss"
|
|
309
|
-
self.damage = "Miss"
|
|
310
|
-
end
|
|
311
|
-
# If not in battle
|
|
312
|
-
unless $game_temp.in_battle
|
|
313
|
-
# Set damage to nil
|
|
314
|
-
self.damage = nil
|
|
315
|
-
end
|
|
316
|
-
# End Method
|
|
317
|
-
return effective
|
|
318
|
-
end
|
|
319
|
-
#--------------------------------------------------------------------------
|
|
320
|
-
# * Application of Slip Damage Effects
|
|
321
|
-
#--------------------------------------------------------------------------
|
|
322
|
-
def slip_damage_effect
|
|
323
|
-
# Set damage
|
|
324
|
-
self.damage = self.maxhp / 10
|
|
325
|
-
# Dispersion
|
|
326
|
-
if self.damage.abs > 0
|
|
327
|
-
amp = [self.damage.abs * 15 / 100, 1].max
|
|
328
|
-
self.damage += rand(amp+1) + rand(amp+1) - amp
|
|
329
|
-
end
|
|
330
|
-
# Subtract damage from HP
|
|
331
|
-
self.hp -= self.damage
|
|
332
|
-
# End Method
|
|
333
|
-
return true
|
|
334
|
-
end
|
|
335
|
-
#--------------------------------------------------------------------------
|
|
336
|
-
# * Calculating Element Correction
|
|
337
|
-
# element_set : element
|
|
338
|
-
#--------------------------------------------------------------------------
|
|
339
|
-
def elements_correct(element_set)
|
|
340
|
-
# If not an element
|
|
341
|
-
if element_set == []
|
|
342
|
-
# Return 100
|
|
343
|
-
return 100
|
|
344
|
-
end
|
|
345
|
-
# Return the weakest object among the elements given
|
|
346
|
-
# * "element_rate" method is defined by Game_Actor and Game_Enemy classes,
|
|
347
|
-
# which inherit from this class.
|
|
348
|
-
weakest = -100
|
|
349
|
-
for i in element_set
|
|
350
|
-
weakest = [weakest, self.element_rate(i)].max
|
|
351
|
-
end
|
|
352
|
-
return weakest
|
|
353
|
-
end
|
|
354
|
-
end
|