rmxp_extractor 1.8 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (411) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +74 -74
  3. data/Gemfile +13 -13
  4. data/Gemfile.lock +40 -40
  5. data/LICENSE.txt +21 -21
  6. data/README.md +37 -35
  7. data/Rakefile +6 -6
  8. data/bin/rmxp_extractor +13 -13
  9. data/bin/setup +8 -8
  10. data/diff_check.rb +13 -13
  11. data/lib/rmxp_extractor/classnames.rb +227 -245
  12. data/lib/rmxp_extractor/data_export.rb +80 -82
  13. data/lib/rmxp_extractor/data_import.rb +74 -69
  14. data/lib/rmxp_extractor/ron.rb +144 -144
  15. data/lib/rmxp_extractor/script_handler.rb +85 -85
  16. data/lib/rmxp_extractor/version.rb +3 -3
  17. data/lib/rmxp_extractor.rb +46 -46
  18. data/rmxp_extractor.gemspec +30 -30
  19. data/spec/spec_helper.rb +100 -100
  20. metadata +2 -393
  21. data/Data/Actors.rxdata +0 -0
  22. data/Data/Animations.rxdata +0 -0
  23. data/Data/Armors.rxdata +0 -0
  24. data/Data/Classes.rxdata +0 -0
  25. data/Data/CommonEvents.rxdata +0 -0
  26. data/Data/Enemies.rxdata +0 -0
  27. data/Data/Items.rxdata +0 -0
  28. data/Data/Map001.rxdata +0 -0
  29. data/Data/Map002.rxdata +0 -0
  30. data/Data/Map003.rxdata +0 -0
  31. data/Data/Map004.rxdata +0 -0
  32. data/Data/Map005.rxdata +0 -0
  33. data/Data/Map006.rxdata +0 -0
  34. data/Data/Map007.rxdata +0 -0
  35. data/Data/Map008.rxdata +0 -0
  36. data/Data/Map009.rxdata +0 -0
  37. data/Data/Map010.rxdata +0 -0
  38. data/Data/Map011.rxdata +0 -0
  39. data/Data/Map012.rxdata +0 -0
  40. data/Data/Map013.rxdata +0 -0
  41. data/Data/Map014.rxdata +0 -0
  42. data/Data/Map015.rxdata +0 -0
  43. data/Data/Map016.rxdata +0 -0
  44. data/Data/Map017.rxdata +0 -0
  45. data/Data/Map018.rxdata +0 -0
  46. data/Data/Map019.rxdata +0 -0
  47. data/Data/Map020.rxdata +0 -0
  48. data/Data/Map021.rxdata +0 -0
  49. data/Data/Map022.rxdata +0 -0
  50. data/Data/Map023.rxdata +0 -0
  51. data/Data/Map024.rxdata +0 -0
  52. data/Data/Map025.rxdata +0 -0
  53. data/Data/Map026.rxdata +0 -0
  54. data/Data/Map027.rxdata +0 -0
  55. data/Data/Map028.rxdata +0 -0
  56. data/Data/Map029.rxdata +0 -0
  57. data/Data/Map030.rxdata +0 -0
  58. data/Data/Map031.rxdata +0 -0
  59. data/Data/Map032.rxdata +0 -0
  60. data/Data/Map033.rxdata +0 -0
  61. data/Data/Map034.rxdata +0 -0
  62. data/Data/Map035.rxdata +0 -0
  63. data/Data/Map036.rxdata +0 -0
  64. data/Data/Map037.rxdata +0 -0
  65. data/Data/Map038.rxdata +0 -0
  66. data/Data/Map039.rxdata +0 -0
  67. data/Data/Map040.rxdata +0 -0
  68. data/Data/Map041.rxdata +0 -0
  69. data/Data/Map042.rxdata +0 -0
  70. data/Data/Map043.rxdata +0 -0
  71. data/Data/Map044.rxdata +0 -0
  72. data/Data/Map045.rxdata +0 -0
  73. data/Data/Map046.rxdata +0 -0
  74. data/Data/Map047.rxdata +0 -0
  75. data/Data/Map048.rxdata +0 -0
  76. data/Data/Map049.rxdata +0 -0
  77. data/Data/Map050.rxdata +0 -0
  78. data/Data/Map051.rxdata +0 -0
  79. data/Data/Map052.rxdata +0 -0
  80. data/Data/Map053.rxdata +0 -0
  81. data/Data/Map054.rxdata +0 -0
  82. data/Data/Map055.rxdata +0 -0
  83. data/Data/Map056.rxdata +0 -0
  84. data/Data/Map057.rxdata +0 -0
  85. data/Data/Map058.rxdata +0 -0
  86. data/Data/Map059.rxdata +0 -0
  87. data/Data/Map060.rxdata +0 -0
  88. data/Data/Map061.rxdata +0 -0
  89. data/Data/Map062.rxdata +0 -0
  90. data/Data/Map063.rxdata +0 -0
  91. data/Data/Map064.rxdata +0 -0
  92. data/Data/Map065.rxdata +0 -0
  93. data/Data/Map066.rxdata +0 -0
  94. data/Data/Map067.rxdata +0 -0
  95. data/Data/Map068.rxdata +0 -0
  96. data/Data/Map069.rxdata +0 -0
  97. data/Data/Map070.rxdata +0 -0
  98. data/Data/Map071.rxdata +0 -0
  99. data/Data/Map072.rxdata +0 -0
  100. data/Data/Map073.rxdata +0 -0
  101. data/Data/Map074.rxdata +0 -0
  102. data/Data/Map075.rxdata +0 -0
  103. data/Data/Map076.rxdata +0 -0
  104. data/Data/Map077.rxdata +0 -0
  105. data/Data/Map078.rxdata +0 -0
  106. data/Data/Map079.rxdata +0 -0
  107. data/Data/Map080.rxdata +0 -0
  108. data/Data/Map081.rxdata +0 -0
  109. data/Data/Map082.rxdata +0 -0
  110. data/Data/Map083.rxdata +0 -0
  111. data/Data/Map084.rxdata +0 -0
  112. data/Data/Map085.rxdata +0 -0
  113. data/Data/Map086.rxdata +0 -0
  114. data/Data/Map087.rxdata +0 -0
  115. data/Data/Map088.rxdata +0 -0
  116. data/Data/Map089.rxdata +0 -0
  117. data/Data/Map090.rxdata +0 -0
  118. data/Data/Map091.rxdata +0 -0
  119. data/Data/Map092.rxdata +0 -0
  120. data/Data/Map093.rxdata +0 -0
  121. data/Data/Map094.rxdata +0 -0
  122. data/Data/Map095.rxdata +0 -0
  123. data/Data/Map096.rxdata +0 -0
  124. data/Data/Map097.rxdata +0 -0
  125. data/Data/Map098.rxdata +0 -0
  126. data/Data/Map099.rxdata +0 -0
  127. data/Data/Map100.rxdata +0 -0
  128. data/Data/Map101.rxdata +0 -0
  129. data/Data/Map102.rxdata +0 -0
  130. data/Data/Map103.rxdata +0 -0
  131. data/Data/Map104.rxdata +0 -0
  132. data/Data/Map105.rxdata +0 -0
  133. data/Data/Map106.rxdata +0 -0
  134. data/Data/Map107.rxdata +0 -0
  135. data/Data/Map108.rxdata +0 -0
  136. data/Data/Map109.rxdata +0 -0
  137. data/Data/Map110.rxdata +0 -0
  138. data/Data/Map111.rxdata +0 -0
  139. data/Data/Map112.rxdata +0 -0
  140. data/Data/Map113.rxdata +0 -0
  141. data/Data/Map114.rxdata +0 -0
  142. data/Data/Map115.rxdata +0 -0
  143. data/Data/Map116.rxdata +0 -0
  144. data/Data/Map117.rxdata +0 -0
  145. data/Data/Map118.rxdata +0 -0
  146. data/Data/Map119.rxdata +0 -0
  147. data/Data/Map120.rxdata +0 -0
  148. data/Data/Map121.rxdata +0 -0
  149. data/Data/Map122.rxdata +0 -0
  150. data/Data/Map123.rxdata +0 -0
  151. data/Data/Map124.rxdata +0 -0
  152. data/Data/Map125.rxdata +0 -0
  153. data/Data/Map126.rxdata +0 -0
  154. data/Data/Map127.rxdata +0 -0
  155. data/Data/Map128.rxdata +0 -0
  156. data/Data/Map129.rxdata +0 -0
  157. data/Data/Map130.rxdata +0 -0
  158. data/Data/Map131.rxdata +0 -0
  159. data/Data/Map132.rxdata +0 -0
  160. data/Data/Map133.rxdata +0 -0
  161. data/Data/Map134.rxdata +0 -0
  162. data/Data/Map135.rxdata +0 -0
  163. data/Data/Map136.rxdata +0 -0
  164. data/Data/Map137.rxdata +0 -0
  165. data/Data/Map138.rxdata +0 -0
  166. data/Data/Map139.rxdata +0 -0
  167. data/Data/Map140.rxdata +0 -0
  168. data/Data/Map141.rxdata +0 -0
  169. data/Data/Map142.rxdata +0 -0
  170. data/Data/Map143.rxdata +0 -0
  171. data/Data/Map144.rxdata +0 -0
  172. data/Data/Map145.rxdata +0 -0
  173. data/Data/Map146.rxdata +0 -0
  174. data/Data/Map147.rxdata +0 -0
  175. data/Data/Map148.rxdata +0 -0
  176. data/Data/Map149.rxdata +0 -0
  177. data/Data/Map150.rxdata +0 -0
  178. data/Data/Map151.rxdata +0 -0
  179. data/Data/Map152.rxdata +0 -0
  180. data/Data/Map153.rxdata +0 -0
  181. data/Data/Map154.rxdata +0 -0
  182. data/Data/Map155.rxdata +0 -0
  183. data/Data/Map156.rxdata +0 -0
  184. data/Data/Map157.rxdata +0 -0
  185. data/Data/Map158.rxdata +0 -0
  186. data/Data/Map159.rxdata +0 -0
  187. data/Data/Map160.rxdata +0 -0
  188. data/Data/Map161.rxdata +0 -0
  189. data/Data/Map162.rxdata +0 -0
  190. data/Data/Map163.rxdata +0 -0
  191. data/Data/Map164.rxdata +0 -0
  192. data/Data/Map165.rxdata +0 -0
  193. data/Data/Map166.rxdata +0 -0
  194. data/Data/Map167.rxdata +0 -0
  195. data/Data/Map168.rxdata +0 -0
  196. data/Data/Map169.rxdata +0 -0
  197. data/Data/Map170.rxdata +0 -0
  198. data/Data/Map171.rxdata +0 -0
  199. data/Data/Map172.rxdata +0 -0
  200. data/Data/Map173.rxdata +0 -0
  201. data/Data/Map174.rxdata +0 -0
  202. data/Data/Map175.rxdata +0 -0
  203. data/Data/Map176.rxdata +0 -0
  204. data/Data/Map177.rxdata +0 -0
  205. data/Data/Map178.rxdata +0 -0
  206. data/Data/Map179.rxdata +0 -0
  207. data/Data/Map180.rxdata +0 -0
  208. data/Data/Map181.rxdata +0 -0
  209. data/Data/Map182.rxdata +0 -0
  210. data/Data/Map183.rxdata +0 -0
  211. data/Data/Map184.rxdata +0 -0
  212. data/Data/Map185.rxdata +0 -0
  213. data/Data/Map186.rxdata +0 -0
  214. data/Data/Map187.rxdata +0 -0
  215. data/Data/Map188.rxdata +0 -0
  216. data/Data/Map189.rxdata +0 -0
  217. data/Data/Map190.rxdata +0 -0
  218. data/Data/Map191.rxdata +0 -0
  219. data/Data/Map192.rxdata +0 -0
  220. data/Data/Map193.rxdata +0 -0
  221. data/Data/Map194.rxdata +0 -0
  222. data/Data/Map195.rxdata +0 -0
  223. data/Data/Map196.rxdata +0 -0
  224. data/Data/Map197.rxdata +0 -0
  225. data/Data/Map198.rxdata +0 -0
  226. data/Data/Map199.rxdata +0 -0
  227. data/Data/Map200.rxdata +0 -0
  228. data/Data/Map201.rxdata +0 -0
  229. data/Data/Map202.rxdata +0 -0
  230. data/Data/Map203.rxdata +0 -0
  231. data/Data/Map204.rxdata +0 -0
  232. data/Data/Map205.rxdata +0 -0
  233. data/Data/Map206.rxdata +0 -0
  234. data/Data/Map207.rxdata +0 -0
  235. data/Data/Map208.rxdata +0 -0
  236. data/Data/Map209.rxdata +0 -0
  237. data/Data/Map210.rxdata +0 -0
  238. data/Data/Map211.rxdata +0 -0
  239. data/Data/Map212.rxdata +0 -0
  240. data/Data/Map213.rxdata +0 -0
  241. data/Data/Map214.rxdata +0 -0
  242. data/Data/Map215.rxdata +0 -0
  243. data/Data/Map216.rxdata +0 -0
  244. data/Data/Map217.rxdata +0 -0
  245. data/Data/Map218.rxdata +0 -0
  246. data/Data/Map219.rxdata +0 -0
  247. data/Data/Map220.rxdata +0 -0
  248. data/Data/Map221.rxdata +0 -0
  249. data/Data/Map222.rxdata +0 -0
  250. data/Data/Map223.rxdata +0 -0
  251. data/Data/Map224.rxdata +0 -0
  252. data/Data/Map225.rxdata +0 -0
  253. data/Data/Map226.rxdata +0 -0
  254. data/Data/Map227.rxdata +0 -0
  255. data/Data/Map228.rxdata +0 -0
  256. data/Data/Map229.rxdata +0 -0
  257. data/Data/Map230.rxdata +0 -0
  258. data/Data/Map231.rxdata +0 -0
  259. data/Data/Map232.rxdata +0 -0
  260. data/Data/Map233.rxdata +0 -0
  261. data/Data/Map234.rxdata +0 -0
  262. data/Data/Map235.rxdata +0 -0
  263. data/Data/Map236.rxdata +0 -0
  264. data/Data/Map237.rxdata +0 -0
  265. data/Data/Map238.rxdata +0 -0
  266. data/Data/Map239.rxdata +0 -0
  267. data/Data/Map240.rxdata +0 -0
  268. data/Data/Map241.rxdata +0 -0
  269. data/Data/Map242.rxdata +0 -0
  270. data/Data/Map243.rxdata +0 -0
  271. data/Data/Map244.rxdata +0 -0
  272. data/Data/Map245.rxdata +0 -0
  273. data/Data/Map246.rxdata +0 -0
  274. data/Data/Map247.rxdata +0 -0
  275. data/Data/Map248.rxdata +0 -0
  276. data/Data/Map249.rxdata +0 -0
  277. data/Data/Map250.rxdata +0 -0
  278. data/Data/Map251.rxdata +0 -0
  279. data/Data/Map252.rxdata +0 -0
  280. data/Data/Map253.rxdata +0 -0
  281. data/Data/Map254.rxdata +0 -0
  282. data/Data/Map255.rxdata +0 -0
  283. data/Data/Map256.rxdata +0 -0
  284. data/Data/Map257.rxdata +0 -0
  285. data/Data/Map258.rxdata +0 -0
  286. data/Data/Map259.rxdata +0 -0
  287. data/Data/Map260.rxdata +0 -0
  288. data/Data/Map261.rxdata +0 -0
  289. data/Data/Map262.rxdata +0 -0
  290. data/Data/Map263.rxdata +0 -0
  291. data/Data/MapInfos.rxdata +0 -0
  292. data/Data/Scripts.rxdata +0 -0
  293. data/Data/Skills.rxdata +0 -0
  294. data/Data/States.rxdata +0 -0
  295. data/Data/System.rxdata +0 -0
  296. data/Data/Tilesets.rxdata +0 -0
  297. data/Data/Troops.rxdata +0 -0
  298. data/Data/Weapons.rxdata +0 -0
  299. data/Data/xScripts.rxdata +0 -0
  300. data/Scripts/Credits_Message.rb +0 -259
  301. data/Scripts/Data_FastTravel.rb +0 -50
  302. data/Scripts/Data_Footsteps.rb +0 -77
  303. data/Scripts/Data_Item.rb +0 -50
  304. data/Scripts/Data_SpecialEventData.rb +0 -60
  305. data/Scripts/Demo.rb +0 -7
  306. data/Scripts/Desktop_Message.rb +0 -210
  307. data/Scripts/Doc_Message.rb +0 -273
  308. data/Scripts/EdText.rb +0 -50
  309. data/Scripts/Ed_Message.rb +0 -234
  310. data/Scripts/FastTravel.rb +0 -175
  311. data/Scripts/Game_Actor.rb +0 -156
  312. data/Scripts/Game_Actors.rb +0 -28
  313. data/Scripts/Game_BattleAction.rb +0 -145
  314. data/Scripts/Game_Battler 1.rb +0 -307
  315. data/Scripts/Game_Battler 2.rb +0 -294
  316. data/Scripts/Game_Battler 3.rb +0 -354
  317. data/Scripts/Game_Character 1.rb +0 -291
  318. data/Scripts/Game_Character 2.rb +0 -355
  319. data/Scripts/Game_Character 3.rb +0 -505
  320. data/Scripts/Game_CommonEvent.rb +0 -70
  321. data/Scripts/Game_Enemy.rb +0 -317
  322. data/Scripts/Game_Event.rb +0 -264
  323. data/Scripts/Game_FastTravel.rb +0 -40
  324. data/Scripts/Game_Follower.rb +0 -76
  325. data/Scripts/Game_Light.rb +0 -13
  326. data/Scripts/Game_Map.rb +0 -551
  327. data/Scripts/Game_Oneshot.rb +0 -83
  328. data/Scripts/Game_Party.rb +0 -380
  329. data/Scripts/Game_Picture.rb +0 -164
  330. data/Scripts/Game_Player.rb +0 -298
  331. data/Scripts/Game_Screen.rb +0 -148
  332. data/Scripts/Game_SelfSwitches.rb +0 -30
  333. data/Scripts/Game_Switches.rb +0 -45
  334. data/Scripts/Game_System.rb +0 -210
  335. data/Scripts/Game_Temp.rb +0 -145
  336. data/Scripts/Game_Variables.rb +0 -36
  337. data/Scripts/Interpreter 1.rb +0 -320
  338. data/Scripts/Interpreter 2.rb +0 -286
  339. data/Scripts/Interpreter 3.rb +0 -474
  340. data/Scripts/Interpreter 4.rb +0 -327
  341. data/Scripts/Interpreter 5.rb +0 -448
  342. data/Scripts/Interpreter 6.rb +0 -307
  343. data/Scripts/Interpreter 7.rb +0 -282
  344. data/Scripts/Main.rb +0 -50
  345. data/Scripts/Particles.rb +0 -141
  346. data/Scripts/Persistent.rb +0 -71
  347. data/Scripts/Puzzle_Film.rb +0 -14
  348. data/Scripts/Puzzle_Pixel.rb +0 -210
  349. data/Scripts/Puzzle_Safe.rb +0 -152
  350. data/Scripts/Puzzle_Sokoban.rb +0 -14
  351. data/Scripts/RPG.rb +0 -55
  352. data/Scripts/SaveLoad.rb +0 -275
  353. data/Scripts/Scene_Debug.rb +0 -190
  354. data/Scripts/Scene_End.rb +0 -108
  355. data/Scripts/Scene_Equip.rb +0 -222
  356. data/Scripts/Scene_File.rb +0 -111
  357. data/Scripts/Scene_Item.rb +0 -205
  358. data/Scripts/Scene_Load.rb +0 -106
  359. data/Scripts/Scene_Map.rb +0 -540
  360. data/Scripts/Scene_Menu.rb +0 -213
  361. data/Scripts/Scene_Name.rb +0 -113
  362. data/Scripts/Scene_Save.rb +0 -88
  363. data/Scripts/Scene_Skill.rb +0 -232
  364. data/Scripts/Scene_Status.rb +0 -78
  365. data/Scripts/Scene_Title.rb +0 -237
  366. data/Scripts/Script.rb +0 -780
  367. data/Scripts/Sprite_Battler.rb +0 -131
  368. data/Scripts/Sprite_Character.rb +0 -192
  369. data/Scripts/Sprite_Footprint.rb +0 -35
  370. data/Scripts/Sprite_Footsplash.rb +0 -54
  371. data/Scripts/Sprite_Light.rb +0 -18
  372. data/Scripts/Sprite_MapText.rb +0 -63
  373. data/Scripts/Sprite_Picture.rb +0 -72
  374. data/Scripts/Sprite_Timer.rb +0 -52
  375. data/Scripts/Spriteset_Map.rb +0 -370
  376. data/Scripts/Window_Base.rb +0 -327
  377. data/Scripts/Window_BattleResult.rb +0 -51
  378. data/Scripts/Window_BattleStatus.rb +0 -62
  379. data/Scripts/Window_Command.rb +0 -49
  380. data/Scripts/Window_DebugLeft.rb +0 -57
  381. data/Scripts/Window_DebugRight.rb +0 -69
  382. data/Scripts/Window_EquipItem.rb +0 -94
  383. data/Scripts/Window_EquipLeft.rb +0 -61
  384. data/Scripts/Window_EquipRight.rb +0 -56
  385. data/Scripts/Window_Gold.rb +0 -27
  386. data/Scripts/Window_Help.rb +0 -33
  387. data/Scripts/Window_InputNumber.rb +0 -111
  388. data/Scripts/Window_Item.rb +0 -229
  389. data/Scripts/Window_MainMenu.rb +0 -150
  390. data/Scripts/Window_MenuStatus.rb +0 -48
  391. data/Scripts/Window_Message.rb +0 -459
  392. data/Scripts/Window_NameEdit.rb +0 -108
  393. data/Scripts/Window_NameInput.rb +0 -262
  394. data/Scripts/Window_PartyCommand.rb +0 -42
  395. data/Scripts/Window_PlayTime.rb +0 -40
  396. data/Scripts/Window_SaveFile.rb +0 -91
  397. data/Scripts/Window_Selectable.rb +0 -203
  398. data/Scripts/Window_Settings.rb +0 -469
  399. data/Scripts/Window_ShopBuy.rb +0 -93
  400. data/Scripts/Window_ShopCommand.rb +0 -37
  401. data/Scripts/Window_ShopNumber.rb +0 -87
  402. data/Scripts/Window_ShopSell.rb +0 -94
  403. data/Scripts/Window_ShopStatus.rb +0 -107
  404. data/Scripts/Window_Skill.rb +0 -83
  405. data/Scripts/Window_SkillStatus.rb +0 -28
  406. data/Scripts/Window_Status.rb +0 -64
  407. data/Scripts/Window_Steps.rb +0 -26
  408. data/Scripts/Window_Target.rb +0 -49
  409. data/Scripts/_scripts.txt +0 -111
  410. data/Scripts/i18n_English.rb +0 -59
  411. data/Scripts/i18n_Language.rb +0 -130
@@ -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
@@ -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