rmxp_extractor 1.7 → 1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (534) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +74 -74
  3. data/Data/Actors.rxdata +0 -0
  4. data/Data/Animations.rxdata +0 -0
  5. data/Data/Armors.rxdata +0 -0
  6. data/Data/Classes.rxdata +0 -0
  7. data/Data/CommonEvents.rxdata +0 -0
  8. data/Data/Enemies.rxdata +0 -0
  9. data/Data/Items.rxdata +0 -0
  10. data/Data/Map001.rxdata +0 -0
  11. data/Data/Map002.rxdata +0 -0
  12. data/Data/Map003.rxdata +0 -0
  13. data/Data/Map004.rxdata +0 -0
  14. data/Data/Map005.rxdata +0 -0
  15. data/Data/Map006.rxdata +0 -0
  16. data/Data/Map007.rxdata +0 -0
  17. data/Data/Map008.rxdata +0 -0
  18. data/Data/Map009.rxdata +0 -0
  19. data/Data/Map010.rxdata +0 -0
  20. data/Data/Map011.rxdata +0 -0
  21. data/Data/Map012.rxdata +0 -0
  22. data/Data/Map013.rxdata +0 -0
  23. data/Data/Map014.rxdata +0 -0
  24. data/Data/Map015.rxdata +0 -0
  25. data/Data/Map016.rxdata +0 -0
  26. data/Data/Map017.rxdata +0 -0
  27. data/Data/Map018.rxdata +0 -0
  28. data/Data/Map019.rxdata +0 -0
  29. data/Data/Map020.rxdata +0 -0
  30. data/Data/Map021.rxdata +0 -0
  31. data/Data/Map022.rxdata +0 -0
  32. data/Data/Map023.rxdata +0 -0
  33. data/Data/Map024.rxdata +0 -0
  34. data/Data/Map025.rxdata +0 -0
  35. data/Data/Map026.rxdata +0 -0
  36. data/Data/Map027.rxdata +0 -0
  37. data/Data/Map028.rxdata +0 -0
  38. data/Data/Map029.rxdata +0 -0
  39. data/Data/Map030.rxdata +0 -0
  40. data/Data/Map031.rxdata +0 -0
  41. data/Data/Map032.rxdata +0 -0
  42. data/Data/Map033.rxdata +0 -0
  43. data/Data/Map034.rxdata +0 -0
  44. data/Data/Map035.rxdata +0 -0
  45. data/Data/Map036.rxdata +0 -0
  46. data/Data/Map037.rxdata +0 -0
  47. data/Data/Map038.rxdata +0 -0
  48. data/Data/Map039.rxdata +0 -0
  49. data/Data/Map040.rxdata +0 -0
  50. data/Data/Map041.rxdata +0 -0
  51. data/Data/Map042.rxdata +0 -0
  52. data/Data/Map043.rxdata +0 -0
  53. data/Data/Map044.rxdata +0 -0
  54. data/Data/Map045.rxdata +0 -0
  55. data/Data/Map046.rxdata +0 -0
  56. data/Data/Map047.rxdata +0 -0
  57. data/Data/Map048.rxdata +0 -0
  58. data/Data/Map049.rxdata +0 -0
  59. data/Data/Map050.rxdata +0 -0
  60. data/Data/Map051.rxdata +0 -0
  61. data/Data/Map052.rxdata +0 -0
  62. data/Data/Map053.rxdata +0 -0
  63. data/Data/Map054.rxdata +0 -0
  64. data/Data/Map055.rxdata +0 -0
  65. data/Data/Map056.rxdata +0 -0
  66. data/Data/Map057.rxdata +0 -0
  67. data/Data/Map058.rxdata +0 -0
  68. data/Data/Map059.rxdata +0 -0
  69. data/Data/Map060.rxdata +0 -0
  70. data/Data/Map061.rxdata +0 -0
  71. data/Data/Map062.rxdata +0 -0
  72. data/Data/Map063.rxdata +0 -0
  73. data/Data/Map064.rxdata +0 -0
  74. data/Data/Map065.rxdata +0 -0
  75. data/Data/Map066.rxdata +0 -0
  76. data/Data/Map067.rxdata +0 -0
  77. data/Data/Map068.rxdata +0 -0
  78. data/Data/Map069.rxdata +0 -0
  79. data/Data/Map070.rxdata +0 -0
  80. data/Data/Map071.rxdata +0 -0
  81. data/Data/Map072.rxdata +0 -0
  82. data/Data/Map073.rxdata +0 -0
  83. data/Data/Map074.rxdata +0 -0
  84. data/Data/Map075.rxdata +0 -0
  85. data/Data/Map076.rxdata +0 -0
  86. data/Data/Map077.rxdata +0 -0
  87. data/Data/Map078.rxdata +0 -0
  88. data/Data/Map079.rxdata +0 -0
  89. data/Data/Map080.rxdata +0 -0
  90. data/Data/Map081.rxdata +0 -0
  91. data/Data/Map082.rxdata +0 -0
  92. data/Data/Map083.rxdata +0 -0
  93. data/Data/Map084.rxdata +0 -0
  94. data/Data/Map085.rxdata +0 -0
  95. data/Data/Map086.rxdata +0 -0
  96. data/Data/Map087.rxdata +0 -0
  97. data/Data/Map088.rxdata +0 -0
  98. data/Data/Map089.rxdata +0 -0
  99. data/Data/Map090.rxdata +0 -0
  100. data/Data/Map091.rxdata +0 -0
  101. data/Data/Map092.rxdata +0 -0
  102. data/Data/Map093.rxdata +0 -0
  103. data/Data/Map094.rxdata +0 -0
  104. data/Data/Map095.rxdata +0 -0
  105. data/Data/Map096.rxdata +0 -0
  106. data/Data/Map097.rxdata +0 -0
  107. data/Data/Map098.rxdata +0 -0
  108. data/Data/Map099.rxdata +0 -0
  109. data/Data/Map100.rxdata +0 -0
  110. data/Data/Map101.rxdata +0 -0
  111. data/Data/Map102.rxdata +0 -0
  112. data/Data/Map103.rxdata +0 -0
  113. data/Data/Map104.rxdata +0 -0
  114. data/Data/Map105.rxdata +0 -0
  115. data/Data/Map106.rxdata +0 -0
  116. data/Data/Map107.rxdata +0 -0
  117. data/Data/Map108.rxdata +0 -0
  118. data/Data/Map109.rxdata +0 -0
  119. data/Data/Map110.rxdata +0 -0
  120. data/Data/Map111.rxdata +0 -0
  121. data/Data/Map112.rxdata +0 -0
  122. data/Data/Map113.rxdata +0 -0
  123. data/Data/Map114.rxdata +0 -0
  124. data/Data/Map115.rxdata +0 -0
  125. data/Data/Map116.rxdata +0 -0
  126. data/Data/Map117.rxdata +0 -0
  127. data/Data/Map118.rxdata +0 -0
  128. data/Data/Map119.rxdata +0 -0
  129. data/Data/Map120.rxdata +0 -0
  130. data/Data/Map121.rxdata +0 -0
  131. data/Data/Map122.rxdata +0 -0
  132. data/Data/Map123.rxdata +0 -0
  133. data/Data/Map124.rxdata +0 -0
  134. data/Data/Map125.rxdata +0 -0
  135. data/Data/Map126.rxdata +0 -0
  136. data/Data/Map127.rxdata +0 -0
  137. data/Data/Map128.rxdata +0 -0
  138. data/Data/Map129.rxdata +0 -0
  139. data/Data/Map130.rxdata +0 -0
  140. data/Data/Map131.rxdata +0 -0
  141. data/Data/Map132.rxdata +0 -0
  142. data/Data/Map133.rxdata +0 -0
  143. data/Data/Map134.rxdata +0 -0
  144. data/Data/Map135.rxdata +0 -0
  145. data/Data/Map136.rxdata +0 -0
  146. data/Data/Map137.rxdata +0 -0
  147. data/Data/Map138.rxdata +0 -0
  148. data/Data/Map139.rxdata +0 -0
  149. data/Data/Map140.rxdata +0 -0
  150. data/Data/Map141.rxdata +0 -0
  151. data/Data/Map142.rxdata +0 -0
  152. data/Data/Map143.rxdata +0 -0
  153. data/Data/Map144.rxdata +0 -0
  154. data/Data/Map145.rxdata +0 -0
  155. data/Data/Map146.rxdata +0 -0
  156. data/Data/Map147.rxdata +0 -0
  157. data/Data/Map148.rxdata +0 -0
  158. data/Data/Map149.rxdata +0 -0
  159. data/Data/Map150.rxdata +0 -0
  160. data/Data/Map151.rxdata +0 -0
  161. data/Data/Map152.rxdata +0 -0
  162. data/Data/Map153.rxdata +0 -0
  163. data/Data/Map154.rxdata +0 -0
  164. data/Data/Map155.rxdata +0 -0
  165. data/Data/Map156.rxdata +0 -0
  166. data/Data/Map157.rxdata +0 -0
  167. data/Data/Map158.rxdata +0 -0
  168. data/Data/Map159.rxdata +0 -0
  169. data/Data/Map160.rxdata +0 -0
  170. data/Data/Map161.rxdata +0 -0
  171. data/Data/Map162.rxdata +0 -0
  172. data/Data/Map163.rxdata +0 -0
  173. data/Data/Map164.rxdata +0 -0
  174. data/Data/Map165.rxdata +0 -0
  175. data/Data/Map166.rxdata +0 -0
  176. data/Data/Map167.rxdata +0 -0
  177. data/Data/Map168.rxdata +0 -0
  178. data/Data/Map169.rxdata +0 -0
  179. data/Data/Map170.rxdata +0 -0
  180. data/Data/Map171.rxdata +0 -0
  181. data/Data/Map172.rxdata +0 -0
  182. data/Data/Map173.rxdata +0 -0
  183. data/Data/Map174.rxdata +0 -0
  184. data/Data/Map175.rxdata +0 -0
  185. data/Data/Map176.rxdata +0 -0
  186. data/Data/Map177.rxdata +0 -0
  187. data/Data/Map178.rxdata +0 -0
  188. data/Data/Map179.rxdata +0 -0
  189. data/Data/Map180.rxdata +0 -0
  190. data/Data/Map181.rxdata +0 -0
  191. data/Data/Map182.rxdata +0 -0
  192. data/Data/Map183.rxdata +0 -0
  193. data/Data/Map184.rxdata +0 -0
  194. data/Data/Map185.rxdata +0 -0
  195. data/Data/Map186.rxdata +0 -0
  196. data/Data/Map187.rxdata +0 -0
  197. data/Data/Map188.rxdata +0 -0
  198. data/Data/Map189.rxdata +0 -0
  199. data/Data/Map190.rxdata +0 -0
  200. data/Data/Map191.rxdata +0 -0
  201. data/Data/Map192.rxdata +0 -0
  202. data/Data/Map193.rxdata +0 -0
  203. data/Data/Map194.rxdata +0 -0
  204. data/Data/Map195.rxdata +0 -0
  205. data/Data/Map196.rxdata +0 -0
  206. data/Data/Map197.rxdata +0 -0
  207. data/Data/Map198.rxdata +0 -0
  208. data/Data/Map199.rxdata +0 -0
  209. data/Data/Map200.rxdata +0 -0
  210. data/Data/Map201.rxdata +0 -0
  211. data/Data/Map202.rxdata +0 -0
  212. data/Data/Map203.rxdata +0 -0
  213. data/Data/Map204.rxdata +0 -0
  214. data/Data/Map205.rxdata +0 -0
  215. data/Data/Map206.rxdata +0 -0
  216. data/Data/Map207.rxdata +0 -0
  217. data/Data/Map208.rxdata +0 -0
  218. data/Data/Map209.rxdata +0 -0
  219. data/Data/Map210.rxdata +0 -0
  220. data/Data/Map211.rxdata +0 -0
  221. data/Data/Map212.rxdata +0 -0
  222. data/Data/Map213.rxdata +0 -0
  223. data/Data/Map214.rxdata +0 -0
  224. data/Data/Map215.rxdata +0 -0
  225. data/Data/Map216.rxdata +0 -0
  226. data/Data/Map217.rxdata +0 -0
  227. data/Data/Map218.rxdata +0 -0
  228. data/Data/Map219.rxdata +0 -0
  229. data/Data/Map220.rxdata +0 -0
  230. data/Data/Map221.rxdata +0 -0
  231. data/Data/Map222.rxdata +0 -0
  232. data/Data/Map223.rxdata +0 -0
  233. data/Data/Map224.rxdata +0 -0
  234. data/Data/Map225.rxdata +0 -0
  235. data/Data/Map226.rxdata +0 -0
  236. data/Data/Map227.rxdata +0 -0
  237. data/Data/Map228.rxdata +0 -0
  238. data/Data/Map229.rxdata +0 -0
  239. data/Data/Map230.rxdata +0 -0
  240. data/Data/Map231.rxdata +0 -0
  241. data/Data/Map232.rxdata +0 -0
  242. data/Data/Map233.rxdata +0 -0
  243. data/Data/Map234.rxdata +0 -0
  244. data/Data/Map235.rxdata +0 -0
  245. data/Data/Map236.rxdata +0 -0
  246. data/Data/Map237.rxdata +0 -0
  247. data/Data/Map238.rxdata +0 -0
  248. data/Data/Map239.rxdata +0 -0
  249. data/Data/Map240.rxdata +0 -0
  250. data/Data/Map241.rxdata +0 -0
  251. data/Data/Map242.rxdata +0 -0
  252. data/Data/Map243.rxdata +0 -0
  253. data/Data/Map244.rxdata +0 -0
  254. data/Data/Map245.rxdata +0 -0
  255. data/Data/Map246.rxdata +0 -0
  256. data/Data/Map247.rxdata +0 -0
  257. data/Data/Map248.rxdata +0 -0
  258. data/Data/Map249.rxdata +0 -0
  259. data/Data/Map250.rxdata +0 -0
  260. data/Data/Map251.rxdata +0 -0
  261. data/Data/Map252.rxdata +0 -0
  262. data/Data/Map253.rxdata +0 -0
  263. data/Data/Map254.rxdata +0 -0
  264. data/Data/Map255.rxdata +0 -0
  265. data/Data/Map256.rxdata +0 -0
  266. data/Data/Map257.rxdata +0 -0
  267. data/Data/Map258.rxdata +0 -0
  268. data/Data/Map259.rxdata +0 -0
  269. data/Data/Map260.rxdata +0 -0
  270. data/Data/Map261.rxdata +0 -0
  271. data/Data/Map262.rxdata +0 -0
  272. data/Data/Map263.rxdata +0 -0
  273. data/Data/MapInfos.rxdata +0 -0
  274. data/Data/Scripts.rxdata +0 -0
  275. data/Data/Skills.rxdata +0 -0
  276. data/Data/States.rxdata +0 -0
  277. data/Data/System.rxdata +0 -0
  278. data/Data/Tilesets.rxdata +0 -0
  279. data/Data/Troops.rxdata +0 -0
  280. data/Data/Weapons.rxdata +0 -0
  281. data/Data/xScripts.rxdata +0 -0
  282. data/Gemfile +13 -13
  283. data/LICENSE.txt +21 -21
  284. data/README.md +35 -35
  285. data/Rakefile +6 -6
  286. data/Scripts/Credits_Message.rb +259 -0
  287. data/Scripts/Data_FastTravel.rb +50 -0
  288. data/Scripts/Data_Footsteps.rb +77 -0
  289. data/Scripts/Data_Item.rb +50 -0
  290. data/Scripts/Data_SpecialEventData.rb +60 -0
  291. data/Scripts/Demo.rb +7 -0
  292. data/Scripts/Desktop_Message.rb +210 -0
  293. data/Scripts/Doc_Message.rb +273 -0
  294. data/Scripts/EdText.rb +50 -0
  295. data/Scripts/Ed_Message.rb +234 -0
  296. data/Scripts/FastTravel.rb +175 -0
  297. data/Scripts/Game_Actor.rb +156 -0
  298. data/Scripts/Game_Actors.rb +28 -0
  299. data/Scripts/Game_BattleAction.rb +145 -0
  300. data/Scripts/Game_Battler 1.rb +307 -0
  301. data/Scripts/Game_Battler 2.rb +294 -0
  302. data/Scripts/Game_Battler 3.rb +354 -0
  303. data/Scripts/Game_Character 1.rb +291 -0
  304. data/Scripts/Game_Character 2.rb +355 -0
  305. data/Scripts/Game_Character 3.rb +505 -0
  306. data/Scripts/Game_CommonEvent.rb +70 -0
  307. data/Scripts/Game_Enemy.rb +317 -0
  308. data/Scripts/Game_Event.rb +264 -0
  309. data/Scripts/Game_FastTravel.rb +40 -0
  310. data/Scripts/Game_Follower.rb +76 -0
  311. data/Scripts/Game_Light.rb +13 -0
  312. data/Scripts/Game_Map.rb +551 -0
  313. data/Scripts/Game_Oneshot.rb +83 -0
  314. data/Scripts/Game_Party.rb +380 -0
  315. data/Scripts/Game_Picture.rb +164 -0
  316. data/Scripts/Game_Player.rb +298 -0
  317. data/Scripts/Game_Screen.rb +148 -0
  318. data/Scripts/Game_SelfSwitches.rb +30 -0
  319. data/Scripts/Game_Switches.rb +45 -0
  320. data/Scripts/Game_System.rb +210 -0
  321. data/Scripts/Game_Temp.rb +145 -0
  322. data/Scripts/Game_Variables.rb +36 -0
  323. data/Scripts/Interpreter 1.rb +320 -0
  324. data/Scripts/Interpreter 2.rb +286 -0
  325. data/Scripts/Interpreter 3.rb +474 -0
  326. data/Scripts/Interpreter 4.rb +327 -0
  327. data/Scripts/Interpreter 5.rb +448 -0
  328. data/Scripts/Interpreter 6.rb +307 -0
  329. data/Scripts/Interpreter 7.rb +282 -0
  330. data/Scripts/Main.rb +46 -9
  331. data/Scripts/Particles.rb +141 -0
  332. data/Scripts/Persistent.rb +71 -0
  333. data/Scripts/Puzzle_Film.rb +14 -0
  334. data/Scripts/Puzzle_Pixel.rb +210 -0
  335. data/Scripts/Puzzle_Safe.rb +152 -0
  336. data/Scripts/Puzzle_Sokoban.rb +14 -0
  337. data/Scripts/RPG.rb +55 -0
  338. data/Scripts/SaveLoad.rb +275 -0
  339. data/Scripts/Scene_Debug.rb +190 -0
  340. data/Scripts/Scene_End.rb +108 -0
  341. data/Scripts/Scene_Equip.rb +222 -0
  342. data/Scripts/Scene_File.rb +111 -0
  343. data/Scripts/Scene_Item.rb +205 -0
  344. data/Scripts/Scene_Load.rb +106 -0
  345. data/Scripts/Scene_Map.rb +540 -0
  346. data/Scripts/Scene_Menu.rb +213 -0
  347. data/Scripts/Scene_Name.rb +113 -0
  348. data/Scripts/Scene_Save.rb +88 -0
  349. data/Scripts/Scene_Skill.rb +232 -0
  350. data/Scripts/Scene_Status.rb +78 -0
  351. data/Scripts/Scene_Title.rb +237 -0
  352. data/Scripts/Script.rb +780 -0
  353. data/Scripts/Sprite_Battler.rb +131 -0
  354. data/Scripts/Sprite_Character.rb +192 -0
  355. data/Scripts/Sprite_Footprint.rb +35 -0
  356. data/Scripts/Sprite_Footsplash.rb +54 -0
  357. data/Scripts/Sprite_Light.rb +18 -0
  358. data/Scripts/Sprite_MapText.rb +63 -0
  359. data/Scripts/Sprite_Picture.rb +72 -0
  360. data/Scripts/Sprite_Timer.rb +52 -0
  361. data/Scripts/Spriteset_Map.rb +370 -0
  362. data/Scripts/Window_Base.rb +327 -0
  363. data/Scripts/Window_BattleResult.rb +51 -0
  364. data/Scripts/Window_BattleStatus.rb +62 -0
  365. data/Scripts/Window_Command.rb +49 -0
  366. data/Scripts/Window_DebugLeft.rb +57 -0
  367. data/Scripts/Window_DebugRight.rb +69 -0
  368. data/Scripts/Window_EquipItem.rb +94 -0
  369. data/Scripts/Window_EquipLeft.rb +61 -0
  370. data/Scripts/Window_EquipRight.rb +56 -0
  371. data/Scripts/Window_Gold.rb +27 -0
  372. data/Scripts/Window_Help.rb +33 -0
  373. data/Scripts/Window_InputNumber.rb +111 -0
  374. data/Scripts/Window_Item.rb +229 -0
  375. data/Scripts/Window_MainMenu.rb +150 -0
  376. data/Scripts/Window_MenuStatus.rb +48 -0
  377. data/Scripts/Window_Message.rb +459 -0
  378. data/Scripts/Window_NameEdit.rb +108 -0
  379. data/Scripts/Window_NameInput.rb +262 -0
  380. data/Scripts/Window_PartyCommand.rb +42 -0
  381. data/Scripts/Window_PlayTime.rb +40 -0
  382. data/Scripts/Window_SaveFile.rb +91 -0
  383. data/Scripts/Window_Selectable.rb +203 -0
  384. data/Scripts/Window_Settings.rb +469 -0
  385. data/Scripts/Window_ShopBuy.rb +93 -0
  386. data/Scripts/Window_ShopCommand.rb +37 -0
  387. data/Scripts/Window_ShopNumber.rb +87 -0
  388. data/Scripts/Window_ShopSell.rb +94 -0
  389. data/Scripts/Window_ShopStatus.rb +107 -0
  390. data/Scripts/Window_Skill.rb +83 -0
  391. data/Scripts/Window_SkillStatus.rb +28 -0
  392. data/Scripts/Window_Status.rb +64 -0
  393. data/Scripts/Window_Steps.rb +26 -0
  394. data/Scripts/Window_Target.rb +49 -0
  395. data/Scripts/_scripts.txt +111 -1
  396. data/Scripts/i18n_English.rb +59 -0
  397. data/Scripts/i18n_Language.rb +130 -0
  398. data/bin/rmxp_extractor +13 -13
  399. data/bin/setup +8 -8
  400. data/diff_check.rb +13 -13
  401. data/lib/rmxp_extractor/classnames.rb +245 -244
  402. data/lib/rmxp_extractor/data_export.rb +82 -82
  403. data/lib/rmxp_extractor/data_import.rb +69 -69
  404. data/lib/rmxp_extractor/ron.rb +144 -144
  405. data/lib/rmxp_extractor/script_handler.rb +85 -85
  406. data/lib/rmxp_extractor/version.rb +3 -3
  407. data/lib/rmxp_extractor.rb +46 -46
  408. data/rmxp_extractor.gemspec +30 -30
  409. data/spec/spec_helper.rb +100 -100
  410. metadata +112 -126
  411. data/Data/Map-1.rxdata +0 -0
  412. data/Data/Map-327.rxdata +0 -0
  413. data/Data/Map264.rxdata +0 -0
  414. data/Data/Map265.rxdata +0 -0
  415. data/Data/Map266.rxdata +0 -0
  416. data/Data/Map267.rxdata +0 -0
  417. data/Data/Map268.rxdata +0 -0
  418. data/Data/Map269.rxdata +0 -0
  419. data/Data/Map270.rxdata +0 -0
  420. data/Data/Map271.rxdata +0 -0
  421. data/Data/Map272.rxdata +0 -0
  422. data/Data/Map273.rxdata +0 -0
  423. data/Data/Map274.rxdata +0 -0
  424. data/Data/Map275.rxdata +0 -0
  425. data/Data/Map276.rxdata +0 -0
  426. data/Data/Map277.rxdata +0 -0
  427. data/Data/Map278.rxdata +0 -0
  428. data/Data/Map279.rxdata +0 -0
  429. data/Data/Map280.rxdata +0 -0
  430. data/Data/Map281.rxdata +0 -0
  431. data/Data/Map282.rxdata +0 -0
  432. data/Data/Map283.rxdata +0 -0
  433. data/Data/Map284.rxdata +0 -0
  434. data/Data/Map285.rxdata +0 -0
  435. data/Data/Map286.rxdata +0 -0
  436. data/Data/Map287.rxdata +0 -0
  437. data/Data/Map288.rxdata +0 -0
  438. data/Data/Map289.rxdata +0 -0
  439. data/Data/Map290.rxdata +0 -0
  440. data/Data/Map291.rxdata +0 -0
  441. data/Data/Map292.rxdata +0 -0
  442. data/Data/Map293.rxdata +0 -0
  443. data/Data/Map294.rxdata +0 -0
  444. data/Data/Map295.rxdata +0 -0
  445. data/Data/Map296.rxdata +0 -0
  446. data/Data/Map297.rxdata +0 -0
  447. data/Data/Map298.rxdata +0 -0
  448. data/Data/Map299.rxdata +0 -0
  449. data/Data/Map300.rxdata +0 -0
  450. data/Data/Map301.rxdata +0 -0
  451. data/Data/Map302.rxdata +0 -0
  452. data/Data/Map303.rxdata +0 -0
  453. data/Data/Map304.rxdata +0 -0
  454. data/Data/Map305.rxdata +0 -0
  455. data/Data/Map306.rxdata +0 -0
  456. data/Data/Map307.rxdata +0 -0
  457. data/Data/Map308.rxdata +0 -0
  458. data/Data/Map309.rxdata +0 -0
  459. data/Data/Map310.rxdata +0 -0
  460. data/Data/Map311.rxdata +0 -0
  461. data/Data/Map312.rxdata +0 -0
  462. data/Data/Map313.rxdata +0 -0
  463. data/Data/Map314.rxdata +0 -0
  464. data/Data/Map315.rxdata +0 -0
  465. data/Data/Map316.rxdata +0 -0
  466. data/Data/Map317.rxdata +0 -0
  467. data/Data/Map318.rxdata +0 -0
  468. data/Data/Map319.rxdata +0 -0
  469. data/Data/Map320.rxdata +0 -0
  470. data/Data/Map321.rxdata +0 -0
  471. data/Data/Map322.rxdata +0 -0
  472. data/Data/Map323.rxdata +0 -0
  473. data/Data/Map324.rxdata +0 -0
  474. data/Data/Map325.rxdata +0 -0
  475. data/Data/Map326.rxdata +0 -0
  476. data/Data/Map327.rxdata +0 -0
  477. data/Data/Map328.rxdata +0 -0
  478. data/Data/Map329.rxdata +0 -0
  479. data/Data/Map330.rxdata +0 -0
  480. data/Data/Map331.rxdata +0 -0
  481. data/Data/Map332.rxdata +0 -0
  482. data/Data/Map333.rxdata +0 -0
  483. data/Data/Map334.rxdata +0 -0
  484. data/Data/Map335.rxdata +0 -0
  485. data/Data/Map336.rxdata +0 -0
  486. data/Data/Map337.rxdata +0 -0
  487. data/Data/Map338.rxdata +0 -0
  488. data/Data/Map339.rxdata +0 -0
  489. data/Data/Map340.rxdata +0 -0
  490. data/Data/Map341.rxdata +0 -0
  491. data/Data/Map342.rxdata +0 -0
  492. data/Data/Map343.rxdata +0 -0
  493. data/Data/Map344.rxdata +0 -0
  494. data/Data/Map345.rxdata +0 -0
  495. data/Data/Map346.rxdata +0 -0
  496. data/Data/Map347.rxdata +0 -0
  497. data/Data/Map348.rxdata +0 -0
  498. data/Data/Map349.rxdata +0 -0
  499. data/Data/Map350.rxdata +0 -0
  500. data/Data/Map351.rxdata +0 -0
  501. data/Data/Map352.rxdata +0 -0
  502. data/Data/Map353.rxdata +0 -0
  503. data/Data/Map354.rxdata +0 -0
  504. data/Data/Map355.rxdata +0 -0
  505. data/Data/Map356.rxdata +0 -0
  506. data/Data/Map357.rxdata +0 -0
  507. data/Data/Map358.rxdata +0 -0
  508. data/Data/Map359.rxdata +0 -0
  509. data/Data/Map360.rxdata +0 -0
  510. data/Data/Map361.rxdata +0 -0
  511. data/Data/Map362.rxdata +0 -0
  512. data/Data/Map363.rxdata +0 -0
  513. data/Data/Map364.rxdata +0 -0
  514. data/Data/Map365.rxdata +0 -0
  515. data/Data/Map366.rxdata +0 -0
  516. data/Data/Map367.rxdata +0 -0
  517. data/Data/Map368.rxdata +0 -0
  518. data/Data/Map369.rxdata +0 -0
  519. data/Data/Map370.rxdata +0 -0
  520. data/Data/Map371.rxdata +0 -0
  521. data/Data/Map372.rxdata +0 -0
  522. data/Data/Map373.rxdata +0 -0
  523. data/Data/Map374.rxdata +0 -0
  524. data/Data/Map375.rxdata +0 -0
  525. data/Data/Map376.rxdata +0 -0
  526. data/Data/Map377.rxdata +0 -0
  527. data/Data/Map378.rxdata +0 -0
  528. data/Data/Map379.rxdata +0 -0
  529. data/Data/Map380.rxdata +0 -0
  530. data/Data/Map381.rxdata +0 -0
  531. data/Data/Map382.rxdata +0 -0
  532. data/Data/Map383.rxdata +0 -0
  533. data/Data/Map384.rxdata +0 -0
  534. data/Data/Map385.rxdata +0 -0
@@ -0,0 +1,380 @@
1
+ #==============================================================================
2
+ # ** Game_Party
3
+ #------------------------------------------------------------------------------
4
+ # This class handles the party. It includes information on amount of gold
5
+ # and items. Refer to "$game_party" for the instance of this class.
6
+ #==============================================================================
7
+
8
+ class Game_Party
9
+ #--------------------------------------------------------------------------
10
+ # * Public Instance Variables
11
+ #--------------------------------------------------------------------------
12
+ attr_reader :actors # actors
13
+ attr_reader :gold # amount of gold
14
+ attr_reader :steps # number of steps
15
+ #--------------------------------------------------------------------------
16
+ # * Object Initialization
17
+ #--------------------------------------------------------------------------
18
+ def initialize
19
+ # Create actor array
20
+ @actors = []
21
+ # Initialize amount of gold and steps
22
+ @gold = 0
23
+ @steps = 0
24
+ # Create amount in possession hash for items, weapons, and armor
25
+ @items = {}
26
+ @weapons = {}
27
+ @armors = {}
28
+ end
29
+ #--------------------------------------------------------------------------
30
+ # * Initial Party Setup
31
+ #--------------------------------------------------------------------------
32
+ def setup_starting_members
33
+ @actors = []
34
+ for i in $data_system.party_members
35
+ #@actors.push($game_actors[i])
36
+ add_actor(i)
37
+ end
38
+ end
39
+ #--------------------------------------------------------------------------
40
+ # * Battle Test Party Setup
41
+ #--------------------------------------------------------------------------
42
+ def setup_battle_test_members
43
+ @actors = []
44
+ for battler in $data_system.test_battlers
45
+ actor = $game_actors[battler.actor_id]
46
+ actor.level = battler.level
47
+ gain_weapon(battler.weapon_id, 1)
48
+ gain_armor(battler.armor1_id, 1)
49
+ gain_armor(battler.armor2_id, 1)
50
+ gain_armor(battler.armor3_id, 1)
51
+ gain_armor(battler.armor4_id, 1)
52
+ actor.equip(0, battler.weapon_id)
53
+ actor.equip(1, battler.armor1_id)
54
+ actor.equip(2, battler.armor2_id)
55
+ actor.equip(3, battler.armor3_id)
56
+ actor.equip(4, battler.armor4_id)
57
+ actor.recover_all
58
+ @actors.push(actor)
59
+ end
60
+ @items = {}
61
+ for i in 1...$data_items.size
62
+ if $data_items[i].name != ""
63
+ occasion = $data_items[i].occasion
64
+ if occasion == 0 or occasion == 1
65
+ @items[i] = 99
66
+ end
67
+ end
68
+ end
69
+ end
70
+ #--------------------------------------------------------------------------
71
+ # * Refresh Party Members
72
+ #--------------------------------------------------------------------------
73
+ def refresh
74
+ # Actor objects split from $game_actors right after loading game data
75
+ # Avoid this problem by resetting the actors each time data is loaded.
76
+ new_actors = []
77
+ for i in 0...@actors.size
78
+ if $data_actors[@actors[i].id] != nil
79
+ new_actors.push($game_actors[@actors[i].id])
80
+ end
81
+ end
82
+ @actors = new_actors
83
+ end
84
+ #--------------------------------------------------------------------------
85
+ # * Getting Maximum Level
86
+ #--------------------------------------------------------------------------
87
+ def max_level
88
+ # If 0 members are in the party
89
+ if @actors.size == 0
90
+ return 0
91
+ end
92
+ # Initialize local variable: level
93
+ level = 0
94
+ # Get maximum level of party members
95
+ for actor in @actors
96
+ if level < actor.level
97
+ level = actor.level
98
+ end
99
+ end
100
+ return level
101
+ end
102
+ #--------------------------------------------------------------------------
103
+ # * Add an Actor
104
+ # actor_id : actor ID
105
+ #--------------------------------------------------------------------------
106
+ def add_actor(actor_id)
107
+ # Get actor
108
+ actor = $game_actors[actor_id]
109
+ # If the party has less than 4 members and this actor is not in the party
110
+ if @actors.size < 4 and not @actors.include?(actor)
111
+ # Add follower
112
+ unless @actors.empty?
113
+ if $game_followers.empty?
114
+ $game_followers.push(Game_Follower.new($game_player, actor))
115
+ else
116
+ $game_followers.push(Game_Follower.new($game_followers.last, actor))
117
+ end
118
+ $scene.add_follower($game_followers.last)
119
+ end
120
+ # Add actor
121
+ @actors.push(actor)
122
+ # Refresh player
123
+ $game_player.refresh
124
+ end
125
+ end
126
+ #--------------------------------------------------------------------------
127
+ # * Remove Actor
128
+ # actor_id : actor ID
129
+ #--------------------------------------------------------------------------
130
+ def remove_actor(actor_id)
131
+ actor = $game_actors[actor_id]
132
+ # Delete follower
133
+ unless $game_followers.empty?
134
+ follower = $game_followers.pop
135
+ $scene.remove_follower(follower)
136
+ new_actor = follower.actor
137
+ if new_actor != actor
138
+ $game_followers.reverse_each do |follower|
139
+ new_actor, follower.actor = follower.actor, new_actor
140
+ break if new_actor == actor
141
+ end
142
+ end
143
+ end
144
+ # Delete actor
145
+ @actors.delete(actor)
146
+ # Refresh player
147
+ # $game_player.refresh
148
+ end
149
+ #--------------------------------------------------------------------------
150
+ # * Gain Gold (or lose)
151
+ # n : amount of gold
152
+ #--------------------------------------------------------------------------
153
+ def gain_gold(n)
154
+ @gold = [[@gold + n, 0].max, 9999999].min
155
+ end
156
+ #--------------------------------------------------------------------------
157
+ # * Lose Gold
158
+ # n : amount of gold
159
+ #--------------------------------------------------------------------------
160
+ def lose_gold(n)
161
+ # Reverse the numerical value and call it gain_gold
162
+ gain_gold(-n)
163
+ end
164
+ #--------------------------------------------------------------------------
165
+ # * Increase Steps
166
+ #--------------------------------------------------------------------------
167
+ def increase_steps
168
+ @steps = [@steps + 1, 9999999].min
169
+ end
170
+ #--------------------------------------------------------------------------
171
+ # * Get Number of Items Possessed
172
+ # item_id : item ID
173
+ #--------------------------------------------------------------------------
174
+ def item_number(item_id)
175
+ # If quantity data is in the hash, use it. If not, return 0
176
+ return @items.include?(item_id) ? @items[item_id] : 0
177
+ end
178
+ #--------------------------------------------------------------------------
179
+ # * Get Number of Weapons Possessed
180
+ # weapon_id : weapon ID
181
+ #--------------------------------------------------------------------------
182
+ def weapon_number(weapon_id)
183
+ # If quantity data is in the hash, use it. If not, return 0
184
+ return @weapons.include?(weapon_id) ? @weapons[weapon_id] : 0
185
+ end
186
+ #--------------------------------------------------------------------------
187
+ # * Get Amount of Armor Possessed
188
+ # armor_id : armor ID
189
+ #--------------------------------------------------------------------------
190
+ def armor_number(armor_id)
191
+ # If quantity data is in the hash, use it. If not, return 0
192
+ return @armors.include?(armor_id) ? @armors[armor_id] : 0
193
+ end
194
+ #--------------------------------------------------------------------------
195
+ # * Gain Items (or lose)
196
+ # item_id : item ID
197
+ # n : quantity
198
+ #--------------------------------------------------------------------------
199
+ def gain_item(item_id, n)
200
+ # Update quantity data in the hash.
201
+ if item_id > 0
202
+ @items[item_id] = [[item_number(item_id) + n, 0].max, 99].min
203
+ end
204
+ end
205
+ #--------------------------------------------------------------------------
206
+ # * Gain Weapons (or lose)
207
+ # weapon_id : weapon ID
208
+ # n : quantity
209
+ #--------------------------------------------------------------------------
210
+ def gain_weapon(weapon_id, n)
211
+ # Update quantity data in the hash.
212
+ if weapon_id > 0
213
+ @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
214
+ end
215
+ end
216
+ #--------------------------------------------------------------------------
217
+ # * Gain Armor (or lose)
218
+ # armor_id : armor ID
219
+ # n : quantity
220
+ #--------------------------------------------------------------------------
221
+ def gain_armor(armor_id, n)
222
+ # Update quantity data in the hash.
223
+ if armor_id > 0
224
+ @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, 99].min
225
+ end
226
+ end
227
+ #--------------------------------------------------------------------------
228
+ # * Lose Items
229
+ # item_id : item ID
230
+ # n : quantity
231
+ #--------------------------------------------------------------------------
232
+ def lose_item(item_id, n)
233
+ # Reverse the numerical value and call it gain_item
234
+ gain_item(item_id, -n)
235
+ end
236
+ #--------------------------------------------------------------------------
237
+ # * Lose Weapons
238
+ # weapon_id : weapon ID
239
+ # n : quantity
240
+ #--------------------------------------------------------------------------
241
+ def lose_weapon(weapon_id, n)
242
+ # Reverse the numerical value and call it gain_weapon
243
+ gain_weapon(weapon_id, -n)
244
+ end
245
+ #--------------------------------------------------------------------------
246
+ # * Lose Armor
247
+ # armor_id : armor ID
248
+ # n : quantity
249
+ #--------------------------------------------------------------------------
250
+ def lose_armor(armor_id, n)
251
+ # Reverse the numerical value and call it gain_armor
252
+ gain_armor(armor_id, -n)
253
+ end
254
+ #--------------------------------------------------------------------------
255
+ # * Determine if Item is Usable
256
+ # item_id : item ID
257
+ #--------------------------------------------------------------------------
258
+ def item_can_use?(item_id)
259
+ # If item quantity is 0
260
+ if item_number(item_id) == 0
261
+ # Unusable
262
+ return false
263
+ end
264
+ # Get usable time
265
+ occasion = $data_items[item_id].occasion
266
+ # If in battle
267
+ if $game_temp.in_battle
268
+ # If useable time is 0 (normal) or 1 (only battle) it's usable
269
+ return (occasion == 0 or occasion == 1)
270
+ end
271
+ # If useable time is 0 (normal) or 2 (only menu) it's usable
272
+ return (occasion == 0 or occasion == 2)
273
+ end
274
+ #--------------------------------------------------------------------------
275
+ # * Clear All Member Actions
276
+ #--------------------------------------------------------------------------
277
+ def clear_actions
278
+ # Clear All Member Actions
279
+ for actor in @actors
280
+ actor.current_action.clear
281
+ end
282
+ end
283
+ #--------------------------------------------------------------------------
284
+ # * Determine if Command is Inputable
285
+ #--------------------------------------------------------------------------
286
+ def inputable?
287
+ # Return true if input is possible for one person as well
288
+ for actor in @actors
289
+ if actor.inputable?
290
+ return true
291
+ end
292
+ end
293
+ return false
294
+ end
295
+ #--------------------------------------------------------------------------
296
+ # * Determine Everyone is Dead
297
+ #--------------------------------------------------------------------------
298
+ def all_dead?
299
+ # If number of party members is 0
300
+ if $game_party.actors.size == 0
301
+ return false
302
+ end
303
+ # If an actor is in the party with 0 or more HP
304
+ for actor in @actors
305
+ if actor.hp > 0
306
+ return false
307
+ end
308
+ end
309
+ # All members dead
310
+ return true
311
+ end
312
+ #--------------------------------------------------------------------------
313
+ # * Slip Damage Check (for map)
314
+ #--------------------------------------------------------------------------
315
+ def check_map_slip_damage
316
+ for actor in @actors
317
+ if actor.hp > 0 and actor.slip_damage?
318
+ actor.hp -= [actor.maxhp / 100, 1].max
319
+ if actor.hp == 0
320
+ $game_system.se_play($data_system.actor_collapse_se)
321
+ end
322
+ $game_screen.start_flash(Color.new(255,0,0,128), 4)
323
+ $game_temp.gameover = $game_party.all_dead?
324
+ end
325
+ end
326
+ end
327
+ #--------------------------------------------------------------------------
328
+ # * Random Selection of Target Actor
329
+ # hp0 : limited to actors with 0 HP
330
+ #--------------------------------------------------------------------------
331
+ def random_target_actor(hp0 = false)
332
+ # Initialize roulette
333
+ roulette = []
334
+ # Loop
335
+ for actor in @actors
336
+ # If it fits the conditions
337
+ if (not hp0 and actor.exist?) or (hp0 and actor.hp0?)
338
+ # Get actor class [position]
339
+ position = $data_classes[actor.class_id].position
340
+ # Front guard: n = 4; Mid guard: n = 3; Rear guard: n = 2
341
+ n = 4 - position
342
+ # Add actor to roulette n times
343
+ n.times do
344
+ roulette.push(actor)
345
+ end
346
+ end
347
+ end
348
+ # If roulette size is 0
349
+ if roulette.size == 0
350
+ return nil
351
+ end
352
+ # Spin the roulette, choose an actor
353
+ return roulette[rand(roulette.size)]
354
+ end
355
+ #--------------------------------------------------------------------------
356
+ # * Random Selection of Target Actor (HP 0)
357
+ #--------------------------------------------------------------------------
358
+ def random_target_actor_hp0
359
+ return random_target_actor(true)
360
+ end
361
+ #--------------------------------------------------------------------------
362
+ # * Smooth Selection of Target Actor
363
+ # actor_index : actor index
364
+ #--------------------------------------------------------------------------
365
+ def smooth_target_actor(actor_index)
366
+ # Get an actor
367
+ actor = @actors[actor_index]
368
+ # If an actor exists
369
+ if actor != nil and actor.exist?
370
+ return actor
371
+ end
372
+ # Loop
373
+ for actor in @actors
374
+ # If an actor exists
375
+ if actor.exist?
376
+ return actor
377
+ end
378
+ end
379
+ end
380
+ end
@@ -0,0 +1,164 @@
1
+ #==============================================================================
2
+ # ** Game_Picture
3
+ #------------------------------------------------------------------------------
4
+ # This class handles the picture. It's used within the Game_Screen class
5
+ # ($game_screen).
6
+ #==============================================================================
7
+
8
+ class Game_Picture
9
+ #--------------------------------------------------------------------------
10
+ # * Public Instance Variables
11
+ #--------------------------------------------------------------------------
12
+ attr_reader :number # picture number
13
+ attr_reader :name # file name
14
+ attr_reader :origin # starting point
15
+ attr_reader :x # x-coordinate
16
+ attr_reader :y # y-coordinate
17
+ attr_reader :zoom_x # x directional zoom rate
18
+ attr_reader :zoom_y # y directional zoom rate
19
+ attr_reader :opacity # opacity level
20
+ attr_reader :blend_type # blend method
21
+ attr_reader :tone # color tone
22
+ attr_reader :angle # rotation angle
23
+ #--------------------------------------------------------------------------
24
+ # * Object Initialization
25
+ # number : picture number
26
+ #--------------------------------------------------------------------------
27
+ def initialize(number)
28
+ @number = number
29
+ @name = ""
30
+ @origin = 0
31
+ @x = 0.0
32
+ @y = 0.0
33
+ @zoom_x = 100.0
34
+ @zoom_y = 100.0
35
+ @opacity = 255.0
36
+ @blend_type = 1
37
+ @duration = 0
38
+ @target_x = @x
39
+ @target_y = @y
40
+ @target_zoom_x = @zoom_x
41
+ @target_zoom_y = @zoom_y
42
+ @target_opacity = @opacity
43
+ @tone = Tone.new(0, 0, 0, 0)
44
+ @tone_target = Tone.new(0, 0, 0, 0)
45
+ @tone_duration = 0
46
+ @angle = 0
47
+ @rotate_speed = 0
48
+ end
49
+ #--------------------------------------------------------------------------
50
+ # * Show Picture
51
+ # name : file name
52
+ # origin : starting point
53
+ # x : x-coordinate
54
+ # y : y-coordinate
55
+ # zoom_x : x directional zoom rate
56
+ # zoom_y : y directional zoom rate
57
+ # opacity : opacity level
58
+ # blend_type : blend method
59
+ #--------------------------------------------------------------------------
60
+ def show(name, origin, x, y, zoom_x, zoom_y, opacity, blend_type)
61
+ # Localization: check if this picture exists
62
+ # in the appropriate language folder, else
63
+ # default to the base graphics folder
64
+ translation_name = "#{$persistent.langcode}/#{name}"
65
+ if File.exists?("Graphics/Pictures/#{translation_name}.png")
66
+ @name = translation_name
67
+ else
68
+ @name = name
69
+ end
70
+ @origin = origin
71
+ @x = x.to_f
72
+ @y = y.to_f
73
+ @zoom_x = zoom_x.to_f
74
+ @zoom_y = zoom_y.to_f
75
+ @opacity = opacity.to_f
76
+ @blend_type = blend_type
77
+ @duration = 0
78
+ @target_x = @x
79
+ @target_y = @y
80
+ @target_zoom_x = @zoom_x
81
+ @target_zoom_y = @zoom_y
82
+ @target_opacity = @opacity
83
+ @tone = Tone.new(0, 0, 0, 0)
84
+ @tone_target = Tone.new(0, 0, 0, 0)
85
+ @tone_duration = 0
86
+ @angle = 0
87
+ @rotate_speed = 0
88
+ end
89
+ #--------------------------------------------------------------------------
90
+ # * Move Picture
91
+ # duration : time
92
+ # origin : starting point
93
+ # x : x-coordinate
94
+ # y : y-coordinate
95
+ # zoom_x : x directional zoom rate
96
+ # zoom_y : y directional zoom rate
97
+ # opacity : opacity level
98
+ # blend_type : blend method
99
+ #--------------------------------------------------------------------------
100
+ def move(duration, origin, x, y, zoom_x, zoom_y, opacity, blend_type)
101
+ @duration = duration
102
+ @origin = origin
103
+ @target_x = x.to_f
104
+ @target_y = y.to_f
105
+ @target_zoom_x = zoom_x.to_f
106
+ @target_zoom_y = zoom_y.to_f
107
+ @target_opacity = opacity.to_f
108
+ @blend_type = blend_type
109
+ end
110
+ #--------------------------------------------------------------------------
111
+ # * Change Rotation Speed
112
+ # speed : rotation speed
113
+ #--------------------------------------------------------------------------
114
+ def rotate(speed)
115
+ @rotate_speed = speed
116
+ end
117
+ #--------------------------------------------------------------------------
118
+ # * Start Change of Color Tone
119
+ # tone : color tone
120
+ # duration : time
121
+ #--------------------------------------------------------------------------
122
+ def start_tone_change(tone, duration)
123
+ @tone_target = tone.clone
124
+ @tone_duration = duration
125
+ if @tone_duration == 0
126
+ @tone = @tone_target.clone
127
+ end
128
+ end
129
+ #--------------------------------------------------------------------------
130
+ # * Erase Picture
131
+ #--------------------------------------------------------------------------
132
+ def erase
133
+ @name = ""
134
+ end
135
+ #--------------------------------------------------------------------------
136
+ # * Frame Update
137
+ #--------------------------------------------------------------------------
138
+ def update
139
+ if @duration >= 1
140
+ d = @duration
141
+ @x = (@x * (d - 1) + @target_x) / d
142
+ @y = (@y * (d - 1) + @target_y) / d
143
+ @zoom_x = (@zoom_x * (d - 1) + @target_zoom_x) / d
144
+ @zoom_y = (@zoom_y * (d - 1) + @target_zoom_y) / d
145
+ @opacity = (@opacity * (d - 1) + @target_opacity) / d
146
+ @duration -= 1
147
+ end
148
+ if @tone_duration >= 1
149
+ d = @tone_duration
150
+ @tone.red = (@tone.red * (d - 1) + @tone_target.red) / d
151
+ @tone.green = (@tone.green * (d - 1) + @tone_target.green) / d
152
+ @tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d
153
+ @tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d
154
+ @tone_duration -= 1
155
+ end
156
+ if @rotate_speed != 0
157
+ @angle += @rotate_speed / 2.0
158
+ while @angle < 0
159
+ @angle += 360
160
+ end
161
+ @angle %= 360
162
+ end
163
+ end
164
+ end