From 2eff2aa3b98dd64e948984c7f3bd568a05334af3 Mon Sep 17 00:00:00 2001 From: Andrew Kesterson Date: Wed, 23 Apr 2014 21:59:50 -0700 Subject: [PATCH] Initial import --- Data/Actors.rvdata2 | Bin 0 -> 2445 bytes Data/Animations.rvdata2 | Bin 0 -> 218370 bytes Data/Armors.rvdata2 | Bin 0 -> 10555 bytes Data/Classes.rvdata2 | Bin 0 -> 21046 bytes Data/CommonEvents.rvdata2 | Bin 0 -> 543 bytes Data/Enemies.rvdata2 | Bin 0 -> 11144 bytes Data/Items.rvdata2 | Bin 0 -> 3196 bytes Data/Map001.rvdata2 | Bin 0 -> 2281 bytes Data/MapInfos.rvdata2 | Bin 0 -> 108 bytes Data/Scripts.rvdata2 | Bin 0 -> 88 bytes Data/Skills.rvdata2 | Bin 0 -> 30440 bytes Data/States.rvdata2 | Bin 0 -> 4961 bytes Data/System.rvdata2 | Bin 0 -> 4362 bytes Data/Tilesets.rvdata2 | Bin 0 -> 66326 bytes Data/Troops.rvdata2 | Bin 0 -> 4959 bytes Data/Weapons.rvdata2 | Bin 0 -> 12354 bytes Game.exe | Bin 0 -> 140800 bytes Game.ini | 5 + Game.rvproj2 | 1 + Makefile | 17 + Scripts/RPG.rb | 112 +++ Scripts/RPG.rb~ | 110 +++ Scripts/RPG/#Game_Troop.rb# | 207 ++++ Scripts/RPG/BattleManager.rb | 393 ++++++++ Scripts/RPG/Cache.rb | 135 +++ Scripts/RPG/DataManager.rb | 268 ++++++ Scripts/RPG/Game_Action.rb | 263 ++++++ Scripts/RPG/Game_ActionResult.rb | 160 ++++ Scripts/RPG/Game_Actor.rb | 697 ++++++++++++++ Scripts/RPG/Game_Actors.rb | 23 + Scripts/RPG/Game_BaseItem.rb | 52 + Scripts/RPG/Game_Battler.rb | 825 ++++++++++++++++ Scripts/RPG/Game_BattlerBase.rb | 732 ++++++++++++++ Scripts/RPG/Game_Character.rb | 397 ++++++++ Scripts/RPG/Game_CharacterBase.rb | 444 +++++++++ Scripts/RPG/Game_CommonEvent.rb | 42 + Scripts/RPG/Game_Enemy.rb | 265 ++++++ Scripts/RPG/Game_Event.rb | 309 ++++++ Scripts/RPG/Game_Follower.rb | 75 ++ Scripts/RPG/Game_Followers.rb | 113 +++ Scripts/RPG/Game_Interpreter.rb | 1414 ++++++++++++++++++++++++++++ Scripts/RPG/Game_Map.rb | 705 ++++++++++++++ Scripts/RPG/Game_Message.rb | 102 ++ Scripts/RPG/Game_Party.rb | 419 +++++++++ Scripts/RPG/Game_Picture.rb | 162 ++++ Scripts/RPG/Game_Pictures.rb | 29 + Scripts/RPG/Game_Player.rb | 489 ++++++++++ Scripts/RPG/Game_Screen.rb | 235 +++++ Scripts/RPG/Game_SelfSwitches.rb | 36 + Scripts/RPG/Game_Switches.rb | 36 + Scripts/RPG/Game_System.rb | 123 +++ Scripts/RPG/Game_Temp.rb | 46 + Scripts/RPG/Game_Timer.rb | 57 ++ Scripts/RPG/Game_Troop.rb | 208 ++++ Scripts/RPG/Game_Troop.rb~ | 207 ++++ Scripts/RPG/Game_Unit.rb | 132 +++ Scripts/RPG/Game_Variables.rb | 35 + Scripts/RPG/Game_Vehicle.rb | 194 ++++ Scripts/RPG/Just_a_test.rb | 2 + Scripts/RPG/Just_another_test.rb | 2 + Scripts/RPG/Main.rb | 8 + Scripts/RPG/SceneManager.rb | 95 ++ Scripts/RPG/Scene_Base.rb | 133 +++ Scripts/RPG/Scene_Battle.rb | 694 ++++++++++++++ Scripts/RPG/Scene_Debug.rb | 88 ++ Scripts/RPG/Scene_End.rb | 62 ++ Scripts/RPG/Scene_Equip.rb | 145 +++ Scripts/RPG/Scene_File.rb | 204 ++++ Scripts/RPG/Scene_Gameover.rb | 86 ++ Scripts/RPG/Scene_Item.rb | 76 ++ Scripts/RPG/Scene_ItemBase.rb | 148 +++ Scripts/RPG/Scene_Load.rb | 41 + Scripts/RPG/Scene_Map.rb | 277 ++++++ Scripts/RPG/Scene_Menu.rb | 128 +++ Scripts/RPG/Scene_MenuBase.rb | 64 ++ Scripts/RPG/Scene_Name.rb | 33 + Scripts/RPG/Scene_Save.rb | 39 + Scripts/RPG/Scene_Shop.rb | 300 ++++++ Scripts/RPG/Scene_Skill.rb | 109 +++ Scripts/RPG/Scene_Status.rb | 26 + Scripts/RPG/Scene_Title.rb | 138 +++ Scripts/RPG/Some_other_test.rb | 2 + Scripts/RPG/Sound.rb | 136 +++ Scripts/RPG/Sprite_Base.rb | 233 +++++ Scripts/RPG/Sprite_Battler.rb | 232 +++++ Scripts/RPG/Sprite_Character.rb | 227 +++++ Scripts/RPG/Sprite_Picture.rb | 83 ++ Scripts/RPG/Sprite_Timer.rb | 78 ++ Scripts/RPG/Spriteset_Battle.rb | 390 ++++++++ Scripts/RPG/Spriteset_Map.rb | 274 ++++++ Scripts/RPG/Spriteset_Weather.rb | 185 ++++ Scripts/RPG/Vocab.rb | 146 +++ Scripts/RPG/Window_ActorCommand.rb | 79 ++ Scripts/RPG/Window_Base.rb | 572 +++++++++++ Scripts/RPG/Window_BattleActor.rb | 39 + Scripts/RPG/Window_BattleEnemy.rb | 71 ++ Scripts/RPG/Window_BattleItem.rb | 41 + Scripts/RPG/Window_BattleLog.rb | 426 +++++++++ Scripts/RPG/Window_BattleSkill.rb | 35 + Scripts/RPG/Window_BattleStatus.rb | 112 +++ Scripts/RPG/Window_ChoiceList.rb | 89 ++ Scripts/RPG/Window_Command.rb | 153 +++ Scripts/RPG/Window_DebugLeft.rb | 105 +++ Scripts/RPG/Window_DebugRight.rb | 120 +++ Scripts/RPG/Window_EquipCommand.rb | 37 + Scripts/RPG/Window_EquipItem.rb | 79 ++ Scripts/RPG/Window_EquipSlot.rb | 112 +++ Scripts/RPG/Window_EquipStatus.rb | 100 ++ Scripts/RPG/Window_EquipStatus.rb~ | 97 ++ Scripts/RPG/Window_GameEnd.rb | 39 + Scripts/RPG/Window_Gold.rb | 48 + Scripts/RPG/Window_Help.rb | 44 + Scripts/RPG/Window_HorzCommand.rb | 107 +++ Scripts/RPG/Window_ItemCategory.rb | 55 ++ Scripts/RPG/Window_ItemList.rb | 118 +++ Scripts/RPG/Window_KeyItem.rb | 56 ++ Scripts/RPG/Window_MapName.rb | 97 ++ Scripts/RPG/Window_MenuActor.rb | 44 + Scripts/RPG/Window_MenuCommand.rb | 107 +++ Scripts/RPG/Window_MenuStatus.rb | 86 ++ Scripts/RPG/Window_Message.rb | 398 ++++++++ Scripts/RPG/Window_NameEdit.rb | 130 +++ Scripts/RPG/Window_NameInput.rb | 254 +++++ Scripts/RPG/Window_NumberInput.rb | 149 +++ Scripts/RPG/Window_PartyCommand.rb | 48 + Scripts/RPG/Window_SaveFile.rb | 70 ++ Scripts/RPG/Window_ScrollText.rb | 91 ++ Scripts/RPG/Window_Selectable.rb | 443 +++++++++ Scripts/RPG/Window_ShopBuy.rb | 116 +++ Scripts/RPG/Window_ShopCommand.rb | 37 + Scripts/RPG/Window_ShopNumber.rb | 140 +++ Scripts/RPG/Window_ShopNumber.rb~ | 137 +++ Scripts/RPG/Window_ShopSell.rb | 28 + Scripts/RPG/Window_ShopStatus.rb | 125 +++ Scripts/RPG/Window_SkillCommand.rb | 77 ++ Scripts/RPG/Window_SkillList.rb | 122 +++ Scripts/RPG/Window_SkillStatus.rb | 39 + Scripts/RPG/Window_Status.rb | 126 +++ Scripts/RPG/Window_TitleCommand.rb | 46 + Scripts/RPG/_Insert_here_.rb | 25 + System/RGSS301.dll | Bin 0 -> 1085952 bytes 141 files changed, 20827 insertions(+) create mode 100755 Data/Actors.rvdata2 create mode 100755 Data/Animations.rvdata2 create mode 100755 Data/Armors.rvdata2 create mode 100755 Data/Classes.rvdata2 create mode 100755 Data/CommonEvents.rvdata2 create mode 100755 Data/Enemies.rvdata2 create mode 100755 Data/Items.rvdata2 create mode 100755 Data/Map001.rvdata2 create mode 100755 Data/MapInfos.rvdata2 create mode 100755 Data/Scripts.rvdata2 create mode 100755 Data/Skills.rvdata2 create mode 100755 Data/States.rvdata2 create mode 100755 Data/System.rvdata2 create mode 100755 Data/Tilesets.rvdata2 create mode 100755 Data/Troops.rvdata2 create mode 100755 Data/Weapons.rvdata2 create mode 100755 Game.exe create mode 100755 Game.ini create mode 100755 Game.rvproj2 create mode 100644 Makefile create mode 100644 Scripts/RPG.rb create mode 100644 Scripts/RPG.rb~ create mode 100755 Scripts/RPG/#Game_Troop.rb# create mode 100644 Scripts/RPG/BattleManager.rb create mode 100644 Scripts/RPG/Cache.rb create mode 100644 Scripts/RPG/DataManager.rb create mode 100644 Scripts/RPG/Game_Action.rb create mode 100644 Scripts/RPG/Game_ActionResult.rb create mode 100644 Scripts/RPG/Game_Actor.rb create mode 100644 Scripts/RPG/Game_Actors.rb create mode 100644 Scripts/RPG/Game_BaseItem.rb create mode 100644 Scripts/RPG/Game_Battler.rb create mode 100644 Scripts/RPG/Game_BattlerBase.rb create mode 100644 Scripts/RPG/Game_Character.rb create mode 100644 Scripts/RPG/Game_CharacterBase.rb create mode 100644 Scripts/RPG/Game_CommonEvent.rb create mode 100644 Scripts/RPG/Game_Enemy.rb create mode 100644 Scripts/RPG/Game_Event.rb create mode 100644 Scripts/RPG/Game_Follower.rb create mode 100644 Scripts/RPG/Game_Followers.rb create mode 100644 Scripts/RPG/Game_Interpreter.rb create mode 100644 Scripts/RPG/Game_Map.rb create mode 100644 Scripts/RPG/Game_Message.rb create mode 100644 Scripts/RPG/Game_Party.rb create mode 100644 Scripts/RPG/Game_Picture.rb create mode 100644 Scripts/RPG/Game_Pictures.rb create mode 100644 Scripts/RPG/Game_Player.rb create mode 100644 Scripts/RPG/Game_Screen.rb create mode 100644 Scripts/RPG/Game_SelfSwitches.rb create mode 100644 Scripts/RPG/Game_Switches.rb create mode 100644 Scripts/RPG/Game_System.rb create mode 100644 Scripts/RPG/Game_Temp.rb create mode 100644 Scripts/RPG/Game_Timer.rb create mode 100644 Scripts/RPG/Game_Troop.rb create mode 100644 Scripts/RPG/Game_Troop.rb~ create mode 100644 Scripts/RPG/Game_Unit.rb create mode 100644 Scripts/RPG/Game_Variables.rb create mode 100644 Scripts/RPG/Game_Vehicle.rb create mode 100644 Scripts/RPG/Just_a_test.rb create mode 100644 Scripts/RPG/Just_another_test.rb create mode 100644 Scripts/RPG/Main.rb create mode 100644 Scripts/RPG/SceneManager.rb create mode 100644 Scripts/RPG/Scene_Base.rb create mode 100644 Scripts/RPG/Scene_Battle.rb create mode 100644 Scripts/RPG/Scene_Debug.rb create mode 100644 Scripts/RPG/Scene_End.rb create mode 100644 Scripts/RPG/Scene_Equip.rb create mode 100644 Scripts/RPG/Scene_File.rb create mode 100644 Scripts/RPG/Scene_Gameover.rb create mode 100644 Scripts/RPG/Scene_Item.rb create mode 100644 Scripts/RPG/Scene_ItemBase.rb create mode 100644 Scripts/RPG/Scene_Load.rb create mode 100644 Scripts/RPG/Scene_Map.rb create mode 100644 Scripts/RPG/Scene_Menu.rb create mode 100644 Scripts/RPG/Scene_MenuBase.rb create mode 100644 Scripts/RPG/Scene_Name.rb create mode 100644 Scripts/RPG/Scene_Save.rb create mode 100644 Scripts/RPG/Scene_Shop.rb create mode 100644 Scripts/RPG/Scene_Skill.rb create mode 100644 Scripts/RPG/Scene_Status.rb create mode 100644 Scripts/RPG/Scene_Title.rb create mode 100644 Scripts/RPG/Some_other_test.rb create mode 100644 Scripts/RPG/Sound.rb create mode 100644 Scripts/RPG/Sprite_Base.rb create mode 100644 Scripts/RPG/Sprite_Battler.rb create mode 100644 Scripts/RPG/Sprite_Character.rb create mode 100644 Scripts/RPG/Sprite_Picture.rb create mode 100644 Scripts/RPG/Sprite_Timer.rb create mode 100644 Scripts/RPG/Spriteset_Battle.rb create mode 100644 Scripts/RPG/Spriteset_Map.rb create mode 100644 Scripts/RPG/Spriteset_Weather.rb create mode 100644 Scripts/RPG/Vocab.rb create mode 100644 Scripts/RPG/Window_ActorCommand.rb create mode 100644 Scripts/RPG/Window_Base.rb create mode 100644 Scripts/RPG/Window_BattleActor.rb create mode 100644 Scripts/RPG/Window_BattleEnemy.rb create mode 100644 Scripts/RPG/Window_BattleItem.rb create mode 100644 Scripts/RPG/Window_BattleLog.rb create mode 100644 Scripts/RPG/Window_BattleSkill.rb create mode 100644 Scripts/RPG/Window_BattleStatus.rb create mode 100644 Scripts/RPG/Window_ChoiceList.rb create mode 100644 Scripts/RPG/Window_Command.rb create mode 100644 Scripts/RPG/Window_DebugLeft.rb create mode 100644 Scripts/RPG/Window_DebugRight.rb create mode 100644 Scripts/RPG/Window_EquipCommand.rb create mode 100644 Scripts/RPG/Window_EquipItem.rb create mode 100644 Scripts/RPG/Window_EquipSlot.rb create mode 100644 Scripts/RPG/Window_EquipStatus.rb create mode 100644 Scripts/RPG/Window_EquipStatus.rb~ create mode 100644 Scripts/RPG/Window_GameEnd.rb create mode 100644 Scripts/RPG/Window_Gold.rb create mode 100644 Scripts/RPG/Window_Help.rb create mode 100644 Scripts/RPG/Window_HorzCommand.rb create mode 100644 Scripts/RPG/Window_ItemCategory.rb create mode 100644 Scripts/RPG/Window_ItemList.rb create mode 100644 Scripts/RPG/Window_KeyItem.rb create mode 100644 Scripts/RPG/Window_MapName.rb create mode 100644 Scripts/RPG/Window_MenuActor.rb create mode 100644 Scripts/RPG/Window_MenuCommand.rb create mode 100644 Scripts/RPG/Window_MenuStatus.rb create mode 100644 Scripts/RPG/Window_Message.rb create mode 100644 Scripts/RPG/Window_NameEdit.rb create mode 100644 Scripts/RPG/Window_NameInput.rb create mode 100644 Scripts/RPG/Window_NumberInput.rb create mode 100644 Scripts/RPG/Window_PartyCommand.rb create mode 100644 Scripts/RPG/Window_SaveFile.rb create mode 100644 Scripts/RPG/Window_ScrollText.rb create mode 100644 Scripts/RPG/Window_Selectable.rb create mode 100644 Scripts/RPG/Window_ShopBuy.rb create mode 100644 Scripts/RPG/Window_ShopCommand.rb create mode 100644 Scripts/RPG/Window_ShopNumber.rb create mode 100644 Scripts/RPG/Window_ShopNumber.rb~ create mode 100644 Scripts/RPG/Window_ShopSell.rb create mode 100644 Scripts/RPG/Window_ShopStatus.rb create mode 100644 Scripts/RPG/Window_SkillCommand.rb create mode 100644 Scripts/RPG/Window_SkillList.rb create mode 100644 Scripts/RPG/Window_SkillStatus.rb create mode 100644 Scripts/RPG/Window_Status.rb create mode 100644 Scripts/RPG/Window_TitleCommand.rb create mode 100644 Scripts/RPG/_Insert_here_.rb create mode 100755 System/RGSS301.dll diff --git a/Data/Actors.rvdata2 b/Data/Actors.rvdata2 new file mode 100755 index 0000000000000000000000000000000000000000..f766d82245870eb37c4ff177b609becd36671044 GIT binary patch literal 2445 zcmai$+iM#~6vp*XWNR(S*R*{qgDDh3YXWKepnZ`-oJ57X!7}8*4`#G`q&?N_j50GT zMgM)j*-Najf`Vp!0cgK%sugvK5{^R@6Xp(qiFGtZ>%bcdyy<5vkchtRo z7@dt5GNC8dDShG2=*2k6q?L&$`*rMc%$hw*^`vM+io2uJYEiY>NxAv&-T3HXG#n>N zI`_mWW?k*=)t-7hE+-Ag3zELDv}GBA$%w6$gXb6lTXLF{8C3KGjZoK?oO}! zchXD66lTQ7+>Lwq1x|c2z21vk+~=cs@a@nLL#L0O_^b{`e2zHu5rr}i@x}D|{2?nK zn-%Za`SOIz={0@8z(V>AAMAt#p+f)!RKXAH8}X3YfNu&fFli9&@GbjQxQyz#lnN{t zo{~)S=K^6c3$b8CjPy*)SP~0W za9Rn8inSJsR|LDSG%u*dcJc-Xqz&AGH2kCF?t}Sj8dgI?47Jkm=Y6=#x6-b}drPPY z6V4muRui#gtAY-Jqs%!kinW;Uf^0C7aBH^g;n^92pg;#mT^7TVtM+Xbqk750np~vF z_rlI4vaUtiyGMDfMLdv;4QId2*>7{caGBjImz0WvJE0oFAAl?PU}!%(Nscp zSu*4lXkb#6(uVcH>!c~)?W=Yb`ov)BVxjI7+C%ZGxj3R#wWMqvoT4JJ-v#|k QeK)K^Yk6)T@eA(!2k73rGXMYp literal 0 HcmV?d00001 diff --git a/Data/Animations.rvdata2 b/Data/Animations.rvdata2 new file mode 100755 index 0000000000000000000000000000000000000000..b80decae8ef36387587d895b37825e40dc5bab79 GIT binary patch literal 218370 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 HqG$g<91_nO&Q{<*=a z<1*cSdw0srY+sgNQQ^uAY*U^;wx~;WN564pg(XE3?V0xMoJ@C{vZDNn`IFp9!KzJ>7=4!%~H>EDKq?DSe(ls{?m#G;Da;BlETRYtbUuPEv= zsc39wX2;*Z^T(coafL-Cv6;>`h53{6wUL7DQ}W9u7nRt@Wx4&cf=gnuJSCD9QXG?- zlF=mNPyaQO;^OOS*{Kzqnv&Wy_0Rt`mQA-^SIzHgwI+YAmD)(cW?rq9LZ7r&B3FM; z|NZx3d+ODK44(@6cYoUbQ-uKEf?(28bn~euk+R(E%m1TjF<7co^F?!rByy#PPfcoitpcgRl_7lUP;-b?DzzvN zWVl-rg|1L{TaX(CB-$hMYx zwXh^on)A&Mwk_1FgGEu2!8a}KJEbu#M)PUGHw*0dN>i?j;nRw5PTCK1T{0HMN?X2h z_&vgPDH2af2T7Mceospl?Np?Icjrg%;oRdqrAH8Y4-N?zC9V|83f7 zg2jo_lb;IxKalp)3?EdNKK!)D|8vQv$C{M%EA3`7@>()j zy2`WwyXrkB5j2#UrDW}Iff;y>OEJ~$h zJUxC8)JqMMZg?P7DrAHtIR>db>`J3#ij0(Tju9#!yBbq6jg@%VFq>71rUVP`W+=3&7C=R8#+Ie4gHW0x$G&Yo}7BF5Q~8oRM@h36+# zDP?#(TkesS@{-3img4!&)YvDhBs?U@SkAb+P~(8Ck=&3_V}(p$WptMNWxd=H5@W1n zCc07MFcyChQqx$4AG%ZHC>AG$CL3$;Ll0^klPxkXw285fndwQ5N3i&CXbWQle(6Px z$7H))3GHBP!Y_R&c|z`#R$<+Z&G@A+YwIaSurRE@u~p_UV}0Z#BX~A!n6ZtS%b~_8 zM&R@o8Qbwwe`-80_ex*ySmRD+asV~X%6{44oowu4CI{-ZDEG-*-r2@({5FUhFUuiG z3}0;Q!Eb}9@tQm!#o@OYdu6E%p~f4GXm9v>V;?h}OO3bWA^9@=cH;nk97>IgjHqeE zUB*GVMTSx1JvlDZBla7InEBzIdU#xt$eKBtJ3Y`q5&Zlsi}<#qz7XD&wR5 z%~PzLF}5rbm0l)F%5`3)a4ghC8u&_uHsM#l*U|xuw~4&&_y3}Q(?2PRjEr=NfADIxe@B0P z*`MHky*&7X{(o2+Iyo!sKg9PvMhYNwNf5ZM0fK)qnghOIesckY5b15Uu7aiA zu=_uP-CAHIa6>hfnf^}!0xdiexj~xC8UGg;M=g4&&VtX7#DG_-U>eUgBBy|aT9prf6uZ+6^t@g7YS{o=Q;35#`JP=UTutB6t&2oo&H+Gg?n0Xbh6w&Mx3w3!26R zg&}gq*%zE=(0UVsz)*q7kFH`a6|oG+H~VLyQPK8&!Ne9w$N5hlib zR&HC`{0W?Uy#dBTP}hz&e*;6Ky&hu`^VFU;O|?=U_C^_tnWy&5tzE4WXLzEq1hjRa zk3a=>!jp_;%v&~Xy3{&36rN_>%*yXbn;~kW*dj8GTbRdAv>C2$lR**fja!+=&fqgz zZIQhZ-Hg@T8C~cjUfnLgM)Wh*GOu0fBT?NUy(5Pj>p@vJ`lzLL$eode#zs)qoi^*K zUGiOI8Mq&b^|{hO?Uv3_lfiuf)(@3NYL9G=nhov?v3{5|ReR-f)FNLXng8MQ?Lm%p4X%zdIaWCs;0DbgRkIGH4&l>wd(?HhVK=qis8vCMg zAM0okedemirC!|Y#{Ix-Fn#8!CuLULd&Xhb)e!n9P|wJjxQ~q^tgBr57^R+-#Q3j_ z2W2v&1)%D*Op5=}IEGvrMxW*Cc{v$xn2)gThSTRnbw;A91)9f+40-f9MV*tfYN6(1 zGK0}hkQwT{JXS5ne4KTdPoHztE8MaROYytk~G5V>pLS2-hiP_+PKBJ!|tJJ%4Ah8GdU%=?6%R2CGRPPV|7c%-8 zvI)HBR3B!($T}X44O_r_miG^4XN5z+2p>2*dgqtr7nYP?<#X_Le9pT@sO$JV!naWK zIp4QX^LeCiq2_aeZ=pYh)qD$`6n6D3^iWvSw=jaj6yL%a3KM(_6DjO=tuV{UGq@|) z^M64d{EggzRttYp2Rd1BLoVRo%Z00!YW?uHlLc9SLt!j3@=ya_6onhg$H^N;DcT?s zec^%P3DUrv0_~&uR+rY0dFBFY$8wD>tt~H`E1-Kk-|EtOQpegzy@V>oPz^54w02Uj zI<+IAYC}0=9f0OFsU1aYX;R(xFum5MjToreR3_V=f%SE%9n0V8a>{m&){>|l$KP2J zYk!;8lB*O!GI4yo{Uh2*sZsn!um+UsBxC#nRbBX$ zfDKKFo5%gaRT4Z(q*im{qQ^f`)u-R;Fgk;{SLC0p8o-+xSkr>I_Mm^dO5vwkSksC) zYPP|XX=5G3-AgEGhU}p+8_aKt?4_c$Li02KlzBf_q?x5RM3*vVw zW9Uni`Z;KiYQ;B=7()&ZioF~Us5X4ln9&R%>fGr#q1y6I6MQ*{sPdiTdDWh8nlh$b zB3D=EYpMg^G>4hPAm~=-CDoC5nhqoLh(upGFRM<(&kV+x&x2hD*A>-;ab@EBLWsH1 zWf|Rwk1b$eF&gMoSFq8Yc-WFLkLE$GwL8Y>NzGP_c?=I`tKD^sUes)ZH_FgNAG*_w zKGbZB561BzmJ!_2=u6FZ_+Wx;k`=*Sj2vpV$2%1~;JzE2V+ri~W6^#`dk!)7b(lFN69XxW6ibyvn)6#H!zC+%WV-fAmskD@b&v(k( z;)?8PPNSuKhAD?f6GIfIr)G6#F)AM!wCkvS8;7cd8VdBpaQnqbZ*u~5Y9?c))9 zXw)oo4iB`&%-#Vs*ny}@a~|_Bia9xm1~a4A5K(s1dj;P7S_VYlZZ4$dG0f%>`Bv_U z-eWGJRmCjA8pjkoP;TkK`?7Ur#jIec0I)HktL%v(t`Ok(z*6^H5= zXIZP{VXT=ir^T&qiwm~a(9;y=^m#Pf=W#LCT6&rWh0pK^-8R0CwVs})Gsov7Qmu_o zvo_Mx4CeT}#Hf$rTUwjwX(so|D`>c^YF(_&Bpzm?E?+~#t*n+~ZDF40Fz0VbO?9bS zo^?C(JeSq;mef(r5=yOYXzBT^o{N&CmL^QGwv%dEz#4cLP4{-f0_#qCUdS4_B&jMj zaRm|hJl3t252UfWDRHB97dC$OTs92KiiCslQYh?tbHo%F0HfGK#K>45(YRpP-Wfh1ZaLoyaKiEz}~T*tbxN zj8VRYT4ap&E%c+Xvu~kR9({ZZgDC9lTj-*&pKoCZh0S~mwH#^cTd0*smurPtPWb)* zhw`{VNBqw!j}+pj&P#asI|`mpH^%X^-YD=u^J?;>F^iw|MnNdQRTn4sb(rXlfiQln zC4@atr8uTZE-|EX}<^kH(8v#-LmLkoqN9aX=qG59*nQxteCEbj<9`!O37C$#*^u@%}UV+c5miQ?h_LmSpHwC_;TJduR>@VYa<{yFYp**tqw5*E8DM6Q2 zTYheVlF-q2TF_4@51oi_Qx$EW2=X_w`K~prpGy34I=n_lJl6)+&mdk6bR-&``K~Rj zpG`d4?np7Z@?CpaKMx{)>c~QQWaIhHM8jL9nX|LegYUA@Rf~vr^PD*-kIwkITUB&B z?aViN^Id1yz8vCtUF9f^u6%kDTenD_Yo^hU@4DgbRS<5EtJ3JtOmt^%)xz-v3 z_^v13Uk@8wxwjjG;C?UWY7+!o;@)ozp>A(xV+*PAm)ysUT)5wtx!VS@;(|}2G;$~z z1bOe5QNb@8!>OCYT<(NW2ZP@;Mo@PE?A{HLeh$8DjHK>B=Jp;^-yJy?EM(! zaCbzgRY_Y@SzVu^9KMN2u$Iu)G*;JT@l!1$8(7O|YdUN7E3!M4kr~#_sEnDcwttCJ zy%gEeT0vX0Si9egN5w|8TsqE;*);ii=$m+DI1hq1HjkSTcZ-V^(s)l+q`VMOo9AC_84N`Sf z&6sK3*?VpWE^6nh0_v5MX|qhngCXFdhV?T zs=L}2pKaU6owR|wp`q&a*UH1uFMsUhiTUL9Z`gY%xyIw`WXBlaLM=N=eG9ehDDy4U zvSaME!YpS=AdGkYzs)Y_WWo){2L6vo*P9~x3janaf2fwflPm}#poW8IhXexEFzIUy z=KrDMqC_Y8H}U8bL%Ca=Kr%|+F~(CKF2U5$N&DL7OmG@O3vMtNFJqDNi2yr<8cAGn z$XrdmXj=4uwHorHxfOWo7DK=o7`5&Om$BldhEAGST8F`9JUxT~rX-RJkAX+sgBK7b zgYeU|qk9MkGYuuz_9}l@$Fc~p(nxmL-s5lGV-y%^A|Km6qg~x&G?-{64edXGzuNQ| z0~XR{irrMru|SK49)RspyGvzMSrA8^y1VnrNhx72AhJ`f& zc2D`*zeIJ#ZY?UtU_pAoWYryu>+l&1Smp-IQ#~0+T|N^)%QFGX6}74)#w09q1a44$ z0k#$yQ?aOD;0~3;xa#wn0Xl9A+@}Tr>|{Q(0mHk252-9z;3~q4-$I2xyy}d__Zan zS}piiV=jJf!`vTd#6`hd*iIPCx9vgbD!Dg!H`@tA__hNGT_fKF-_LeJF5hMY=yj6e zIc`+4GCCk*o+C8Q^PDo40_<#jat05a^t@~=XI?tulXHY!XUMyp7Rcw@E+BK8xbSA2942~#)JX|7}5y5XbukTByyBh3xW zTX%f)0UmlFw5GWUVE4dBA0aw^4sB>|W*&PYb3R3Mv=7VVjxD2hUl4h}EDh^uZew11 z_Cr-iRG_p_1*;zNJ+v>XrLZr%s52eFoe zNdMa+?ltdcT@1#jZqonVBaWJfSrN)4dWLmXfX^GMOX7;IXFUtB3-Ngx z>HhxFO{~-0Nk#a)srsjEiEeE@53q}oVCm{(xfI>aIs>prF$XQwr&2Fwfb}BlZZvby zT3wd$G5OX@0K0@aXs5oEBQayGmsy8nxYx4PH}Xr&H0xD>UCNwvQQu03*oD^XtjjXy zq`UfFmc_2L-eg^l~iL)uR_Gc?XoU%r;gKeq<;PD?TDbZ6AMOj zfbm9RmtUjnb;KU$Td0XW-nUQ_dxCGFCicW@g;~y$pc_vM=!1mKd^Z1m4ia*v;6FM; z@Hch|G{=8G?RQ6stH&SOwuOGQ&E7of`5n1g0Kx zgj=9)73AXxJiX;>>pb|fd#`YoOs7Y%H1cF?-%l0LB(vVN& z#?F&}*sd@x4fz^XH*Pf`pGFUHT%&KyT)RW*9r-w}Ddtw$U=LS%M?RiwO1Kry+p8f8 zlIg8()s5oztA{9PKyUT9jV4QXzciIekBMAUK`>h4m!^{ zJC`$^JrN0w={*JLE|eDjgOomESc^915gexb=c{&AvLuyIvP>TEFI64zdmS)Z$<6+i z|0LBB#FAfJ)Vcc}b#;Rp{$o0jrcga#$aXuH#AdQowCW zA8kygjg4sa_`sd4AT3)mQ2IOBvDk-*XoGc`AZE9$4?L>+Fpmvsa|e)kDe#2q2f|Xp zz(8o!hG)Ft@8bu%|lRi#!Bx|QL%@_r8vgqRsPnPdFvy9QK zq!#pXjwj1FSGF+*#I&T3m%-#p`ik4M*VyZB8r{_E(r4(#)e2$PdP#zWaKNDkZ=so zn1;8?fNHw>B{U5YGaYY@1*%ypBP9yGYgS04yd+M_lNZ~H*#kU z#HKW!LobI7B0|lmbSh|`Fkm3Vu;3|EuY&k^SlJ-6cR1(L6(tMtgX&4WO_7@LdKEHx?eL-P<&ABD}M z)jV}yCif^H2_S9>I zSm^-1NQxk2Kop`Ww$$>R)bC%B8H z1uwUC51DH118;G(5YBDdM-E#@!J9tT7r|}TU%s*)2X6`V8Od!kSQ^@%180e}7{zTd zRLX2GGfJHyh-R6OAhmvxaqDA!F)Z6c`KRq8@Kvj-&oP9Fn)a{pLLFL+<0dbYk@lbP zOI=!w=O!L6+w3;gfGe~OQ@D-avb$9ZHM9*gxJ{$|B2_AYtH~8}(EkJds;fo-t`=7; z;I>-lmy86^?<3SeoiCJ^{F*jJdz-tnM~p-?RJ?LFhjLu zo*L4^E};5oz(UoUnQKG~dnoxaV1;S}kkV*jA0_EL$G2r38`Hu;N+t(xSM8bECbU2z zS?&+KM|A)|O&P;OlzbU@SY-p4X0-SyB@Kd(t4_>(b6R|ylG31)sxyE|r^Tm%=-ol* zR9AqKNsFg|=m$L4cVlH_(c<$Uw}#^bBtvH`Y9=pIGQx2g$wK1MnnMqhx@h92Gpngg6(qaQ1)Ej_$1@5maEodYo1@%u+4 zZ(nrQGX?;N4)pjL+n6p_nlX@-mrajf@+8{L)xsFey6Z@f{{oUrT^)@f0H6~+{=k#y zGp^o7E-SM$J^l$;Co>~sB)@F!E2EiRqtz%==G?B!CQ@D zR(c;Sh*4g3nLNN~0(xI8sHUP+vge>tLICfF1vNLt8GpPkNH^GS9Mce!y1}1xf4fX;Q&&(m0=m?Ebv%>g+o+7 z^;B4Ua}Ibc#KPfffHJ(@&AHsEMOZje4N^WijBmCY6|o=5vILJ5a*S`j+6AI-0pSy| zc!gS|E=4?Ut|U@aVDT!oL?uK%$3xN0cxV*I_- zR3cl|TJ?J5M@X1kiBw}`yV|I{QD3v!xeAY!$}Y7<^^N)oNwXS{mCD^}+g~Hw)q7$| zQN^U9ii)e)4!cTdy#YS$8l$cj>Z5nleGBzo_YB{{I0|R_7TPJi;f$Z&e!t;3pM%1N zzL)FMfPY}~Iwf(#8NX0!*7CjFOW_TN3AMba?ORiy8?5eIsCVyc_!icnu+Fu@EN6)m zA>#gXy1&>zHRZoqhy2^~gwDSbCVx7CsLvDrzG?8saQ=oc>7+(ii4MI>ub;=~s;N~X zL%+Tk1$>XFMO7k0@5<}v>(4p!tVM=?Jue=3)--l-Whj`B0mXGB*SHT!5eE46dA%fA zZ5*d1FLmRAaRY?R^Yjw|#&zw6BIX4ogg!}F9dxEibMxb>wrkLKGB7GPzprY$79dUm zHoHulilOz|fVUCwc*_h^y05xi-55B8TGdq?t?NDZrUd`4R;r4puln?zPOzVEwNeT6 z)_}e<3FZ%4Jyas1pdqcbAXtB4<*MrR-H6s&6O3!yN>mLj*L&)13AV#*(>N1Qhu@mf zT3=afTdee1g=Vzgkzo0pZ7pX6>Ve5jP%uyo`wq?sB!R^ig!&8rF7UY$FI?b^RL|`fP;W zBOgh4%JXk+G{M^LfTW0kz23j4(Uh_1J@HWl=okEl8qF9>FThcPu(ATi80lEwhq0Ft zfU^Ro8Tu?mKgM28z?~RSX=Gx3f2quYc~>+P&Gd*Z7KMz@(QhDzspQ=c@P%;>g~ zAV2QhY3h@PQ}O*BNV#vF_nUq325(Ma{Zo?cI$`RQhcg)MF0vm5uCrzizMI8pca#0N z&GojaPae);F7|NB?40XUQ=dGXi|DD`0f^D=LLD+-Pjt6x0V36qhv#3g4 zaGt;m!4k?9*&PocA2Eit*+Ky!8UPmcWq5td!Ot{YFKYu1>V1h&6Iy4B}at~w@t$PI*;}-X9jK$E3-{T z$n57t$7d3!UJ09No5E}yz`K``mJaVy+cf6#Am06wY)X6Y2HSLIL+9BzH?3xPciCnj zWFElV-;zx^=sj$k$!r|K+utKKKk`0do5kEdh_`=~6jd$!McZs<=NOL(Kl293fbfg9 zIn4FLc>h;W8sbKU~QR2N$l+3!ur|U$?Y~MmHO6K?$YEd%Rw@{0cbl*aK zP%zoIP%D)dzJ*$;{IO?#ohZrlt*J#xE8jvbN*enXYEhEmTc|}zOW(q36!!Ej)Ji4G zw@@pU*4GNNoF%S*lQQ`qQYxF-+n)csKrHV<0QX@AWIU# zJG<+~tNf-9Cf4A$da}j%pi0Q-Z<7G_Y2%wJA)~)d2GBnkhSEnDYf)E=huWq`X_2H~ z8_?pRznP%4u&E2&wOCkarYJ3%^lJk8z}-Q!rP4Cx`y|Y_H;uZhU`M?dXwgBdncnI-slQEHLMf-1|V!wuvNc0Rw_OH ziV!vpu~ok+MhNz+K-i?xdM@9Nm%V-q5HgKuUB3!eA#eDtLdc}idey66;^%({LWX(5 z7QKnn)PKLx9PbSPev=9Ch5nBk>G*ySGH4nBeYOAd2%Bb%WfZWTCnx+b7@2r8m)>U~ zd@lQcZ0L;7FnXU$fQ}3J0U?t?Z(|AXmC`N1&(w!0^MRS(0<@9Guz?)QNU^i_)81ygOF)M@6$o=2FVW`fskoS z?=ykrCRrI+j*w|b@3X5mfgTNQ*l z*`1H|_k*L494S_RW_Kah9|msW&X(2yMCu~OdK9>2JG)y0neD}({UHuZRycF5L9F8? zp#2eq(spMF!load--fI@DQBJ25H>kjyPbU4Df!h|iIC}!wReKT=Mh%x5i$d?b{8l- zBSTy}5i$d@mVYyWZKEZwLslMZZ#5`CjdVEbdIDiHgqhik@OV`|aGgWgP?n&%2{- zqY!SlGujJmEB)xMXB*9Gx`WYPB!^ZnINeslYT5y+-<3~fU~nhf7}oNg`05e|{TBrf zu$8g8cHyfJ5K@PN3lTC!jOKBK$Je~rTY-=%W;9Q7^|uo2SzsH-YP*Nge}+_OX#Tg`WEW_n0CH};S}DG z8;PVa&9`PWg^hd*wTfx)Tc}k`58pzqVs6OHXcg1zTFopc{}j~?$1DG*@-6?JDrTQr zh-z`56Ld->M*gYRqEcMw0{tpxHAysfqEg)G0R1XvbRZi~-ow$aEwqL{MOLS)s-!+FX~VzvG!PY{RY?O_ z(O%xLMx#QsDrrdUCpS)dMBAqO?oLS$+Y(eqH8`3^?Cvg$ZJS7^B+zpcVskG!VcT<6 zg)}4f_LU!P51~4=3Q32&{iTWh6sn_Um2E>QDYw6g>Zk<=TM!#_Z3C1!?A2)PpO>t z%R*%&!>vw`uv{$v?x>6gRb$cl@>Zlj8Z*|OkWA;tr}>wmGPLUG0e7d${r@ z*%#kyUq3~S51rqbIn2&%YMi7-g3CfBXcaLNDnALe!%zuYMUcAU5q7PsCaOTIh`H=y zosu)Irl^8G%*A}T^E~O0Y*ayCJiidmoRxO&{+52lV+l3hBw;YiU5qNoK}9U)asL%L z;+}#k=+8_nfx55Dm+r-=f&t9cGMIfql7iQx0tTVbZYJ4rQ3`{1qXM*QxP{02_hf7E zQPLY)HQWlL-L=Ob%Wm1NiX$Pg%B%*^iKV2P<>LdQV)QK$ss7W-uVLuZn{7>(w+i}RKN zYGvqhs9%CgxSLlF9O_i)W+<=M#yz}p;8teXUMOG2%-_o^2O+9O*dtJWEDCQw$qcWW z681dl3cXeikj#iw_l3P>n~4fI!fL9;(UecZJ||r<9#wFNfBqs~)%5;io5Ov13>}fo zKH6}v(>|Bg^$2UHA^T_>z47*Wtfk|qq%>Zkc*&b$U%+a64BgO_S126et?Ua~TY8T) zoueup!+Y9qVr@Oi6VZup4f^_~eS-`Kf&1luJ2A8; z2mAZ&0&sTo>}>ZnHb|&c@H9=v69cL2IGgK{ao}AKjaq&bp05XK;&J(=B@EobVXJKa z*VJgWfKrjwF}PKpPMi2>)o1iE7>r*A212bJhfE?ThS_=tMUOdgl(CD2z%nkXIQ77= Zp)3W96r87EnSzTHT&CbE1=lIK`2$*5Z6E*u literal 0 HcmV?d00001 diff --git a/Data/Enemies.rvdata2 b/Data/Enemies.rvdata2 new file mode 100755 index 0000000000000000000000000000000000000000..f05f6fbea7ab1eb6e0124d952bc2046bbd7e3df6 GIT binary patch literal 11144 zcmd6t&u<&Y701c7LoSzGQlfsFmL*#eV#BdQ$#E3#8Ypc`R$be%V8w9}7FE{dN_r5< zB}mGN3Iqs(0PUfN915fD$;YCnATWv?a!M~b_7BLx#~yp=si(fTJ2M=vmiDF#ZK{OpH4zdB#(?n9%o4RuHvlag!O>R8PcbUtESMkC&i z)5F_Ir062liu-ZA>?f9c&K=w89dzt&HRBj1_o8lCUHf*=ZW_iduT8~s)SS8vCA^2a z)wAdl5=OT2#A+PaJEii{)wiz>{JfLc*>TKi)trHnc?wcyY3Fo#seGk8_;We&r#~~d z*F84?_I?E4XYgaG6-40PV7ICRKmtY~13DfBC>SG^ddF#R172;nsyfDuOmz*L=sr{o zTHS6rO=wv?r-Sgc%03|H1bwGto>9#?yu|ro?-NBcb^Dxp!|D-1Q-y+=L0=6tGYfSy zC$;GqS~IVi1#BO|_E9`<5&u7i|HfGe%n3-Flh`;_%}R_Cc(cbsauM%R#gk{sODk6- zy1GkOGUU*pmY1%Wr;&8>_lSB7vXIAP6h_Ti}wmhim@^W9)B;rA;&ynf`O%Ln8KKrSleyuTp znK%HFxCoZI%(|@dW)gYLV1GqrK?yT&gg%>j1l=~{waR$SabEdHI1V`^=xDE?Q7j+1;FdK#K$X%yH)6zX{qR zjJwblVKEA{iF;P-(z;uB&u=!Y7B5|rpEG!C9G=#14%baptO+NBx@jR!pz_!urMxW3 zkXL}pFBK$u2_{K`D8~y?h-w>qPFG-j$}nyUjQ!?t7^$=l985+S#@ulY!3DE4FiD}g z4VKoca%oLnJXMy!=3Svm20BZ^OOf9y@DQ$Gdc1_kMYtFRv%a-&H|(BBk;&(b^shMS zL64A~ee}4YB18do*nH&(R9^f@SUt`j*ZC7D-&ITp=kY+cQMju2J2jR+lixF>dmO1~ z3@_c8pbSuqI|ER6PpwEDg%A&!(RfTB5YuaJLRf&e;H^kZZ#Q{?nf!q)0xFZ?^4G{Ne;8pJF+==yv%PSc!sB+pvBkW`W87FpxM> zv9*cphIPmt!VC0t5VY|)1xjgv1nOV5kjMPLksNP%-5b05Y7~yy&4YGZEK(@bNlx;a zASro-m!-i;`eb>F+hti!#6TDe&9Xc;xr08=A*D3xu33m_^1zfo4)b_1j z2Wo=umz=J0GRg7!-NGxmz!mFL@-(;0N}l>D6YO2W`VfIqNp&5rM-go9<{s_>bSyUf zD_@*oi9z{JFdgtY3RGy*2QJUS`Rr5NE(4urK##4km1{6DKfuX=lo#A->Y$0zF-;jH zFR!fdhPtmP5+8cvjv5K=9yEcMVM-;%bjwA3Kd5-WkSU<3ad? z2*RLK_&Ah;;&3Wb9Dd}U69s}0`%4brL_>;1(AvKz{7MS3Z{w(m$no_~6zsVzYtPyR zzV4-{X-@rXL4CmIXbKYBP*SSN;ILWb&?P&~t=G9-PC+FWj9B&uCND|m#^;-PSnIPaGT&Xa!dql|H;b;eA`qk zBlxq1NYR6(o12gOCRwWi%iW$<&ugev-0-6jb2X}1^$lFyb`Bc?EQIrqx|Z$hiI^<>-%aKN*srV*oHyVAj}eTdI;px`{_Q-q6Y0v}(fM?swX zz-qRkpDkWYaLC_exx@#2^eX1eP^%a!$LaGI6LQH;VHp|X|1)lv!!pOh5?c)!P%s89 zg~}DAoUsC`AunTXj)Q`QP4c%`*1fVM zbK)#QDfR@&MYLz=2@olA)N$VQ`ST}6-r;sRa`P;5v8-3Uq9FA`(4GS2n=CD4eM^XVu|yw&v5>d$IT6bKzu|Q1u9IHHj3d%t7C8siqf{>m&XPabMLP4@Z}PbK?DvM)FZ=9i)=6j0 zBF(?v^<|v5@mU`K!&~QA)C+7lr-XHE4{uSG=k67;FDv4E+Hn$PAsO5OpF literal 0 HcmV?d00001 diff --git a/Data/Items.rvdata2 b/Data/Items.rvdata2 new file mode 100755 index 0000000000000000000000000000000000000000..1e2217d56109231c9aab3a16c59da3a573241fb1 GIT binary patch literal 3196 zcmb`J&2G~`5XVzM&bLWh3N0;Q0w-uoT7;0i7gy?6L?cCQDh@qFTYFtb*xtyyf%Zjs z9za6yC_DovW?kolm3s)uA(A^|&Hm=U{~7mA;p~2c+vaimz_y!`h0FH5<1yjJ(38NU zW_{_Hx%?B0h4rS{v_59xWpI=1O>*QElJ zki!&Ut_zXJE@AGgU3PjgxD4LnlW=*DLB(EhXapfu<+|X(3v~vUct$R%jxY8Y^RQUK z!L)$~_>9Va%*0vFt~$*3nJdMa!R@uAol~JeR8zLSmn4f=(&Zk58ouvQN!2+yyW)JJ zL7#2;Mq}{2?H90J{L7;uy7o2#SSS!j+F5>NCoD;kSbJ&2`|XqRB%$m^gQIr z!dZ?iqO9azkt{)t+{gF>)QT+o#ce!4phQCLHe#v84Ay4*+1wfu+q7DXm zhQH?{+>yCx5G3YGVQc$+4BUu&>-*eIyoH;1w~!a1X92s7lhDFR7{IpZ1-RCGyt_Dw zjkNuS+TL0pz`oSQEo!jy}{53PXOURi$3L(4C?@ClZuFBdJk;SC06D z3Y+MNS2}b_gI+~wLpfq-qvbNRZAb2$7tnNe-JX{4Cn9oulZ0MBb49fgWD4(X3 zA&ssqA#nu>i$b6#UksURyMXHoJDf) zM$4Je$|yR8`__(`kQ{fjbv@Y@jlA)hDenbv3HrGFP~-CZb}G)gE>1NSC$I0KYv-lW z;Sf#j$JJ)!q9X-%(V~}!ZR`9Bzk{ literal 0 HcmV?d00001 diff --git a/Data/Map001.rvdata2 b/Data/Map001.rvdata2 new file mode 100755 index 0000000000000000000000000000000000000000..ec3f15940ea36965f5dd366772397a867773b38f GIT binary patch literal 2281 zcmeH}u};G<5QZbDLMRkyfr^C%o&ZK?v5-i`Pzgbq7%Vq2%?UTQ>I-eet21z})TZsi zj1*fZS-$hx`aOJqD>AI}@;qQ{DD5>n=T^?7)^Z^VIaN+9 zq^2xT&4fc`;g)LWkYNseYL`irC2No5SgXCCa6brwE=7l;MS*@JYUV#xfIhDojRK7V zjRK7Ve<`rUt*deS8pRzCY$9!Z0&npt!S%8xv^K_yDq%e?OEgx?N)WA+E#PW!_#SMR zxMb56xZKPW0>4XVMr(nURRsRsYZeJ@W#BxeMJ8Pi#l)Xln+sRbsh%%cK4jA*TybYr j3Lo@5iKx|Brk{y75(bxk#2bk|uXA^6r?Q*5-^~01S?Hzd literal 0 HcmV?d00001 diff --git a/Data/MapInfos.rvdata2 b/Data/MapInfos.rvdata2 new file mode 100755 index 0000000000000000000000000000000000000000..a98fa37057254ec1e29704d6f9f8c21c26ec1994 GIT binary patch literal 108 zcmZSKsAkJ#%eN8?3UIfw@=Yx8%uCDXw&HUrPAxw-a+LtR3>PSH)gNmB literal 0 HcmV?d00001 diff --git a/Data/Skills.rvdata2 b/Data/Skills.rvdata2 new file mode 100755 index 0000000000000000000000000000000000000000..4bae35e74f44f22fb59a91ae204f882c28a7e25c GIT binary patch literal 30440 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 IA2aR$1>{-zVgLXD literal 0 HcmV?d00001 diff --git a/Data/States.rvdata2 b/Data/States.rvdata2 new file mode 100755 index 0000000000000000000000000000000000000000..68008ce4847baacee192d66fbc0e7701bb71b0af GIT binary patch literal 4961 zcmcIoTW{J(6y{;YEdc^aa{cF(cL&X{ls=@uy}K8(+N-*+x^ra$GsK4}Z1^7-V0VVp`TS=}gi$1DiwIeXP> zRR|AA;8N~A%^KPFeWTd*=$Q3d#dnO#QP#}$Vg04gh0o;;=f*~t+rk@g&tc#A_N}i@ zuT>=@8jvA%T?XEwH`PwR^jc-&vnzhZg6OAe*JpwBxh=Wyc){3#XP41{4bE-`4jltL z>(={WuayZs0z4rB-tQq7@~lIyx$BZMM(9L}F_qkg{ci|$9OjVg5%WsLk0-D-wMQ%< z?Ss%uzRMk+1@}WBIRPMFv%+YE8odPwJ;}y~VMV{?K@wXyj5m!^*P)UQ;N7yZ*1e+c zgblN8W3P*Q4}3NjU>it2=H5Ba7?m!38GwH;fX(2EeoLOVyY`5Bw#F8;ebfyky9@@g zGX^%)1^k8!uc>t+eQ7K(EV4hSngrs$m9P3LXfL zIbm$fe6O{35?W9#v%oF0$al=OnTywZtvz%x^cg5FhRRpusl+p8*)l6CeC9^{rOI<= z4OBNb^X3+Bn2-3nxjk&YY#(&m=}#x~&%fpl_}S%Ia}WONoSO~!Yg*>MWj?mdCkdA- z0y%RrId7>H-=aY=`2(2jB9kr18CyVlM(ZQEz@>pMJV9LHoijh}Yyq466q}4bA|xfU=iXbgXbc;$d$wtZhNVU|JT7*2wCFUYd;acF@Kpm=-%9(ClglY}Sz z63}R-;irEu0j@a-R|EnXg*OM<7eM>hNhX2zeJztV!#)-e8n}#ICbAb#@lk>O6TmhQ z?5xEAv_h`w1ti!+ypJk~V1u{^RMckX3pk=|+iu)`(w zseALcF8E1k3V5J641hxuIqW8aPrU_1_S1?_EeL6aHNK1MCLTR=8Igiu+lrLac&#tw zRe-pxEvktvD9iwhmb%zJlfV>Cd&CDp0<6>apQdraeKT%+^QO!CcwdSBGL8&$9v@74lIYvJQ=J9_* R;9-Nj3hjeeNB17c{sVdGYE}RM literal 0 HcmV?d00001 diff --git a/Data/System.rvdata2 b/Data/System.rvdata2 new file mode 100755 index 0000000000000000000000000000000000000000..db523d602fe1befce86f24c830b91b2595528433 GIT binary patch literal 4362 zcmeHKNpIse6gJS*ktNxaOuC>z2S@|-K3gx+MUG=TMv^v-Ju`~-}1d3hXs3Am*XIqZiK|y^Pm@DiZh%`alJP= zYPEy*a5g#WUZxvC5=7hKE)2c?TrfU2gU*O>Y)EI4SjwNJWxl}N%)9T9tmz@*GPSJl zNWQS-DWe-po*;g!$epkntQzNii4KZ5BMcXZZ}4kIkwB7Z2JPXj_mr7)9|4Q=t3^ z|5B1dT)U)AUXd33w}Ra$CZDa>>tH{^3nF8yvJEPYwixG&IKwRPwZe;`6L#Sh-x8%_ z^FrAhJ|QIR!Lbjb0`7PN+q1bgleEJ<(uIrDw;j6rWF8Jml8>Kl{W!`9b zUrLnRHXrH)WoU_CH}Ulbj8aqx+^DTyZIoNDHcIx5)*t>;YvVg3nSZVXPofp#1kEWH z*YBUJbg0wcZ8r%_i~m^=CBc>SjD8OL_5Fzx$`;X@pkaE&f})^ zb^AgfA&8DXScPOok~l9_4Iw+f|N6%cR5Ye7m3zz%m0*F}xhE(NEfvWIZ z14_nrZo7C9h#$2#mIOfGCev0taCCPS?Z!ctEiJ|u0NjGx$`%gLt#$2 zDIjcJfcoz+Dva$g0O*IQMeN;Ej226bxZ&;|v&H7)u-8u#ECA4HKmfTQVOfSW@B^Di zWSL6C=M6=I3fne#1`(MRcU&TFmFeQFA%wExmQZR3Jq_Yi!(zovC6Z;eIAT0Q6-JmG z)vyk*uzJ12Vby-vlJ1++T6VwBGX|*CNba5C&7ndMcI*vOlrOE}-Jc3cGV;L=-2wf0 zF+bwAdnwVK9*)>Gfsz}b5ZeH4e{^txy_P^18>tE2nP;V6*cXH~m@}~tL z`l_7-w}s-N%!fj<*8XNWbPK96m(#zqchVV9v^HmTK}_X;?sUy6Z}HBML^(2>oMUFU zdnahQtol&z6lGa8aKUSCZtVWCLF*9p2;QGtQ~cWagE7uANA%FRhvC}SXShFguDtyI z6vWJGbAM`@AxaOoBWwR0@g?4xg7-;E&T*b>;xZ?4a?~CxwP4~Jx>L4}A-&)-=*-~r zeM|rPf0=Lf|8rDP5RC6pfpRSH2%1_}$aujK$WVT#o>F3fDyF9YAiX*1!Nrv zv=Nx2rf#4MVQT;jGb=?qmWA`43FO2y|vGJu9#%Qa`Zp$wka82mTTr2!HE literal 0 HcmV?d00001 diff --git a/Data/Tilesets.rvdata2 b/Data/Tilesets.rvdata2 new file mode 100755 index 0000000000000000000000000000000000000000..b62ca43e9001bf1c8a6bdba70d20f75cde8605dc GIT binary patch literal 66326 zcmeI5&2HO95XTwAU}V{*9JCKm_>gnckBfLw+NOn1DGCEU_+YrO8VGPKz#l;0La$to zhQlS-Hc~{QYwJ?yo=pm`*Pjck{>j)A4jPTih3DX3^L2i4KK^|%zq<{m;it=_@9Xk*z6hq@%$|7oH4S>aiZ0Gi|6V@a-ClqE5XPfR z)BJ&(L0NUer~FbTTc0pJp8b1w^X2h*I=;O5=Wc%R?d(mE{QE8lsFvfiU=mUZ){0E?nQD009sf6ajiBz&{WGfngHJJ$nvn-;?Ve=3U2CgTR`=WaPPwCw@yb z>2;Y+`dvJG&&d1T_3i(jy)%gX7Vxhj(0Bil=OENOAux;DE3y;JvOS?a-K42Zzwgfs zHLFj(yZW{t`rQQD^w3@Sr~B&kQux1~VV5<)|J`>7{_p1FTk4y?Z~ymgf8Y80<^%m8 z00JNY0w4eaAOHd&00P}1Am5o))dvxmQN-mi;v(b2q<@^0lcbP@Mn_3IOxjWM?W~Ne zs-eG%4EKYNUq0PgiLe9&wokylx`K4~KS+1~QM&sdX8St!f4o1se5mX1U)x`Cm=OfJ zL%_9mN!IoC3;Xf;i+ps`&!^p4iLe9&woia^6)c~UTm|c-0n0czj>E;<_-&Gf;M0Fk z^M}Rqfl>^_M~g5XQ?7!^=jW%##qB)HR$w~Pdnm*zn zx~aBx)yw&8(em7jVJ3_`H1bI@qA>rSwG2TCaO()us0qT4gv`Q@6qUfa~X`c|NT$P zGxj_h+PnX#<5g?!7x=pgfWMP~?_4CGCw@!ylNKb~AkbzsUzsl7*HE*&I@eBmbRbsId*_f&d7B00@8p2!H?xfB*>eivXg55Dlb>2I{;2^lP=kS`cWLK;PFd z?8p0;=KZVP)dX!I&@TemKe2ym_RqfiPrp_xtObE~3B;$xLRk2&&pO(pC2o!2>OQ0-q0Y6)mCoZs`JM10v zwQ@TVLS0+*+w*SR9_*dRg@XVR7qt5|&<5JvVdHwKI&`$=n)DXBHNbv10XIFp)IGae z+GdbanXVe|Romb9#2p(yH?5OD;cP7d-~Oq!Z`bFqBEMzV*EjU};s0(A@az4n$UQrx zz6rqp-Gt%)Za#gN_TB$|Cl>JS|GxP{KL~&T2!H?xfB*=900@9UcL?-7@C5cF@JbVS z)t!|HOF&@z1h9W%|J3ZCefOX3uQ<#I0^K3d_w@_=@&2WG|LV?4ge4%beFApkf+I>? zaPr&p{g?UjK8#0~@zElT$5+wC`6TVV{`i3e`Ho`d0y8j8U0^!W+y#-SN|P64?N?_n z;Qxe_a~Hf{M@Q2yBJ8&ON`j(?Q!cw=xLh0AkRY>i4M97b4*8P1>d09 zdspEz%m~)SSIw_QUn6Xri~BF~X}(8{b2=onEWBpdSQ4 zU;qRV!U+N(FjxZi6M%VspuNwQ2BDo@z}_KWE4Rnjwe9)T?ZMu8TsR0Id%^a|6pRFc{Ugx#^$Yv){-t^U+P@WzD*}P$ b1h9W%|J3ZCefOW{D+MD#VE+hY*$e&$wWk3+ literal 0 HcmV?d00001 diff --git a/Data/Troops.rvdata2 b/Data/Troops.rvdata2 new file mode 100755 index 0000000000000000000000000000000000000000..511e9e695f5472f6b03fd855750f31aeb1f30900 GIT binary patch literal 4959 zcmcK7O=}xR7zc366j|?Yev#iT%Q*!Kr9A|8C@66)*KJJP$kb35%y>1Crq=E(yDKNo zDTh)Dg&qopQhMmQy@W!^q1Rq|>PP6IU!?zM6w{#D)ol(&^0TXXe)`Ys&g!k)`JH!^ zQ+<4L=s2gLQbFD+cRb-;iZD7~P)_szBaU;d>v?CPb0g+{)l3BLfWo^9dp>l^hr?~zFAUCa@f1g}Aa+N<+p)V}b z&|K3D#2AFUA*+$hEWgxc4ekZ9FT%U;*~${llfjuEK`SJS&GJ_yE|9qRn8(7N7p;@M z5dg(xu37$#xJAu9lTl!gi`FSi^%n?AhWDCaC4w~`@^BzpJ)d9E?ab1p1VM6~J{)C( zr`M}lensjssjEF#g#m7Z_98|5lt^DeQ8CPta23MUJ`$tR%@Y|7?FEYd$$@?WMb*IR zK+Wu=#9) z=E+fJeue?hVN*}mI!m+sg2XFY{F(ADrNzx2%~Qhs6^5oE9uuuewEDhsuXr3v*W%_0 zfaaM$N_2FqdcExr@p~lXwl?t9*@iVT6pp1QU0Z^+)JdZKc-@#Jy&tcWt9m9v@l=hT z*t>n8eaZ^@9=Hty_YJL}4Z>A=e8>mV;tqlCvzE^$De{j7p|CY`o2lXagcP=naK5B) zw)D&$;^9=?j4WPUXg@2RZDJH2a!*>jw6!dXsv8$)z1K}y(mSA_bpiP3R7PLObld>&Fdp2W_7?la*Q1xvo_WlFq%Jg9X literal 0 HcmV?d00001 diff --git a/Data/Weapons.rvdata2 b/Data/Weapons.rvdata2 new file mode 100755 index 0000000000000000000000000000000000000000..727f72506f7d4183cdf8cb377535911557bce224 GIT binary patch literal 12354 zcmc&)TXPf16*g2#7~kX@%MuoE;{^<{<+Tk2kl3tcgN+MZMX(cUmj}`swWKbOrnNmI zUy_&ngxs^6U$Q?cPpQ1*Enj!fwB{mVdyQ?p<-)^geZF(~`a9?J&-&l3EQsRho7d~b z;#)>r!W%7)EmxWENZty#@HVDrwwly+3Ed}cpH)dsNYbEkm-zwr>SRxd>U^%4d%j&9 zSoUa>ZA=fnpk9@f_j9F7+r`mk?g;Na_o{54U-(mTaJeP9!#FRFFH?^Q|{B_M#thqSQB9%56;Fc_!Kwmlb?oh2Q8tBTZUm+JTN} zR%kGQ_2wVoAG5zQ=JXIRt7yo;qG{}caL!nPf!~9Zd1b#4ZZo$r6Y5WB6 zN)sWjFFLqNz*xG%EsB}#hGdL5h=9YqfK*(7@QLt9(BQs;Wnm1jP+8?pBMIWi!8C~e z(*g0QH;CCy9yBCZSsX?|)L_5*d!0L^$vq~iYk`bLucrgjx|+sv8CWj;#DG}$zwB-K z=c|%8eR$g!bO&jKv{9K7cl&7cO4{1*i)m{IPRH}_d)q(tg3;Xr?RQNdl><`e)C+v; z?6GxT#{=Y4+Wv)h+WtYS3CPQHfRKsV3$`H1u>X6bbs+${uPaK!-Azre>2Y$diLfYzw`yO|Pj^+Jids32U~*9+T!+Rd_8!j(^KqjRV>C zv+1ZQG68DrY(Rb88`MNOBnMw{p+zyUrGAV;@|TeC#^Z!H4%-hqOm9HEEj&yy-hHSy z%V!XI`s;rXGDgfmF&RF)RVJ>0YSoq*GNa~+mNnMa;n!3K+^1gLT*GAvgC}6{VREde z!I_ihzJ)NA@ven%yX@)HRMmlKxPUR}~%!0{WjD%5cT zg>12muTxfOyLFO{gr=edoU5k{ zTUxi=qh7lm(K9o@vOXVER6ZkT6wQbDpEkXYEvSXOg4bli$iPFbZO9`L>+8p}Guv`nFW!6}6_VD>x{RnxWZPpMv66p-AIXYp zsS^&&c5a^?&oI?dhKU$fyfy5;Ntr;qmPQ zSyL0AY%*s1v>V5>784YH&4fH{?d=y7DxLT)!vqOkhYmXEDwzpHxlgD0_*=J1 zo`P9NI<6n5^uyYo4ph4u9AbE!&4d7 z;MFSgQpq*8)xdO)`w%aw1k3Wx^ywfmM|Zp{x1o7lh6HH}5A(PfFZpd}2ebsra(RtK zXXYMfF6h9P&E#eqQ(Ed%l4XI5S$g{7sNlNw8NCN77yj5gPB+8ysc1kN1!_ca!kD2_~!X@9RNgLF6LDUKe zYoW=p)ZFoKs90JWc&UDjYV;r76yz^}3`+Wg+^aSV9~j9Wk$}}}*zWb*Q&?K=&lK-a zM9YgfQfa*o-K=X80zhayE?L+ z1$GVHgz9BPtwyj=qtF;O3r06F4k7Eb9b06oT|@eZT&9Ou|k!ZA+vFfMCS<|-xAv_&!Y zTWtH-esWZyt0Jqezx=qK_`s4j;>hdW?{ip3L}Qvf&xhxNbp(!lC(^Bs+pZXch1nJ5aKzlIt>bC|Sy6Xys@P?@imyVI z=`=u5)~JrvD@KAel<$PuA{nb2%x%Hj>dJ*f&2>AS8x{hjin_j(!O*4tADs}zAW-N9l9kpL z#e*&Gs&O%GwlJgNxCNtfLtCotj-~b<7BklR{F;!c(zkdP4}j5GiL`ipLgOc3d`PzG z5ZL}!A{nAI>Db@%X4o5%G+NIB6GlHdq0vgcj2WM&js6mc7RBPgP_LdmAdy_;kGiUd zibR`+TVjFe^fqI-prn?S*<8tTNAZM~tJ{Q=#^GtpG2}Cep)vti9x4n?W;jGvUVq)- zuJA<*R0H9)6$q~b;fl$2l`o|HdnSWK)?~?~bV3+vDss*6OB%*Z8H2m;+L+$M(ZY?| zt6JOJIlw9fhfgfaadHRbm2h?$5Qm7ruVcZE{1+by>2MWTGf zM^j}|Z+oUq!bQDi+uvch6eT+vXmC?Miz6{)lfd%TSz*cETeVoOX@w6IDy$FA*h8PziKjpB1|G2%9}S zEV{xQwkzCSrESAf(qk#??0q$+fG)y*EI#SazhmtYfF?B24oQco1Up0$q6BaUW7{&b814mJ z2_)V$lbg#OneWJs&Q~27bk_N?yUeZ%{=ziPB>WQj;V6ph#F?yCY!>4XLx7O`eoo!) zB&f6RexK)kp7;IZMf=`cRi{p!I(6z))u~gJ@_V-nc0mvv_?f04?8Te@dHD0ce{>=_ zZOZFu!plkTOxXGaCyM&y2cM1l$5&ex#D2dxHfh0Dgnw}?Wx-$Z{{7nX3x2`VwFT#R zymLVd-Ys2O3x3AKnwNcPxea8txJO%MD_7>J6l9=_gI00XcL$H*Y^5b9h#lK(rP!LwrSGG-f=}xOG zp74M8SoX(nv`L#F?EY`i&5|G3D5H#*cj7?={SrT-d&IwNL0C1be)awG{ep1AG$gd) zmxJH0@Eh^ZgQ90yU_w_e5_<3>oQLrn@y`Pcv+CE?e;;wYuBbDZF9;uv0KzBW@c;k+ z@Ba%NSgM~@&pJE214NAB9q{?b3vog~@b`v1f}bSZ%n;i=f?n>b2nhO8=MwgiQxMbx zPJa&|bg$@RnLI)aw#jP%rgq!3@?K+U?-JeX^cm&-JfDcrfX~bjfJ<%Yx5=YNU>s** zBzX4w6vFP%%bn7mdx{3tOUsq9JmD!TA@2}~sM8iL7_<;Nh`9f(4Ij1sp*~G#ouVM@ z6nZ>D-XApYfPeOWk6;A*FPNr}-DAMlVj68tj7@%%i_MRBVsZmGB=3YSiC%dXDrpt!QD^ExRm|LVLV;?zPaNl+YlZIM#7 zkczMZ1!^JTwgNNNLPBZ$jYfSek}M+j7~_n^)ply!QB1+#;l8HNddfq;+g zj=`i_Fvc=A471~21eUOEQJ7d!`6zp+sCfufu!mx3VnyYD2ABzPoSfi11boaJgNYUO z(ti!Z?D!1=OW0HkrXzUvO0=d{FYE{&AFBG#g@1R+muA~c4EH2^E<$@hQN|7IymI%?|}TPCD=d+ zNTQPPgjr?G=@j3_dlD_O%Ti#-*EvMT4N;T*gG%}Y3# z|7BqGzl4XGF#|Lk7FR4dgZe{-1^3i9;H-*Ta6#%5K7TWTZ2Sh?RpnC0h?eWW8qS{; z2f~6R@jk;K`YPCti(tk9XGd@~nj8ET^o-@`%i0bQk9l^$EzK&q?&{qq-e4x$PL8XGNeq;#ntU2Hh8qfOA zkCGc>kHa9H^FTK!e}!MLVP>4MhL=S;NqviJCN2&q&;TzrXLW-xK-F83E=1}(=!xE<2MGpzBQyZnNN5Vpj7@m!J%McN>qKX6 zkM>GBKmxZ7rA-}~=0KXhV+NkNoFZ+<9Eu6fq?lk1o?6h!V+c!bkW!z{-G8EA3mye= zdXNz0a*$|rCL#jqx@@z9B8@$Hc;9CD2 zw1t_Gg&@0x`Lx=W?eot@oPP!$EJRTUoPqcuo;6dQW4vlXKnrd|lLQ=QhKt%S%4?m+ zg2&r9Jb{3|C?VSsXJ%vqTnny3iuIk#zY7nd;n$VM#J~t1L>~d3Cy@sP=UNGdLD6W6 zr+74P_YdQ!>rp)F`V8VD|I`uO4)p1e1%rP9j|ZiyZ#{`<$A)VHE`yIZ75>xvQLPw# z&m%K*Ukf3Obs64O+08ToAw5aMpZXRb1eM1iSiCN8o}x&4ZYKRpA8~@c(ct5rw&MUu zGlKN=`33Yh!)OBpgc$;>?;vQ%nqQdBMH>h~oh9{Az;DvWP_Mi;4805-%%P~9N9E0~v8#(}|NX-DwoBc_QijNW3=wqq|MmRPj$ zMD)z7X|p(ISb#(F5#=4NFk(uMwCRxIrl|)c3We5L1qFA%0ftC>45G3rbO^F|FmK+MkVJAh%ppn`mar%l?Lda9G7Y!9#nApVUBXmWeT$Fc^39eq zH>`2u2&hK$`VZ_U0i`JuK>aU|3`MHdxA;^bmem>_*!J(t`odLNv;0qv4EwK2jSeV= zK}vkMCNzmdO;_mU{g{2;fl@I0-0u>iQ|s9LQ`&=hIw@uLku@OIhIJG3IH>G8UG#YB zf`^p8T(5YdzbuxrRIJh!XLTeAY4WHA3rb6+J!#UOIBCzt+z$DRl`Dd64e{zhvo^fh zp4a9Xn#~_Qs^632)EDJAf+yvN^4eNUa>V8~Wo*+W(#rK|YT*khMS>v5cdM98RqGek zOOE=RE_|qdYL}h4Ct4EK4ja}ZN}ql()G69S^m5^KSpBm-)Ey@$oc}ElCtGk|5F83v z8OGBwTqiYO(2vXFf(3QzJVEKFnt=K`Et%>;mHlc(te)i}7AL3|W+_EQ$N1 zg*BzCiuu658m)Gquhgl^iB)V>Duq{w+GK5oQ(NJvGL=kIahZyfZ34mS0hdPe#zFLc z22i13iu@a_1O7Sh45&AiE>=$nEv8kd4-5za53*xH2@Ix!MPd?iV#S7<918Ch!Hn?E z&WS}rRUjRWuO#lps#Az0xZ4{N_4Zwq5^(rfUOJH0>^gu(2GHbyqe`1gX>7t(3Gsmm z%T|Q*PQFHXBk?;4UUSB&p=@=(qv>MHUp>O6F9L%r0FeoZYJGpGKVEkPpHD__y`+9V zCG>fM?nuNWPZr(nGO4LJ?IvVj&~$MlGHg1wGOuk#n0*aiHWrqkn?U5)KG0y!rLx#` zBFCyc#6#rubNAF=(=_Nu*&8P4$8rybF2<`NR|T7!DF{uAokAnBM3U9^>?$*(xy>UC z36WP+`_mi7s%|KXY2383#Kg`k@|wFt^-~IYftgLKoaPn`;2~6$ zBl=H}UQ-*k^0uJ3Sl)6`y_gQH4P&BtIFYY@8{E zywAJerc6)nk|%|jYhF>DG9Hnm=G|{sTx!UHc1Z40PU>b}TX_4#wiBILzJxFAhs+3a zW^0_f-v%_Ft05aQeSBd*WI>Q$sMC=^_>UpBo$&tw_}@}Pagi3TajM^DprRThKPm(% zGc#yj*VI9=P3EdE1YrZ(QvPIRw6bi@WHgx~vZgF*y6tEicF#DB9yIwhk3;uG0sX=O zAmrGPKf~V>#&pA4Mk5?gMIDcV61szs?HXSGc9efKATl5EFN}{LU=$dVjGjn}o&W@K zD68G!R>bh}YW$4CT@=2X!ZBS3UZ4stL7AcPDx%&$AA<@|vkzc_in>#>EFz(a62j~j zEQ~E(Kodv;3 z+=*#j6?=ex`}i|In_^C&jjPz}c=~@h4b|xfRqBD9T_o)*!W9Mv)7*m-+b$fRc2GYs zUFd=B;9z~S9;$g#7c@ss_(n4A28Bp>Y*5#a4-e~g7=Fsi-23JDx&l%88V@;+M1#Ys zh0D<3HYJ`Noq*;>6~~W{b}n{&fFuzzw9GHO52}u0yw2;>lmWy06nfTEZ5|;oxKe8v z*js)tCXxkM3}C#>-#H(zCTvQe|9PQru6r#7I-{^{p zwDPWq9b+6?rjn&!hbDpii-9b*j5-6mh@QzKTx=na_}N5AQtbeng=WJvL<~%1?_LHZ z)&Xs>uDwL!`H#~DVV4h;V<&Q=P$K&^L9w!Hq7g~#DT=6MKB_8)kwhQc%0b$v3PN-3 z0Xae1Q+_aF4T+baiX)5Aj#A3avlW3BOaBcSh4 zj_be#D=bIrBD7xdX}v%1QZ9y9iC#eygGISZKcW74i?+1aeOMlyd$_{K){zD}AOc=r z+Kb7U*Y0)Y?$^BiG%xDc%X`oN25FI57yhJn0C5kWF6rex6y1YasJ_%?KbU(Q%b5zc znd5R2E{mLi(?5fxZ3RtKp{eSm8KDku7eq*iOe6kcQd9_0gAy&AL@&%f!%^<34|EAb zOzmQ;fFdg9XEXEKDq&dGyuF~a@|k7&!MTEvE%=^&=HA>B@|22a^V+0eQfe*JmY&th zd$_R^QA?4h|Go>{&gYQR*m4j|0}6_apda0LD9oNl)UFq}#GRt#r%7E+ z&x}>{oV1*tbC=Px@E$ztwq-Q(SE|fklYIOYzlgu4m+{w)C3rpaMEpj)bg!^$4Szd! zt;O5$in}&ZIM@jh?ug$@y&3=Qq{Llo5bB6ug=dmOXzPey%~PXBTi9fgWv2s^B`x?d zKFy5ZQSaFepn#24La1tJD0vBy{!Bi&zJO1)kN^a9PaFFl!T1TcnejZ*pcS6M>rjm8 zuAOB`MM7oX8Jd6-_iMr5eyz4AVk>RDEnB|SnlS%Az}ARMEg!IHwa!QiVv-;j2*>3eDk^PFsGb*=nm<95QL*K1!6OKm zcQ?;MSlZX7_E$g+y>cc0hkk%D_H2v7HG_~`KVa4;$f$#GKfDSXi!uyas7 z7^it5>jP@%Kngm{K=+T3hEkLbC?PvqLPSy7J@RsurODnh`6i-ooXQfUU>Xo#@H&My zu)j2^!5LXpP}{4_Z+c+Be4DgMFBKfQl_IZ8Y8Z$`TpPsAGjAh3{6u|+aopqjF3g!DPXViXF~+o)>&W%t}qm?zHUBZMn>tSS?&%w*~fkkJyoM^&eAqJ^)QOXkn8l9krJ#S z%;jB}g40|RrPErmLz%?-P&=!1P6*qKFzSuD)x5-WK|jZcvrK%D7NIV6x#6qocbc^4xuuz$l$6Yfa=9# zT7nG&#B0GB7~PEEY&;<>T5u*lv|uMajgRTM<1{^=eUF~69H-}7NAaxNwxgfF4BB6* z+xF~1{t6!8uNT|+>!07m>zOBlwAY|}9Y(pMgO@~VPYW`{YDO=m-7%mUUHItWM2#a2 z$cY830N6F8@n8czZK*kf6Amp#iVialXYdU4TpU|S(`!FrxJu9QEx-HNDcDb=l48y! zrm=s=@|&jl_FA(O*+t4;+x>6oS+NOP-XXW+otH4ZlgAXP7jLZp$|(CU809vk1yYw` zYUX(7cSx%Z$CseB0%Jf@)HawU*!Ac|peT#jqIov6Qm=JZ>FdP2 zxnx+W))U&jCe$U@TE=58wSQ1f)fYSL@8&u4+2(Vge6dq66|L|ODeM*dJdQdkI2KKa ziHWh4X_W)|eHdDpR(@8!JSeX;?hp*eefpxU=|;&`mxlR<0D7@FOV>YO&qJS}P+PEV zlV{69-P^C9MyblN#s=&d=jaJnlW-ZkAw)tICt)6oP}tjR)iMmisn(H0;BQmG_t*WP zQ@LI(d>*p^LC*Hmo1Mr0C@h2!1PLa~fDMLcil?blxsw%x7z_&q%bfCPzr~SL`axD| zMZ=&+O6eOU`M*KZGEP#DUM8Y;ALa_e>yRm0Z$-%MHO2Ey-`!+?vR?(@wJQ0F52Afcp5EaoQ}+H_c#PqG}}G# z$=XJ--IF7I0oZ(A@k3=uI6a7E`WLFAmBT zt@f8}@?9^9N(y!q_HxZ2&)1bsy`3yIpG^sUmSCS_8K#gCOWam_OR2;EJdA)wDcmD| znr;yy-b8l!Yv87>iq|%e-?5-Cq%deX^n!ZUbZN zN^!u!#$%4kO)41l(RFEP1yhr%d@SQe;&5!7#Znbk39JBbMdc#N$QciI)P$>0;khN4 zCc|jMWlI^$GO4H@Yv0Jn4q_u#OQ>N#L2NkS^1npX+>Sur8LhSp)9`;JL|6|8>{yL= zx(mtN+EA@u2z?gE?W*?nf=szY7y3Lf97{g-9CmhUNYL!2w@WqCH_hN+x+B4|HNFWt zc#JtGfn9-2)L7=(tb~P;=VJANF#x@|i(LkFuz#>yn^Ci91sUK|o)Sh>y@nW3f z`L&2HEEhnZSL?Us_M@B4toBv0*RV>jfd>)%RM66x+DORP-1exXc3#m+osmR!u`?U< zu9e8B);Z9*R_I|&ka#&XEerN3NmY!-u$svCs@Nt-EeSR4Ohl$!D0K=R6q^p?ISTTz z>9+yy!s(icZM1fS*ag!42Z^0M{gyt2(dlDUri3a3?MUX1PB*t-ONNRC@**GWzN2kDu1tFsi=(du{((}V)|q-Ju<$aK~&QFLUGg{ z--{+G_9Pez8U`5DrBE7a&V#&lMjK*x6*GAu7?|aSNTNV6rlkGozaQIn82(GOn6yxEl7Opxq3sP%AC6i+|%bC0JF{aA<$EI5<5wL z#`&y7^L_I;5=6a`)}@i__W5Yd6tjRUDOF5|UkG)EOuq+77&0~j8)bn8GLLI8xp+nD z0|NWeFtz_@MUz+3cNOg#DtgU-SG1XN5G3t)2oTa}tum;}dJp>bM00MJ1JkGnh&Y&1 zV*p19pnXMnh$Cack+THpCP*0SQ;ApRPGTW(EDcpZj!bGQ#hBf5u_%CWxjuk!UFbE< zZ*UG-}cNdq5HsA?POTGBR58knX|UP%B+SQnGUy zvf|rZzlIrZ$Yv}@26C`}Kn=nm53~aPZY*oi`JL>a_y=`5>sG?{|OE9$2o@= z`)P6qO|coOL+?T7?~~_&&zya88L^bsQ(!4cQ2;C1KhS6ZJL|{9&czOlOA)Bw50Skl zuMZ`iM*K=@95R7#K|#D6G2mje;3ic=DOmmI6XzSS+T;pcYVJop^wJy@0t4(eLZ+9_ zv_eD~LUXLpS}Qc)3jLiG@>rpJtWb#+Dz!poRw&;JEia^|q(ZKv2(aru;u4t|_04|h zvI(d{C#nFhOHC%Vn2e5oiN?zq&#SFgx`r|$4vmYvYmj$ZHQO=|jpHt)=91H!%*H;v zo$BpyCaY$8{)mQyr60`vCE;bS|J5|92k_?m3d1^7Hol$gKdo=H;I{>IcNgGv45L!> z3Xq`BC290O11YRF-}i5)_pVN~9|FxhKs^b8O*}v?Yrd}*5(M&6huTFQNFJ*e5}+Wb zs)Ymu3lUh6vy=MdE=t)+{iq|JG9Jl?P;w#Rd9ALzE86Fz=A)>h)q#Daz@+9k5W)To zDKO_!b~Xm;(*od>GCL1bsk|h19@V${^)4=ne?b^~+PpA!9cCS9+6Vk^&qK$v5Eha? zHjnR$Dax{#bUzOtk*IXfxmvoDtt`Mak)-=`3SK4MWaUj{{|oVXZ5Rysw4aFB6bm#x0-32*^p8D=)iBIG+^un6QatU+3+?f# z2}R&}2165}fNTBvz~jFhN1~QDgh9${^U*&x&B9T|wk^QE256kWJ|BG+0ri~Q-X5^O z<`CgkJO@Z}55nsIuRxA6LBy!MKBA(Ebz=ER*0#93KL2dMRaUbM4mE<*H!T>L4=}tp zgHZs&^8f1k{LBLKyRvP9Uj(LV_Wj#AOyuT3Z*;A5+Wm=~qh2=UDe&3z_WO)ER|p?A z7!RY+8lQPfrJ2!%%5%#dc>gQZg?KM#An-H=z!vy7bG|EM{ls#1Jv18MOlDKKZi}`t zOd!#H%Fm!GtX)dl0UcoPBTUi+W8C93CDcF3{gYAbQ2QPA8>(3YiqZQKu5tITE8EK# zwEgSi^bUK6yQ5z6naTiLPIfk;WvsE#g;)=dEse&?H-#?8p>j{LuSh@aq8(UT5B&up zEdd+MRqQlRpj}vu;59UrhVl47Gx$g)i7$^H8N5#CDhSBiQ<>1Ffn z2c6KN|o<|b$PF5QwVrH;!{Y1UNiP^mSVttanOtgRKzFeQYKy91he!re^)?bCr z!WS6yH-fd6jcq5yMDVF+#bLu*KMZR_Ry0`HFq9CGpKmdejn*<8Eky%k8Hw4OmEz+m zbZ*0~dvZc-%7x=17V}q9_ITQhe$v z6s#AnrsoO!MfV2{IS(Il>YJCVs|!RV@Z?F9yukh^5ad3!>CbxY0QMX=uP*#Cb{mzX zj?&fC>mw@)x5vUw6kc5TlUTT!!nYOvG!_n0cvhhi3qMZb$%RkE!doevR`|atoCy51 zJ!P(69T3e^*cMogMKCH^VV;7)vPLUig{AF%D_2A<&XA8?BG|plNe>r2((#C{kddmV z60@rcd=6M4zk0aOX;(zG&FOBhKZ~l{%f%J$(7Jd^2A^xg=3K(TzT#T}foy*p3ByUO zQE05g>i9H$Zr~|g$Yx3IEhE7PvX|NT(B}yVjgKIy5nG_3WOa+%g zTLK2Vaq4AJPDbTmJ-F;pChB)Xir&)}u0p)x(eGZZl^^d|xOyAVP|Pe#ny}Zer*eVH zAnCCmE-3%FVZ2`cF$q@na;;<(?0p|c&afRQM@xuJBQv5{rkER6SDH&ZYa-*pS@^k- zjR>wO0{aa6DK%l9b~Rz6bZ?BR1lUovg{$-0m<$G4J&q(I3w#(Bfn77M4$kC3Sdu!a zalgh|$I|;`b~7`2+Ayz!iQ;?F&33Rb?@-}52&eR9NDqew3b|pvmq!(t#|8%^Z zQ8<-eX@%F&E3r`UJWc*9#e9xdi@j3IaQIhfwVPcKSUX)&K!}&80pE=03($dH&fF@$66dtW# z^L38O5fkPofw@YbOD-oU5ZE(G`kzNT&o7j13#(X80q_`df{kbYBH&n9&Elat$uy}I z&O|^ zr2Tv&tPQW3oFaA$3R0&Nae{gsX7IlQ2hcI0J8Pg!(Cw*w=HgKFDS-G$mo?wTR!e1G zTa}im{}sNn9X85W;1%U0(gj}8p^ZW3X}s+k#RczH@4&xbBR$zxim1qZGZF3~VrxQ6 z94uqb*2&VVVP7e;V`@i@KE_NWS2L*ga%XFT>2KocYd$02OlJ|4UpHRPmg5^Q zCn>)GCP(`MlRJf=W>RxE$e^~99rKfvgwn|Q#gV`8gyTqnWeiht^aW0!%e29_2%Ft; zrA3XmEtfA6wb%BAY?uzxkq4(yYHQ5D2E$EHBsH%Mb|&utDuFtj=*HgB=sS4famyE= zLU10YxjP+()o#wqV+ZJS?2#Tv1&xDJtErIhaDw zS*LyZ=x0@xEtBSR%Q7tqc9PI*bLXRR-C;Qqb<59G;B_^iFU2lUzpt{=Xy|3hnE7Fx zfm9Wu)Z5qH33ncBg{)hk_lG`@GaM53ac+T=E7T1p!S3_&_0jD1!RjhPa0mti3qjc~ zI^U+v&A}7KHZu7~r>QWC?eu^!9Am}a`dmi{vw^%b*xwE-v&{F&QYSk*;t7I8Ei%or zV5t2YmE=I&vR#w_mtl?pE304=fXKLKW##jO!->frL62JiNQOy#2W`l~)yKxuFp z$nB^+(eLq9SHdl**L)wFgy72ed~B9w`WZlIYGoxhJ~27(1r#k}X=7r5MK}az1+@b( z7Yu;4dN{HiyDhQ<6?ojt=%=V2ICeMJgNN`_NcMo$m+8@$+wSq9EY^XAFgiZScEV=Y ziyYlv0HeIBYL<+Sj~0j~&^AQO6@fY!1_#KdpL{l8*b-5lU1Ssmd2ysdJ-cXgBC1H$ zvo5}qt3J@rJ5FWw+lxQ*yn(eidXnx^R3KIRQmhRgoCrv<)!o%0QmdZ)T+9 zJFmyG_s}~Ngy!{N;tDty!FhZ0yghk6@QX;?cQ-IcQiA6d_=Ce~Kcz?GJG~d)*XB|I zD^{Ww>hu;+hkawqoozPcx6kWptg42eXKiOoEjIp+lXX_BeNRr(YENUk))h(a@SY|~ zXsI;~Z>NuazA)Oixa$Y2`4iW9=qh`KMnMQ3R7PD037$k~WsLW-qp{p<)I(~gJvaP1 zu(Z96N29#3OrBLHU(5DkHKS#!X(ro=FL?2Dq}ptD1AZo_g>J>~2K*-B=TezR*;&xg&lO2eWHLO1?8p+yz(*W?;0!nS z6#|ah9^LDD9f*Z#`(J~T47N+(CgI=WmS;l}XQHj96bi^CH9v{0g#s{1K@S9`!+Vw^ z`yM`!Pl#NL4_?lsLZV!j3WWr`R=M{}LCMNMyhM4}!fwP@utOfJr)Hs-UN|wWJhS=G zMjRX9yYer2WcUpA0>;r)j_TUrjMC%yHFq7dCpGlGlpRYKBk3p>#R-vLz2uVNt3$b5 zOo6!)>ox52O<+sWOctZ_@zo(@0-_s}YFfnVh1rlMbhq9P-ser_tl>S5uGfPeLECsA zU`j%0et?bfy~xux?V$Uhk_*|f$g=%c3~Px6+Ypl*HvU zW;eE!Uuk^cN?A*}DFqu*R9~o3YW_VW100Hz9|^>%@0!&p=CNX~THrB(&9?C@^dC4? zm9HX$T#nR`h$gu-h;Cq`iv`SETHs~7)!LkcewonNFfc*E(F6AM5+t%$(Ynx65Y8|Z z+LsGDr!<==8rLB+R6D_qq4Mv^yv(^51 zDOiUnX`gp6&n%OguSK9t3NFE`!^_M;dhuS^JpoaHIL?f87=vN2OxZ7YK%;;=c0^3u zk0{8o)J(qO0lVR4#K>v$IU{+3f&>~&9>%7<6r|0(rUv%q8*d9r4b{B+W5i%;PIR8Y zCqSjGe+TggtPT~> zaR=6t4-ZXFfF3e50!`ScDJfDQ!?EcZsPQPExD7jFkv zHVU+a^ZGyseBb361xhEln#h~NYNcqCp|QA9y_NaqqPEsh&(BZr18UKN*?5xK1DV4s zzAF8zc5K)~&wQV~^`96kN=3bFjh3dD`L)FkJ z${F8w#6qCfrHsk1?UfVZyRNQUdj-a)&(ISf$_2|r<=P=GvIY+qXTVC$2MD6PN4Nk4m1J3c0*!PljbqA3J<}oK`hqGA9H*)>-Z{=EyT=0() z>!eqc%yO6M6{S6gq*qV$mBdYQz#b+)M3u>sUX}VvY=|M}<`m=sRGogl`!mujOU2gF z^G+%8NQ~SY`jl{;tV=m;;i}WW0-8GaT35Xj&(Rwa>g;RNBe&ptZ2fFJGdJ9Tm_ zY0uJr!x`6CG|45W0*5xqDkox>_8cZ0y3&tm$s%xJl)?eIj3`9m1CbT2<4}irr{up5 zQvv9OTKPboyNnZ1#tA6n1e9?C$~XaK76AkQ4FLl<6azfRl&N)C!X(j=%;0`>kdaLR z1367t;cnF#S4Igqy1-jB@;Mh3a#V6fJ&Z{GL9q`{x-qS#s*tJjH24aA0h#JyqX4Hj z^cJkVN^*8$sfb}Tzji=s{x!8ic|Vt&XYoyvlgkp{zglvh_+wOZ21qXZNiMnMM1DY? z_Lz0#viAVOXR=XYTmHAQ6kz&=wh&?>b5MFU)K`)}$srd}6{bk9CgdHmB36RLp#r1) zLGD&zUKm%*9E!NCwrZM7E`MK?LrPi^wsJ~o-^L(T>EJ`ib>(`X0h2slT(JrRjLH-wtp&SL{XZ2Lz-`C-bz z*C-6uI+RDHYdaSeI-VS5{1UN5QgDZ`pE5KcL|Z_-buBI7Xh# zv$0hG=$U!r^|elQa1eVX_vFk`FAZXW{@3-hj5+I#<^S%|Q{Z5$K86|PQ9qfq^kR{n z!#wOYeDeTJ4kNo)KS8S+^v_JJ!ozf~{X&rglOuujx*+GFJPcD}-a&RGL}#@8ndVxj zxz=T_O=q|9A7r&f5JV9c1^A2wpjX)_I@{OMTHjcOwK07hX8notW`O-5DKNhkw^5U=o@& z3{WrT1JTi)dYd}fDg9_Cs#jU97tWxmQ6ZTn$XRPG{Lta7MJsJ_!m%) zoI!&5kK|1SGnoW}x*r1qcJw&<%xv}t{#ps=!3ewo|DM3u?-3XC1tUKw?1mC!x)60is87$m{b3yM9juatXe zf-xH&in)y5Wz|Dd=*XKpp7Z@yF!Lm4aMUrW5_!%U9sGyK@B(I8XwfwN8AX%cY)*`2CA3m*WbCVN!89G71di24X zFtVp|I61+B(ZehgbtKKzNZe_E7l>*_@E*Fu$*y2TtLZ+9z5py}C}$-*0xeO~y$4az zN=w0?BEUD0xRA6WgaZFW1)|E8>G0N&|x`XLixkY+$ktGjSx^^uc{n&>77Y!(jOTO=74Fa zv@Wo128L)`&8%V{k%ttWtU8I#%F>TvhpM4dSu^Yi{PsJvJ|;qKhZ%lhn3! zn2sYuTRgB#qLb-GE}F4a>w~$EqFDw)UrPGB4;^yAZeVP)5yNp5Q%}1C(>_@1rQj(f zR2o?~>0@vpRj(R=T@GhZaTu^~zfF-tmmGJhmu_Eg58QsQewV|2m#8d&sZ(fFFJ-SA zuOB`YF!2M9JeP=Cr3kY06IYd5+pqowhZB3H;1j@;i*qxz{h`Z_!0ix>yH>bASs$l= zV#nSz&xP#n_Yw2H`y;p$Lv=jja6cj{?tPr*%h~J3=|@hTyYT*08T2l)JCvzJ)J>5I z#$BB}{$-0=O5*fBLYFY=kBIsm4q7sCjQSm-wpav{F$iP7rlA*SH{Bme&5bAoGg`xW zLaza|h#N#S6o18zezV(+_jDo{E5;r1AWlbGKw~ zNm6FydJg0QTSq|EI1qlFDt77%qnXp41nbWL2K$oPaCYo5u}Oa(={pypLz2T7O`P@A zW(br%*NJ}QCmT}eQ^{WDd_!o298|#I&(nF9DDEVm$b*=0Sc&QjE!3nIUc?TT6PFb&9-!Wf5&V4~g@JsyGn0RQRLqG+h`F9Y@}7IpSTyQvg;ACc zH>qP-;nU3SfYanX!W~br>mBM3#B|;}c5R{>VUw2PwL+>N-_GCJh%fAhP&dK`qPs_# zgKIz@ZcB%EE0r>&sz|56ct^A7jcPpQa#^`{@y^$mZs+j+14U4?SB(x@DFy(!BjE50 z+1%H}MK^KG20r-O1LbIQy=$l#s%_+dtBXZbyG`5dFyo0Zz0`$6KYIJHFB~L5FM?x> z{)h{EI1#(Otr#a9FY4ik+ITN+o=v?N^6%}xSM!LP$AKejcPhOBhklvwVT3-H?2kJA z)S^*hFy@Oi1E%$l@iSp9l)%yf_oWTR`r+JnL)}hzO%YtyT;v4t<0eniN>Ay5VazQy85{i3{nfV zH=iSUX)P^oJvbO@ZbMVGEG~v`{zeBEF?7ijsqK2U0 zh7+IJP8A%Xw_$DISF<8EWoO>lGM zN_M4Q+iPT9)@of)kd(jHrPYYqT@KPHcZqnqYec2Gbx|U;$QaThi4N7wUYFI_Fov|q zyCd|&c%x){iT-XRo2R*qyT744nmN&kj`edF-zpw3N^Ty|L~W660QzkyZRBbT2DFl! z`@83Zb(ojs<0Tp2BR%djnUt8$@6weXGF5VL-F! z87dH0@;blLA0<|5k8%Fqg{K%D*}&F>m~u{Vs2~Vz<;wXO%_|yDeM!o>fV1@&u@z~k zeCLS7M;%6#t&2yn)$7viT1n;rCgZ~!kLuaHwi%?1Scv3ZLXq@_K4+dyRXXPF0 z#q6r;h7|RfdFq^6-fu=yA$ICvm@iL#LBn(^*LxpgUQp@K-P4x#Pa916KuK1^=~}Jm zK3&h;r8i93>wAzRgFSx z$9{tPHKJ}tx9-)`j7M$SZSd8Y;GRU|EZB{?7N0CAiRyHUBDJcC#sbH%knio9fJyZ> zn9_!iy5krI>>FBe4q2pM$>-16cory@d9NGm6Ieg4W9#?xh30a+MjAo7U=_duk;b!q z0L9`MZjT)}Icm(Y&Wt8lmzmi+T9@U-ojHD4du0aDw>*0to{g8|$os{n%!Wq3aDp6G zu4Snx0Tj(Mlk(I4GShkD|+<$WAG;ty5?r1bd~(PTqv|6HTz5MK913 z`brWVjZ*V=1XwAi{kmrjuI4FAH-cH90B%q|J;9uls2SM^ni=_+El}oFfCn6pmBr>W zSXUwjHwPnKf0lELBYpgH*p}tacuRW^PT8ZRc( zetD1z(-Z6+>c)I5?OT0wT9)>{5Vx7QcBOWGImvA@pdm67M^29=q6#9j_B zB#--`wDmA$+z$isMtN@q zHbf0VRN*sUA-+U&d>jnvu zJyh@tF-QxNa7o*6u_Ue_rTPm}^E>EmLpW(ub{J{9w>R}F#K-NFkx<#BZSNvr1_{5( z@ph}gG#|dv^W&7M(w@A$Lv`vPSRE=ZRyi?o+ACB)tC^#KOH3ZeR^A9E*SR?-rJ$e6 z;Yj16bjsJ`+5(@()7i~e0lPUJR5Obj*cJ+SdD7z-VLIr(4(WPY>llm5mV2Z*dYV=u z<#(qc0T;(Z1R%dUj*FU*+{WE2D-cyq>bGIs!}=P zhpR+%s4r6fZ&j&O-@#L@wv_gaE-I>1QLV8muU1?j^}aeS)8kQjo#Ub}Tx#v{G;x_3 zr24(`Kd;~4p?BeKV$d>Nzk7Kc(J`Waw^RMFsc%(i6M-1tstEPdvWup<;7K6*GLJ2i}YohCz69L;Ol) zpB}fzjWpV2&*GJjVGmYw!jsMhXJwj7CI6L@W#2Q5ck z2Qka7j&0T6>d?H6lfi???I^>btQE9z^a=@pIXfmWaHrO$gUmN%sb^>Lsm+eu9__t72-ZYyiuMbx?>#V(atUnApTHNA zIqU_VKa2AJ4xef^_W*V3oRC~DL@V#ZkeT<+3ij!5=*AOR1fM_c5!lNBrxh>X%UEmW zWlK4_*j@&$@ZM9Idc-9TK;!!ZOj23d~4$w!b){(qq?0&hG^Z!u%;nIG@Ad0>U72(9@?Loz*Y?b z@SQitUb8B5+}fC#fAz+UgpHXrzA@A8W5Eon44euR`$`h9F>@1*)ECnciQT99A-?;R z5|uX83Lax!1+`uBcxIvuy}S!Iy!;to(e0z}*t@9&ZM=eSP)XL_4J}qhee0XNCe`pW z`}@M}gV;s)>sxmt4iPKhI(e_YmE0o`8i&vrANvC4XY*Cc#SY+V1)RFx`tnr(hlT-G zZ~*gF!pD9;9RDkPQpPqbV+k;O^sNUFx^WN>Fa!Yl)}#1-yAcogjj(zibvznc&5^Ys z#A@(~$&In^J%sec!sAy^iE#x_5mgEf*q2<74u31V8DKRv#%5oKSA?z*nzr;vQ| zJrR{l0SPz`kV-%WD+ln`P8PzSGZx+V7NT*Tomnm_9XKgSLB7kvm;YeoTsq22lRF&1 z)PF?PC2w7vebj$M+#3oIO+$gU;efGnh^)sfvXXRr6i|H(KFY~@u_G1^b2@;UDjZKJ zQP40sL7gy9~uM`vGp^tig_VX zI2>PtW4D8i)FwEDT|-+7dIxR^Zlk@KPU??kdte%WJ`B<5*~z^?O4s7Pw#{nMa1m+ao|=Y1kg2aQ&y!b zeB%q4QSkfV=mxe_*;&SK8{F%_6fL}WG=DnaG8f)EioWTnf!@P66LD;x{SpzT z-eazJ8o>c%L1{jeOn^Rq|LKw&NF`Px9>Y?OnWU6EjV#`E5P!a{e3F=`0Km7d& zb0u5AfpUmz+q_f^Ry}fBETG0u<*Rx}JaIPpu%vXilSC_T$FA+3Mx-8=Q@c(oo8Y#{Jn5Nxd|F1By*U z87CUQ$ZmnZVmq#fcfX5SVEMqxym#(nAMWDgAdHtELNzef@+5T& zWOJOp!5;B0S%L4!o;{f_cq)50uVS^uTUhcWvjp-KjiV1N4rj841C_0687QKr7 z5K6vgCjn^-{W^z6Hh_})iAgf;SVw*g2}S|GcoP{cb&o9<_@z{mBTCCh5dBFqmciH` zS0;DF(jU}Rh8ELh5w`H-M_;3 z2s8;mgK-#W9zHZ1x5gO1e~B7N>5AOYT53Z-n<2e=8_pA9FVNfB+V~_A#S-@J$M=YGC?bL8pSR{dj@#! ztICmS&pSc7Kbtzi zKm8u5<(($G48f*zfFCouTU1}^$5ewU=)Jgi#9i!=nyaZ9Xx+o!c!l}|w)3q6qOY}p zHuM<%^7$9lX|(k!vc1TNQ&QeeG+=Om(v^=*xGt4?!zHzL{-!O35w6q3$vNNrt|nbp$La?yi?ZYzO$Qv)JSQXl?2Diix9sY_b2Ap}WX6I?TiV;#R+>R>3 zmp}@V6O#YEBSi99u+qA5;s(?xdgH`FBw=Pj-6|ciK2}JRP)E*Qir+85$l6KtArX_`52A_KDjeYHXi_Ayx1;eeu|>TCIe_K(71M%PO7H_) zK$Xb-J2y;Zx&K10yhDFG;^lv);gVn#Ij?Yz4>r_TZA>jQu zM941*!!RMaLxlX1vN~EOM-JoWX7?%nc|vVS$3CDUwI;WSo&}&~GH8j69}0?hSO?J@KA!}R`Z!DefcnO-!2oHsXj$vMBq*nz7y@e)iq zF7l31WKt=)p|DXjIP`U8=xZSQWqCG~M;q{z3XN28tKCm&1a zg@+qzJabdlXhVfYHWapN$dm5arpfBXxXn)WqFqVfN!PPSX7HDm$^#SGMU*zu?%QOQ z4y8<9OfJ8N6!Byf1E=v?@?-i_?AqA30cj}-Yqh;_C}*TH=Ao1iFO?Fmh{!c3`xEp9 z?wTW~=<5d5b4fI$*)c}N)YEh@l^j)El|x&{K8&<_4<_HA0Dl+`M%Y=vWCX(uW<6M3 z$Fc0^=!3KOn|I6h#cv;gimt*T=wzmoer6A1QiX0P2F9|7@L6Ml#7WJT0kD%smH&q? zmQ@^v*P#XJBH0nw%f3R_A?coh0F0eb_;f5p6NwQQ;0Ev)(&$oLthzng zD|G9ubsz3`+&GJK=|BF3X~ynNjlJPqQ%z1X*aD!vgAi^mXm<~;7v25R<1awzHeIB# zrXClY&>iIPfv>K@1@7u+l6!E)N=00;vbOv6X}CGMgSwQGfj^>yKc#~^5$bO^|Du_* zV|CCYY}Y$pr&P7uQICtN?e>FaPHPCu2x_|pqqf_KLi`aRq_zyD0>^zI zqzpd~e);&##%~6G+4yDRrk z56lqB9&`mN41WZJr(*$y$tbO#%HE+BGwyOP?`>V0-h7X3k}{e9Q4#Dj_UPI{$dk0k zQ8dl#q6q+yl4~nY&%v+}T~DZB3?|5~GFdEB##9D+BVuLX>xjKF(1*XJNHe%ZEh_)88i2zcS`qJC}); zhq=8SJ2WB!kTyreY30aX^$G6CXYnM0Vv& zmT6JQuD}`*HFDD59^t%OsD5;VJg#r~IFQ2riIBt`tY{AhaaEXpks%$oyQro|GRSd8 zpYs+Sn4n90UI)2Y(CQ8z6VI=->XFo+A-b;=yj`wthC4<9C`=_pxM%@(Y#x_2%!?nx zzRr08FW!$Mc5s7M8f*rTs0|+r$~a?%6W4c9#R;iA5do@++U|)wj%!hH6DkTgNu4pw zGkk`dk!?7&oof*q8cYB;JLB#6b3t9WL&a1cUD%zAF2(PUevYgz*78xl-*EDZXtDdF z^-)dxd8PKR8~2Snq}4VL=01`C2z?%p+ixsccvt;&O6XJk@iE?D?IohaR?XTm86dVg zzH4vc^e@TQlfu$D^<0xwRFGc*mc($2!h^baC; z@)JY@*gB#k`m4bi!;h3=8SVi?^@Gz6Lr>BD*hMreX>jHCOuQtu zw4*7vi11nC`w4H5%Uvbi53?M!f@I6V8mlQ~9LtBT#Bw!eHyY6AICAyenUM!tC zPf)7VTmnWACDpK-&<@QiptdeSD|;H3&QIG9_hbMn*Rw@K=-EB^j5$!_(4x{aP3ct! zfvpd?QPf#eVTAM}$iZ+?A0iP3F?vM@p)4%JNOl5)%QWvd5dzCor2@IQ6jgsq*SD5A$PFc( zZMCqh!OJQx5@@<);`rhQA0)|r3V&S%SYWA@f~JEMo>RWH)sqv~cD%pEJBWKy$^woW zIjam-zx@}EYoR-rSJ*HzFlv36I#hiP^Pj8R#^fsi)czqR$?PEDqVjf}f5K+Z&sh0ESXBDiYBEzvT1narTxtOU z*X~K1sY~`_eMOEkS#G@}9`aF-@?E4iv*`+OwbvBPuF0A95Lla$-7z0NW@ z9e;lzS$?hEo~kF}vIBUG#Yd*Q@mFjTc*678TQCE>yR|{U&@?>S0r+CjLykp{FNEMl zGW0~N_8zKZTqM5L2HLTqk9#iA0H~uBq#6mG`{vcR-=N;Vue?{dB}LBrrL} zIGEp35x*&^b&M{x+>{?JI@Ino~ly zl0usn6-sGW){0IGshrM{&_Y6zvS*Fk?zWW3-XbI+$u0`XNvMQM%lUuidrpb__Po#g zKJW7X{eJJ%b!O(8xn{1}XRcYk=+$KT6^%^FFz64P^`!{+<8hM)&soePqSFc~UL| z-a6pX*&H3|nXf$1r`hOP6VZAC-<9YID&}r!pWhGoKfbLX{Q3&E`{`FJ5>$jUcyZyp zHbHUZS_|~d?n)WqlIWS2zl%m86*VkxBIc<3j?jVNj)x9W19uSB#R*r9>bO5SF4{&i zI$j(kn#;%CIC0@mk_LhvQ>h!}UT0J_Jz6wRZCW|O$<1;+05(Mz+cRigzSe$qm-$REYLc?(9Q6)liaQ=l zt=irrI~ZJ%1kN49II;^LDdA9T48FfGJ&ZDrk1KvFg3%}T%{$9tx9RF zGD1-?>cUetx4;=}!&%Lo546GM=ORP#8p5!gs?WD?3vbH0F;`_Bw?U4Af|%VKl??Td zeh87ue1E#zJBqn>JgHglCciqCx!bE8@2KS*@2Kg_M>e52WdCxtmtI)5(o}YH!~?J% zh(z>#CDA=)ynUi6>9ZfS^q#U7y{AlXC=0koG0QZE3%Jt8T+QK&M&O2WykdHsohGiP zD8?*HM;lWW-chznm*v|q)G&C$P<4*7?IZjIljxGNUbas>4!}V&7%oY9z~^b56yu#0 z4V`3pQp~mGTobp~ zTlu3XjOPgICLkMd9*_z+0@w>k20&(24w==zD1W4p#S3Vnn*p*r%t>DW8r6TX{4shb zjhB%>j)d_y^2e3n1!X}!CvArLJfIBFCNun7`6KoH&&eN|aNELam(u+s`J*UoeMDgb zumactTmdryK7cR)%H}^o{zxN>7bM{~8E^z}nPS??=3kaSLcaLpkOb3{XQPpF9b(2k zz_GkmJThv5hP01b=)^$=oj7`ckg0Tpz>FIodc%xi5+(_lCi>wU(I6J*Jrm9w=QtO*$4PQJNtboR*%3RCfRf}OF`byuvAF+ZYJyvhvm^D0?_N1Fp>h*^ky_Cy z(C5)~<3CS|28k&qse02s=F;s7y6EI~r;8h912uY3L>9ZAQaE?c4AAJCMPqRb4rqzS z$NoZ3_=;^tXL##4ieh?Rb&I|`h!;g1`PUE~l_qf`KpDU0IIJ;^Vvz%JW_lS*?>>fh zr7c&T(ZM@SohK&gx&eOyqnq&A z&||Kd3l^F4r!y!kzB8jw;@dL19e+HdJMxVf-IYIz(LMM>8GR;SgVDYCy&2ty-<8q* z`SOe&$QNhy5dQZ~G=*ILXGUMlf6wU4_^+W;7BWykg#UnIGgeY#K4V-%jhT#b9W|yi zM!JgTA7PA}sc|=BOs2+-jByt=u4asTsc{)&JV1>L8RHRZ^o23z+VGzXg*!T48lrG? z4|FkT2`|%_r?EDRFuDu|JBOo_8O&6Ee~S4fkVrhvVl1^wMANd72}RjhYOe@WCB� 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 literal 0 HcmV?d00001 diff --git a/Game.ini b/Game.ini new file mode 100755 index 0000000..ddf6020 --- /dev/null +++ b/Game.ini @@ -0,0 +1,5 @@ +[Game] +RTP=RPGVXAce +Library=System\RGSS301.dll +Scripts=Data\Scripts.rvdata2 +Title=RPGSkeleton diff --git a/Game.rvproj2 b/Game.rvproj2 new file mode 100755 index 0000000..af8c14b --- /dev/null +++ b/Game.rvproj2 @@ -0,0 +1 @@ +RPGVXAce 1.01 \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8d43bbe --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +PROJECT := $(shell pwd) +TYPE := ace + +YAML/%.yaml : Data/%.rvdata2 + rvpacker -d $(PROJECT) -t $(TYPE) -a unpack -D $* + +Data/%.rvdata2: YAML/%.yaml + rvpacker -d $(PROJECT) -t $(TYPE) -a pack -D $* + +datafiles := $(patsubst %.yaml,%.rvdata2,$(wildcard YAML/*.yaml)) +yamlfiles := $(patsubst %.rvdata2,%.yaml,$(wildcard Data/*.rvdata2)) + +unpack: $(yamlfiles) + +pack: $(datafiles) + +all: diff --git a/Scripts/RPG.rb b/Scripts/RPG.rb new file mode 100644 index 0000000..8376ce3 --- /dev/null +++ b/Scripts/RPG.rb @@ -0,0 +1,112 @@ +module RPG + require "Vocab.rb" + require "Sound.rb" + require "Cache.rb" + require "DataManager.rb" + require "SceneManager.rb" + require "BattleManager.rb" + require "Game_Temp.rb" + require "Game_System.rb" + require "Game_Timer.rb" + require "Game_Message.rb" + require "Game_Switches.rb" + require "Game_Variables.rb" + require "Game_SelfSwitches.rb" + require "Game_Screen.rb" + require "Game_Picture.rb" + require "Game_Pictures.rb" + require "Game_BaseItem.rb" + require "Game_Action.rb" + require "Game_ActionResult.rb" + require "Game_BattlerBase.rb" + require "Game_Battler.rb" + require "Game_Actor.rb" + require "Game_Enemy.rb" + require "Game_Actors.rb" + require "Game_Unit.rb" + require "Game_Party.rb" + require "Game_Troop.rb" + require "Game_Map.rb" + require "Game_CommonEvent.rb" + require "Game_CharacterBase.rb" + require "Game_Character.rb" + require "Game_Player.rb" + require "Game_Follower.rb" + require "Game_Followers.rb" + require "Game_Vehicle.rb" + require "Game_Event.rb" + require "Game_Interpreter.rb" + require "Sprite_Base.rb" + require "Sprite_Character.rb" + require "Sprite_Battler.rb" + require "Sprite_Picture.rb" + require "Sprite_Timer.rb" + require "Spriteset_Weather.rb" + require "Spriteset_Map.rb" + require "Spriteset_Battle.rb" + require "Window_Base.rb" + require "Window_Selectable.rb" + require "Window_Command.rb" + require "Window_HorzCommand.rb" + require "Window_Help.rb" + require "Window_Gold.rb" + require "Window_MenuCommand.rb" + require "Window_MenuStatus.rb" + require "Window_MenuActor.rb" + require "Window_ItemCategory.rb" + require "Window_ItemList.rb" + require "Window_SkillCommand.rb" + require "Window_SkillStatus.rb" + require "Window_SkillList.rb" + require "Window_EquipStatus.rb" + require "Window_EquipCommand.rb" + require "Window_EquipSlot.rb" + require "Window_EquipItem.rb" + require "Window_Status.rb" + require "Window_SaveFile.rb" + require "Window_ShopCommand.rb" + require "Window_ShopBuy.rb" + require "Window_ShopSell.rb" + require "Window_ShopNumber.rb" + require "Window_ShopStatus.rb" + require "Window_NameEdit.rb" + require "Window_NameInput.rb" + require "Window_ChoiceList.rb" + require "Window_NumberInput.rb" + require "Window_KeyItem.rb" + require "Window_Message.rb" + require "Window_ScrollText.rb" + require "Window_MapName.rb" + require "Window_BattleLog.rb" + require "Window_PartyCommand.rb" + require "Window_ActorCommand.rb" + require "Window_BattleStatus.rb" + require "Window_BattleActor.rb" + require "Window_BattleEnemy.rb" + require "Window_BattleSkill.rb" + require "Window_BattleItem.rb" + require "Window_TitleCommand.rb" + require "Window_GameEnd.rb" + require "Window_DebugLeft.rb" + require "Window_DebugRight.rb" + require "Scene_Base.rb" + require "Scene_Title.rb" + require "Scene_Map.rb" + require "Scene_MenuBase.rb" + require "Scene_Menu.rb" + require "Scene_ItemBase.rb" + require "Scene_Item.rb" + require "Scene_Skill.rb" + require "Scene_Equip.rb" + require "Scene_Status.rb" + require "Scene_File.rb" + require "Scene_Save.rb" + require "Scene_Load.rb" + require "Scene_End.rb" + require "Scene_Shop.rb" + require "Scene_Name.rb" + require "Scene_Debug.rb" + require "Scene_Battle.rb" + require "Scene_Gameover.rb" + require "Main.rb" +end diff --git a/Scripts/RPG.rb~ b/Scripts/RPG.rb~ new file mode 100644 index 0000000..83791f5 --- /dev/null +++ b/Scripts/RPG.rb~ @@ -0,0 +1,110 @@ +require "Vocab.rb" +require "Sound.rb" +require "Cache.rb" +require "DataManager.rb" +require "SceneManager.rb" +require "BattleManager.rb" +require "Game_Temp.rb" +require "Game_System.rb" +require "Game_Timer.rb" +require "Game_Message.rb" +require "Game_Switches.rb" +require "Game_Variables.rb" +require "Game_SelfSwitches.rb" +require "Game_Screen.rb" +require "Game_Picture.rb" +require "Game_Pictures.rb" +require "Game_BaseItem.rb" +require "Game_Action.rb" +require "Game_ActionResult.rb" +require "Game_BattlerBase.rb" +require "Game_Battler.rb" +require "Game_Actor.rb" +require "Game_Enemy.rb" +require "Game_Actors.rb" +require "Game_Unit.rb" +require "Game_Party.rb" +require "Game_Troop.rb" +require "Game_Map.rb" +require "Game_CommonEvent.rb" +require "Game_CharacterBase.rb" +require "Game_Character.rb" +require "Game_Player.rb" +require "Game_Follower.rb" +require "Game_Followers.rb" +require "Game_Vehicle.rb" +require "Game_Event.rb" +require "Game_Interpreter.rb" +require "Sprite_Base.rb" +require "Sprite_Character.rb" +require "Sprite_Battler.rb" +require "Sprite_Picture.rb" +require "Sprite_Timer.rb" +require "Spriteset_Weather.rb" +require "Spriteset_Map.rb" +require "Spriteset_Battle.rb" +require "Window_Base.rb" +require "Window_Selectable.rb" +require "Window_Command.rb" +require "Window_HorzCommand.rb" +require "Window_Help.rb" +require "Window_Gold.rb" +require "Window_MenuCommand.rb" +require "Window_MenuStatus.rb" +require "Window_MenuActor.rb" +require "Window_ItemCategory.rb" +require "Window_ItemList.rb" +require "Window_SkillCommand.rb" +require "Window_SkillStatus.rb" +require "Window_SkillList.rb" +require "Window_EquipStatus.rb" +require "Window_EquipCommand.rb" +require "Window_EquipSlot.rb" +require "Window_EquipItem.rb" +require "Window_Status.rb" +require "Window_SaveFile.rb" +require "Window_ShopCommand.rb" +require "Window_ShopBuy.rb" +require "Window_ShopSell.rb" +require "Window_ShopNumber.rb" +require "Window_ShopStatus.rb" +require "Window_NameEdit.rb" +require "Window_NameInput.rb" +require "Window_ChoiceList.rb" +require "Window_NumberInput.rb" +require "Window_KeyItem.rb" +require "Window_Message.rb" +require "Window_ScrollText.rb" +require "Window_MapName.rb" +require "Window_BattleLog.rb" +require "Window_PartyCommand.rb" +require "Window_ActorCommand.rb" +require "Window_BattleStatus.rb" +require "Window_BattleActor.rb" +require "Window_BattleEnemy.rb" +require "Window_BattleSkill.rb" +require "Window_BattleItem.rb" +require "Window_TitleCommand.rb" +require "Window_GameEnd.rb" +require "Window_DebugLeft.rb" +require "Window_DebugRight.rb" +require "Scene_Base.rb" +require "Scene_Title.rb" +require "Scene_Map.rb" +require "Scene_MenuBase.rb" +require "Scene_Menu.rb" +require "Scene_ItemBase.rb" +require "Scene_Item.rb" +require "Scene_Skill.rb" +require "Scene_Equip.rb" +require "Scene_Status.rb" +require "Scene_File.rb" +require "Scene_Save.rb" +require "Scene_Load.rb" +require "Scene_End.rb" +require "Scene_Shop.rb" +require "Scene_Name.rb" +require "Scene_Debug.rb" +require "Scene_Battle.rb" +require "Scene_Gameover.rb" +require "Main.rb" diff --git a/Scripts/RPG/#Game_Troop.rb# b/Scripts/RPG/#Game_Troop.rb# new file mode 100755 index 0000000..fcb597f --- /dev/null +++ b/Scripts/RPG/#Game_Troop.rb# @@ -0,0 +1,207 @@ +# encoding: UTF8 + +#============================================================================== +# ** Game_Troop +#------------------------------------------------------------------------------ +# This class handles enemy groups and battle-related data. Also performs +# battle events. The instance of this class is referenced by $game_troop. +#============================================================================== + +class Game_Troop < Game_Unit + #-------------------------------------------------------------------------- + # * Characters to be added to the end of enemy names + #-------------------------------------------------------------------------- + LETTER_TABLE_HALF = [' A',' B',' C',' D',' E',' F',' G',' H',' I',' J', + ' K',' L',' M',' N',' O',' P',' Q',' R',' S',' T', + ' U',' V',' W',' X',' Y',' Z'] + LETTER_TABLE_FULL = ['A','B','C','D','E','F','G','H','I','J', + 'K','L','M','N','O','P','Q','R','S','T', + 'U','V','W','X','Y','Z'] + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :screen # battle screen state + attr_reader :interpreter # battle event interpreter + attr_reader :event_flags # battle event executed flag + attr_reader :turn_count # number of turns + attr_reader :name_counts # hash for enemy name appearance + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super + @screen = Game_Screen.new + @interpreter = Game_Interpreter.new + @event_flags = {} + clear + end + #-------------------------------------------------------------------------- + # * Get Members + #-------------------------------------------------------------------------- + def members + @enemies + end + #-------------------------------------------------------------------------- + # * Clear + #-------------------------------------------------------------------------- + def clear + @screen.clear + @interpreter.clear + @event_flags.clear + @enemies = [] + @turn_count = 0 + @names_count = {} + end + #-------------------------------------------------------------------------- + # * Get Troop Objects + #-------------------------------------------------------------------------- + def troop + $data_troops[@troop_id] + end + #-------------------------------------------------------------------------- + # * Setup + #-------------------------------------------------------------------------- + def setup(troop_id) + clear + @troop_id = troop_id + @enemies = [] + troop.members.each do |member| + next unless $data_enemies[member.enemy_id] + enemy = Game_Enemy.new(@enemies.size, member.enemy_id) + enemy.hide if member.hidden + enemy.screen_x = member.x + enemy.screen_y = member.y + @enemies.push(enemy) + end + init_screen_tone + make_unique_names + end + #-------------------------------------------------------------------------- + # * Initialize Screen Tone + #-------------------------------------------------------------------------- + def init_screen_tone + @screen.start_tone_change($game_map.screen.tone, 0) if $game_map + end + #-------------------------------------------------------------------------- + # * Add letters (ABC, etc) to enemy characters with the same name + #-------------------------------------------------------------------------- + def make_unique_names + members.each do |enemy| + next unless enemy.alive? + next unless enemy.letter.empty? + n = @names_count[enemy.original_name] || 0 + enemy.letter = letter_table[n % letter_table.size] + @names_count[enemy.original_name] = n + 1 + end + members.each do |enemy| + n = @names_count[enemy.original_name] || 0 + enemy.plural = true if n >= 2 + end + end + #-------------------------------------------------------------------------- + # * Get Text Table to Place Behind Enemy Name + #-------------------------------------------------------------------------- + def letter_table + $game_system.japanese? ? LETTER_TABLE_FULL : LETTER_TABLE_HALF + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + @screen.update + end + #-------------------------------------------------------------------------- + # * Get Enemy Name Array + # For display at start of battle. Overlapping names are removed. + #-------------------------------------------------------------------------- + def enemy_names + names = [] + members.each do |enemy| + next unless enemy.alive? + next if names.include?(enemy.original_name) + names.push(enemy.original_name) + end + names + end + #-------------------------------------------------------------------------- + # * Determine if Battle Event (Page) Conditions Are Met + #-------------------------------------------------------------------------- + def conditions_met?(page) + c = page.condition + if !c.turn_ending && !c.turn_valid && !c.enemy_valid && + !c.actor_valid && !c.switch_valid + return false # Conditions not set: not executed + end + if @event_flags[page] + return false # Executed + end + if c.turn_ending # At turn end + return false unless BattleManager.turn_end? + end + if c.turn_valid # Number of turns + n = @turn_count + a = c.turn_a + b = c.turn_b + return false if (b == 0 && n != a) + return false if (b > 0 && (n < 1 || n < a || n % b != a % b)) + end + if c.enemy_valid # Enemy + enemy = $game_troop.members[c.enemy_index] + return false if enemy == nil + return false if enemy.hp_rate * 100 > c.enemy_hp + end + if c.actor_valid # Actor + actor = $game_actors[c.actor_id] + return false if actor == nil + return false if actor.hp_rate * 100 > c.actor_hp + end + if c.switch_valid # Switch + return false if !$game_switches[c.switch_id] + end + return true # Condition met + end + #-------------------------------------------------------------------------- + # * Battle Event Setup + #-------------------------------------------------------------------------- + def setup_battle_event + return if @interpreter.running? + return if @interpreter.setup_reserved_common_event + troop.pages.each do |page| + next unless conditions_met?(page) + @interpreter.setup(page.list) + @event_flags[page] = true if page.span <= 1 + return + end + end + #-------------------------------------------------------------------------- + # * Increase Turns + #-------------------------------------------------------------------------- + def increase_turn + troop.pages.each {|page| @event_flags[page] = false if page.span == 1 } + @turn_count += 1 + end + #-------------------------------------------------------------------------- + # * Calculate Total Experience + #-------------------------------------------------------------------------- + def exp_total + dead_members.inject(0) {|r, enemy| r += enemy.exp } + end + #-------------------------------------------------------------------------- + # * Calculate Total Gold + #-------------------------------------------------------------------------- + def gold_total + dead_members.inject(0) {|r, enemy| r += enemy.gold } * gold_rate + end + #-------------------------------------------------------------------------- + # * Get Multiplier for Gold + #-------------------------------------------------------------------------- + def gold_rate + $game_party.gold_double? ? 2 : 1 + end + #-------------------------------------------------------------------------- + # * Create Array of Dropped Items + #-------------------------------------------------------------------------- + def make_drop_items + dead_members.inject([]) {|r, enemy| r += enemy.make_drop_items } + end +end diff --git a/Scripts/RPG/BattleManager.rb b/Scripts/RPG/BattleManager.rb new file mode 100644 index 0000000..b3697df --- /dev/null +++ b/Scripts/RPG/BattleManager.rb @@ -0,0 +1,393 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** BattleManager +#------------------------------------------------------------------------------ +# This module manages battle progress. +#============================================================================== + +module BattleManager + #-------------------------------------------------------------------------- + # * Setup + #-------------------------------------------------------------------------- + def self.setup(troop_id, can_escape = true, can_lose = false) + init_members + $game_troop.setup(troop_id) + @can_escape = can_escape + @can_lose = can_lose + make_escape_ratio + end + #-------------------------------------------------------------------------- + # * Initialize Member Variables + #-------------------------------------------------------------------------- + def self.init_members + @phase = :init # Battle Progress Phase + @can_escape = false # Can Escape Flag + @can_lose = false # Can Lose Flag + @event_proc = nil # Event Callback + @preemptive = false # Preemptive Attack Flag + @surprise = false # Surprise Flag + @actor_index = -1 # Actor for Which Command Is Being Entered + @action_forced = nil # Force Action + @map_bgm = nil # For Memorizing Pre-Battle BGM + @map_bgs = nil # For Memorizing Pre-Battle BGS + @action_battlers = [] # Action Order List + end + #-------------------------------------------------------------------------- + # * Processing at Encounter Time + #-------------------------------------------------------------------------- + def self.on_encounter + @preemptive = (rand < rate_preemptive) + @surprise = (rand < rate_surprise && !@preemptive) + end + #-------------------------------------------------------------------------- + # * Get Probability of Preemptive Attack + #-------------------------------------------------------------------------- + def self.rate_preemptive + $game_party.rate_preemptive($game_troop.agi) + end + #-------------------------------------------------------------------------- + # * Get Probability of Surprise + #-------------------------------------------------------------------------- + def self.rate_surprise + $game_party.rate_surprise($game_troop.agi) + end + #-------------------------------------------------------------------------- + # * Save BGM and BGS + #-------------------------------------------------------------------------- + def self.save_bgm_and_bgs + @map_bgm = RPG::BGM.last + @map_bgs = RPG::BGS.last + end + #-------------------------------------------------------------------------- + # * Play Battle BGM + #-------------------------------------------------------------------------- + def self.play_battle_bgm + $game_system.battle_bgm.play + RPG::BGS.stop + end + #-------------------------------------------------------------------------- + # * Play Battle End ME + #-------------------------------------------------------------------------- + def self.play_battle_end_me + $game_system.battle_end_me.play + end + #-------------------------------------------------------------------------- + # * Resume BGM and BGS + #-------------------------------------------------------------------------- + def self.replay_bgm_and_bgs + @map_bgm.replay unless $BTEST + @map_bgs.replay unless $BTEST + end + #-------------------------------------------------------------------------- + # * Create Escape Success Probability + #-------------------------------------------------------------------------- + def self.make_escape_ratio + @escape_ratio = 1.5 - 1.0 * $game_troop.agi / $game_party.agi + end + #-------------------------------------------------------------------------- + # * Determine if Turn Is Executing + #-------------------------------------------------------------------------- + def self.in_turn? + @phase == :turn + end + #-------------------------------------------------------------------------- + # * Determine if Turn Is Ending + #-------------------------------------------------------------------------- + def self.turn_end? + @phase == :turn_end + end + #-------------------------------------------------------------------------- + # * Determine if Battle Is Aborting + #-------------------------------------------------------------------------- + def self.aborting? + @phase == :aborting + end + #-------------------------------------------------------------------------- + # * Get Whether Escape Is Possible + #-------------------------------------------------------------------------- + def self.can_escape? + @can_escape + end + #-------------------------------------------------------------------------- + # * Get Actor for Which Command Is Being Entered + #-------------------------------------------------------------------------- + def self.actor + @actor_index >= 0 ? $game_party.members[@actor_index] : nil + end + #-------------------------------------------------------------------------- + # * Clear Actor for Which Command Is Being Entered + #-------------------------------------------------------------------------- + def self.clear_actor + @actor_index = -1 + end + #-------------------------------------------------------------------------- + # * To Next Command Input + #-------------------------------------------------------------------------- + def self.next_command + begin + if !actor || !actor.next_command + @actor_index += 1 + return false if @actor_index >= $game_party.members.size + end + end until actor.inputable? + return true + end + #-------------------------------------------------------------------------- + # * To Previous Command Input + #-------------------------------------------------------------------------- + def self.prior_command + begin + if !actor || !actor.prior_command + @actor_index -= 1 + return false if @actor_index < 0 + end + end until actor.inputable? + return true + end + #-------------------------------------------------------------------------- + # * Set Proc for Callback to Event + #-------------------------------------------------------------------------- + def self.event_proc=(proc) + @event_proc = proc + end + #-------------------------------------------------------------------------- + # * Set Wait Method + #-------------------------------------------------------------------------- + def self.method_wait_for_message=(method) + @method_wait_for_message = method + end + #-------------------------------------------------------------------------- + # * Wait Until Message Display has Finished + #-------------------------------------------------------------------------- + def self.wait_for_message + @method_wait_for_message.call if @method_wait_for_message + end + #-------------------------------------------------------------------------- + # * Battle Start + #-------------------------------------------------------------------------- + def self.battle_start + $game_system.battle_count += 1 + $game_party.on_battle_start + $game_troop.on_battle_start + $game_troop.enemy_names.each do |name| + $game_message.add(sprintf(Vocab::Emerge, name)) + end + if @preemptive + $game_message.add(sprintf(Vocab::Preemptive, $game_party.name)) + elsif @surprise + $game_message.add(sprintf(Vocab::Surprise, $game_party.name)) + end + wait_for_message + end + #-------------------------------------------------------------------------- + # * Battle Abort + #-------------------------------------------------------------------------- + def self.abort + @phase = :aborting + end + #-------------------------------------------------------------------------- + # * Determine Win/Loss Results + #-------------------------------------------------------------------------- + def self.judge_win_loss + if @phase + return process_abort if $game_party.members.empty? + return process_defeat if $game_party.all_dead? + return process_victory if $game_troop.all_dead? + return process_abort if aborting? + end + return false + end + #-------------------------------------------------------------------------- + # * Victory Processing + #-------------------------------------------------------------------------- + def self.process_victory + play_battle_end_me + replay_bgm_and_bgs + $game_message.add(sprintf(Vocab::Victory, $game_party.name)) + display_exp + gain_gold + gain_drop_items + gain_exp + SceneManager.return + battle_end(0) + return true + end + #-------------------------------------------------------------------------- + # * Escape Processing + #-------------------------------------------------------------------------- + def self.process_escape + $game_message.add(sprintf(Vocab::EscapeStart, $game_party.name)) + success = @preemptive ? true : (rand < @escape_ratio) + Sound.play_escape + if success + process_abort + else + @escape_ratio += 0.1 + $game_message.add('\.' + Vocab::EscapeFailure) + $game_party.clear_actions + end + wait_for_message + return success + end + #-------------------------------------------------------------------------- + # * Abort Processing + #-------------------------------------------------------------------------- + def self.process_abort + replay_bgm_and_bgs + SceneManager.return + battle_end(1) + return true + end + #-------------------------------------------------------------------------- + # * Defeat Processing + #-------------------------------------------------------------------------- + def self.process_defeat + $game_message.add(sprintf(Vocab::Defeat, $game_party.name)) + wait_for_message + if @can_lose + revive_battle_members + replay_bgm_and_bgs + SceneManager.return + else + SceneManager.goto(Scene_Gameover) + end + battle_end(2) + return true + end + #-------------------------------------------------------------------------- + # * Revive Battle Members (When Defeated) + #-------------------------------------------------------------------------- + def self.revive_battle_members + $game_party.battle_members.each do |actor| + actor.hp = 1 if actor.dead? + end + end + #-------------------------------------------------------------------------- + # * End Battle + # result : Result (0: Win 1: Escape 2: Lose) + #-------------------------------------------------------------------------- + def self.battle_end(result) + @phase = nil + @event_proc.call(result) if @event_proc + $game_party.on_battle_end + $game_troop.on_battle_end + SceneManager.exit if $BTEST + end + #-------------------------------------------------------------------------- + # * Start Command Input + #-------------------------------------------------------------------------- + def self.input_start + if @phase != :input + @phase = :input + $game_party.make_actions + $game_troop.make_actions + clear_actor + end + return !@surprise && $game_party.inputable? + end + #-------------------------------------------------------------------------- + # * Start Turn + #-------------------------------------------------------------------------- + def self.turn_start + @phase = :turn + clear_actor + $game_troop.increase_turn + make_action_orders + end + #-------------------------------------------------------------------------- + # * End Turn + #-------------------------------------------------------------------------- + def self.turn_end + @phase = :turn_end + @preemptive = false + @surprise = false + end + #-------------------------------------------------------------------------- + # * Display EXP Earned + #-------------------------------------------------------------------------- + def self.display_exp + if $game_troop.exp_total > 0 + text = sprintf(Vocab::ObtainExp, $game_troop.exp_total) + $game_message.add('\.' + text) + end + end + #-------------------------------------------------------------------------- + # * Gold Acquisition and Display + #-------------------------------------------------------------------------- + def self.gain_gold + if $game_troop.gold_total > 0 + text = sprintf(Vocab::ObtainGold, $game_troop.gold_total) + $game_message.add('\.' + text) + $game_party.gain_gold($game_troop.gold_total) + end + wait_for_message + end + #-------------------------------------------------------------------------- + # * Dropped Item Acquisition and Display + #-------------------------------------------------------------------------- + def self.gain_drop_items + $game_troop.make_drop_items.each do |item| + $game_party.gain_item(item, 1) + $game_message.add(sprintf(Vocab::ObtainItem, item.name)) + end + wait_for_message + end + #-------------------------------------------------------------------------- + # * EXP Acquisition and Level Up Display + #-------------------------------------------------------------------------- + def self.gain_exp + $game_party.all_members.each do |actor| + actor.gain_exp($game_troop.exp_total) + end + wait_for_message + end + #-------------------------------------------------------------------------- + # * Create Action Order + #-------------------------------------------------------------------------- + def self.make_action_orders + @action_battlers = [] + @action_battlers += $game_party.members unless @surprise + @action_battlers += $game_troop.members unless @preemptive + @action_battlers.each {|battler| battler.make_speed } + @action_battlers.sort! {|a,b| b.speed - a.speed } + end + #-------------------------------------------------------------------------- + # * Force Action + #-------------------------------------------------------------------------- + def self.force_action(battler) + @action_forced = battler + @action_battlers.delete(battler) + end + #-------------------------------------------------------------------------- + # * Get Forced State of Battle Action + #-------------------------------------------------------------------------- + def self.action_forced? + @action_forced != nil + end + #-------------------------------------------------------------------------- + # * Get Battler Subjected to Forced Action + #-------------------------------------------------------------------------- + def self.action_forced_battler + @action_forced + end + #-------------------------------------------------------------------------- + # * Clear Forcing of Battle Action + #-------------------------------------------------------------------------- + def self.clear_action_force + @action_forced = nil + end + #-------------------------------------------------------------------------- + # * Get Next Action Subject + # Get the battler from the beginning of the action order list. + # If an actor not currently in the party is obtained (occurs when index + # is nil, immediately after escaping in battle events etc.), skip them. + #-------------------------------------------------------------------------- + def self.next_subject + loop do + battler = @action_battlers.shift + return nil unless battler + next unless battler.index && battler.alive? + return battler + end + end +end diff --git a/Scripts/RPG/Cache.rb b/Scripts/RPG/Cache.rb new file mode 100644 index 0000000..30700a2 --- /dev/null +++ b/Scripts/RPG/Cache.rb @@ -0,0 +1,135 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Cache +#------------------------------------------------------------------------------ +# This module loads graphics, creates bitmap objects, and retains them. +# To speed up load times and conserve memory, this module holds the +# created bitmap object in the internal hash, allowing the program to +# return preexisting objects when the same bitmap is requested again. +#============================================================================== + +module Cache + #-------------------------------------------------------------------------- + # * Get Animation Graphic + #-------------------------------------------------------------------------- + def self.animation(filename, hue) + load_bitmap("Graphics/Animations/", filename, hue) + end + #-------------------------------------------------------------------------- + # * Get Battle Background (Floor) Graphic + #-------------------------------------------------------------------------- + def self.battleback1(filename) + load_bitmap("Graphics/Battlebacks1/", filename) + end + #-------------------------------------------------------------------------- + # * Get Battle Background (Wall) Graphic + #-------------------------------------------------------------------------- + def self.battleback2(filename) + load_bitmap("Graphics/Battlebacks2/", filename) + end + #-------------------------------------------------------------------------- + # * Get Battle Graphic + #-------------------------------------------------------------------------- + def self.battler(filename, hue) + load_bitmap("Graphics/Battlers/", filename, hue) + end + #-------------------------------------------------------------------------- + # * Get Character Graphic + #-------------------------------------------------------------------------- + def self.character(filename) + load_bitmap("Graphics/Characters/", filename) + end + #-------------------------------------------------------------------------- + # * Get Face Graphic + #-------------------------------------------------------------------------- + def self.face(filename) + load_bitmap("Graphics/Faces/", filename) + end + #-------------------------------------------------------------------------- + # * Get Parallax Background Graphic + #-------------------------------------------------------------------------- + def self.parallax(filename) + load_bitmap("Graphics/Parallaxes/", filename) + end + #-------------------------------------------------------------------------- + # * Get Picture Graphic + #-------------------------------------------------------------------------- + def self.picture(filename) + load_bitmap("Graphics/Pictures/", filename) + end + #-------------------------------------------------------------------------- + # * Get System Graphic + #-------------------------------------------------------------------------- + def self.system(filename) + load_bitmap("Graphics/System/", filename) + end + #-------------------------------------------------------------------------- + # * Get Tileset Graphic + #-------------------------------------------------------------------------- + def self.tileset(filename) + load_bitmap("Graphics/Tilesets/", filename) + end + #-------------------------------------------------------------------------- + # * Get Title (Background) Graphic + #-------------------------------------------------------------------------- + def self.title1(filename) + load_bitmap("Graphics/Titles1/", filename) + end + #-------------------------------------------------------------------------- + # * Get Title (Frame) Graphic + #-------------------------------------------------------------------------- + def self.title2(filename) + load_bitmap("Graphics/Titles2/", filename) + end + #-------------------------------------------------------------------------- + # * Load Bitmap + #-------------------------------------------------------------------------- + def self.load_bitmap(folder_name, filename, hue = 0) + @cache ||= {} + if filename.empty? + empty_bitmap + elsif hue == 0 + normal_bitmap(folder_name + filename) + else + hue_changed_bitmap(folder_name + filename, hue) + end + end + #-------------------------------------------------------------------------- + # * Create Empty Bitmap + #-------------------------------------------------------------------------- + def self.empty_bitmap + Bitmap.new(32, 32) + end + #-------------------------------------------------------------------------- + # * Create/Get Normal Bitmap + #-------------------------------------------------------------------------- + def self.normal_bitmap(path) + @cache[path] = Bitmap.new(path) unless include?(path) + @cache[path] + end + #-------------------------------------------------------------------------- + # * Create/Get Hue-Changed Bitmap + #-------------------------------------------------------------------------- + def self.hue_changed_bitmap(path, hue) + key = [path, hue] + unless include?(key) + @cache[key] = normal_bitmap(path).clone + @cache[key].hue_change(hue) + end + @cache[key] + end + #-------------------------------------------------------------------------- + # * Check Cache Existence + #-------------------------------------------------------------------------- + def self.include?(key) + @cache[key] && !@cache[key].disposed? + end + #-------------------------------------------------------------------------- + # * Clear Cache + #-------------------------------------------------------------------------- + def self.clear + @cache ||= {} + @cache.clear + GC.start + end +end diff --git a/Scripts/RPG/DataManager.rb b/Scripts/RPG/DataManager.rb new file mode 100644 index 0000000..3c0aeba --- /dev/null +++ b/Scripts/RPG/DataManager.rb @@ -0,0 +1,268 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** DataManager +#------------------------------------------------------------------------------ +# This module manages the database and game objects. Almost all of the +# global variables used by the game are initialized by this module. +#============================================================================== + +module DataManager + #-------------------------------------------------------------------------- + # * Module Instance Variables + #-------------------------------------------------------------------------- + @last_savefile_index = 0 # most recently accessed file + #-------------------------------------------------------------------------- + # * Initialize Module + #-------------------------------------------------------------------------- + def self.init + @last_savefile_index = 0 + load_database + create_game_objects + setup_battle_test if $BTEST + end + #-------------------------------------------------------------------------- + # * Load Database + #-------------------------------------------------------------------------- + def self.load_database + if $BTEST + load_battle_test_database + else + load_normal_database + check_player_location + end + end + #-------------------------------------------------------------------------- + # * Load Normal Database + #-------------------------------------------------------------------------- + def self.load_normal_database + $data_actors = load_data("Data/Actors.rvdata2") + $data_classes = load_data("Data/Classes.rvdata2") + $data_skills = load_data("Data/Skills.rvdata2") + $data_items = load_data("Data/Items.rvdata2") + $data_weapons = load_data("Data/Weapons.rvdata2") + $data_armors = load_data("Data/Armors.rvdata2") + $data_enemies = load_data("Data/Enemies.rvdata2") + $data_troops = load_data("Data/Troops.rvdata2") + $data_states = load_data("Data/States.rvdata2") + $data_animations = load_data("Data/Animations.rvdata2") + $data_tilesets = load_data("Data/Tilesets.rvdata2") + $data_common_events = load_data("Data/CommonEvents.rvdata2") + $data_system = load_data("Data/System.rvdata2") + $data_mapinfos = load_data("Data/MapInfos.rvdata2") + end + #-------------------------------------------------------------------------- + # * Load Battle Test Database + #-------------------------------------------------------------------------- + def self.load_battle_test_database + $data_actors = load_data("Data/BT_Actors.rvdata2") + $data_classes = load_data("Data/BT_Classes.rvdata2") + $data_skills = load_data("Data/BT_Skills.rvdata2") + $data_items = load_data("Data/BT_Items.rvdata2") + $data_weapons = load_data("Data/BT_Weapons.rvdata2") + $data_armors = load_data("Data/BT_Armors.rvdata2") + $data_enemies = load_data("Data/BT_Enemies.rvdata2") + $data_troops = load_data("Data/BT_Troops.rvdata2") + $data_states = load_data("Data/BT_States.rvdata2") + $data_animations = load_data("Data/BT_Animations.rvdata2") + $data_tilesets = load_data("Data/BT_Tilesets.rvdata2") + $data_common_events = load_data("Data/BT_CommonEvents.rvdata2") + $data_system = load_data("Data/BT_System.rvdata2") + end + #-------------------------------------------------------------------------- + # * Check Player Start Location Existence + #-------------------------------------------------------------------------- + def self.check_player_location + if $data_system.start_map_id == 0 + msgbox(Vocab::PlayerPosError) + exit + end + end + #-------------------------------------------------------------------------- + # * Create Game Objects + #-------------------------------------------------------------------------- + def self.create_game_objects + $game_temp = Game_Temp.new + $game_system = Game_System.new + $game_timer = Game_Timer.new + $game_message = Game_Message.new + $game_switches = Game_Switches.new + $game_variables = Game_Variables.new + $game_self_switches = Game_SelfSwitches.new + $game_actors = Game_Actors.new + $game_party = Game_Party.new + $game_troop = Game_Troop.new + $game_map = Game_Map.new + $game_player = Game_Player.new + end + #-------------------------------------------------------------------------- + # * Set Up New Game + #-------------------------------------------------------------------------- + def self.setup_new_game + create_game_objects + $game_party.setup_starting_members + $game_map.setup($data_system.start_map_id) + $game_player.moveto($data_system.start_x, $data_system.start_y) + $game_player.refresh + Graphics.frame_count = 0 + end + #-------------------------------------------------------------------------- + # * Set Up Battle Test + #-------------------------------------------------------------------------- + def self.setup_battle_test + $game_party.setup_battle_test + BattleManager.setup($data_system.test_troop_id) + BattleManager.play_battle_bgm + end + #-------------------------------------------------------------------------- + # * Determine Existence of Save File + #-------------------------------------------------------------------------- + def self.save_file_exists? + !Dir.glob('Save*.rvdata2').empty? + end + #-------------------------------------------------------------------------- + # * Maximum Number of Save Files + #-------------------------------------------------------------------------- + def self.savefile_max + return 16 + end + #-------------------------------------------------------------------------- + # * Create Filename + # index : File Index + #-------------------------------------------------------------------------- + def self.make_filename(index) + sprintf("Save%02d.rvdata2", index + 1) + end + #-------------------------------------------------------------------------- + # * Execute Save + #-------------------------------------------------------------------------- + def self.save_game(index) + begin + save_game_without_rescue(index) + rescue + delete_save_file(index) + false + end + end + #-------------------------------------------------------------------------- + # * Execute Load + #-------------------------------------------------------------------------- + def self.load_game(index) + load_game_without_rescue(index) rescue false + end + #-------------------------------------------------------------------------- + # * Load Save Header + #-------------------------------------------------------------------------- + def self.load_header(index) + load_header_without_rescue(index) rescue nil + end + #-------------------------------------------------------------------------- + # * Execute Save (No Exception Processing) + #-------------------------------------------------------------------------- + def self.save_game_without_rescue(index) + File.open(make_filename(index), "wb") do |file| + $game_system.on_before_save + Marshal.dump(make_save_header, file) + Marshal.dump(make_save_contents, file) + @last_savefile_index = index + end + return true + end + #-------------------------------------------------------------------------- + # * Execute Load (No Exception Processing) + #-------------------------------------------------------------------------- + def self.load_game_without_rescue(index) + File.open(make_filename(index), "rb") do |file| + Marshal.load(file) + extract_save_contents(Marshal.load(file)) + reload_map_if_updated + @last_savefile_index = index + end + return true + end + #-------------------------------------------------------------------------- + # * Load Save Header (No Exception Processing) + #-------------------------------------------------------------------------- + def self.load_header_without_rescue(index) + File.open(make_filename(index), "rb") do |file| + return Marshal.load(file) + end + return nil + end + #-------------------------------------------------------------------------- + # * Delete Save File + #-------------------------------------------------------------------------- + def self.delete_save_file(index) + File.delete(make_filename(index)) rescue nil + end + #-------------------------------------------------------------------------- + # * Create Save Header + #-------------------------------------------------------------------------- + def self.make_save_header + header = {} + header[:characters] = $game_party.characters_for_savefile + header[:playtime_s] = $game_system.playtime_s + header + end + #-------------------------------------------------------------------------- + # * Create Save Contents + #-------------------------------------------------------------------------- + def self.make_save_contents + contents = {} + contents[:system] = $game_system + contents[:timer] = $game_timer + contents[:message] = $game_message + contents[:switches] = $game_switches + contents[:variables] = $game_variables + contents[:self_switches] = $game_self_switches + contents[:actors] = $game_actors + contents[:party] = $game_party + contents[:troop] = $game_troop + contents[:map] = $game_map + contents[:player] = $game_player + contents + end + #-------------------------------------------------------------------------- + # * Extract Save Contents + #-------------------------------------------------------------------------- + def self.extract_save_contents(contents) + $game_system = contents[:system] + $game_timer = contents[:timer] + $game_message = contents[:message] + $game_switches = contents[:switches] + $game_variables = contents[:variables] + $game_self_switches = contents[:self_switches] + $game_actors = contents[:actors] + $game_party = contents[:party] + $game_troop = contents[:troop] + $game_map = contents[:map] + $game_player = contents[:player] + end + #-------------------------------------------------------------------------- + # * Reload Map if Data Is Updated + #-------------------------------------------------------------------------- + def self.reload_map_if_updated + if $game_system.version_id != $data_system.version_id + $game_map.setup($game_map.map_id) + $game_player.center($game_player.x, $game_player.y) + $game_player.make_encounter_count + end + end + #-------------------------------------------------------------------------- + # * Get Update Date of Save File + #-------------------------------------------------------------------------- + def self.savefile_time_stamp(index) + File.mtime(make_filename(index)) rescue Time.at(0) + end + #-------------------------------------------------------------------------- + # * Get File Index with Latest Update Date + #-------------------------------------------------------------------------- + def self.latest_savefile_index + savefile_max.times.max_by {|i| savefile_time_stamp(i) } + end + #-------------------------------------------------------------------------- + # * Get Index of File Most Recently Accessed + #-------------------------------------------------------------------------- + def self.last_savefile_index + @last_savefile_index + end +end diff --git a/Scripts/RPG/Game_Action.rb b/Scripts/RPG/Game_Action.rb new file mode 100644 index 0000000..36e2f66 --- /dev/null +++ b/Scripts/RPG/Game_Action.rb @@ -0,0 +1,263 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Action +#------------------------------------------------------------------------------ +# This class handles battle actions. This class is used within the +# Game_Battler class. +#============================================================================== + +class Game_Action + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :subject # action subject + attr_reader :forcing # forcing flag for battle action + attr_reader :item # skill/item + attr_accessor :target_index # target index + attr_reader :value # evaluation value for auto battle + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(subject, forcing = false) + @subject = subject + @forcing = forcing + clear + end + #-------------------------------------------------------------------------- + # * Clear + #-------------------------------------------------------------------------- + def clear + @item = Game_BaseItem.new + @target_index = -1 + @value = 0 + end + #-------------------------------------------------------------------------- + # * Get Allied Units + #-------------------------------------------------------------------------- + def friends_unit + subject.friends_unit + end + #-------------------------------------------------------------------------- + # * Get Enemy Units + #-------------------------------------------------------------------------- + def opponents_unit + subject.opponents_unit + end + #-------------------------------------------------------------------------- + # * Set Battle Action of Enemy Character + # action : RPG::Enemy::Action + #-------------------------------------------------------------------------- + def set_enemy_action(action) + if action + set_skill(action.skill_id) + else + clear + end + end + #-------------------------------------------------------------------------- + # * Set Normal Attack + #-------------------------------------------------------------------------- + def set_attack + set_skill(subject.attack_skill_id) + self + end + #-------------------------------------------------------------------------- + # * Set Guard + #-------------------------------------------------------------------------- + def set_guard + set_skill(subject.guard_skill_id) + self + end + #-------------------------------------------------------------------------- + # * Set Skill + #-------------------------------------------------------------------------- + def set_skill(skill_id) + @item.object = $data_skills[skill_id] + self + end + #-------------------------------------------------------------------------- + # * Set Item + #-------------------------------------------------------------------------- + def set_item(item_id) + @item.object = $data_items[item_id] + self + end + #-------------------------------------------------------------------------- + # * Get Item Object + #-------------------------------------------------------------------------- + def item + @item.object + end + #-------------------------------------------------------------------------- + # * Normal Attack Determination + #-------------------------------------------------------------------------- + def attack? + item == $data_skills[subject.attack_skill_id] + end + #-------------------------------------------------------------------------- + # * Random Target + #-------------------------------------------------------------------------- + def decide_random_target + if item.for_dead_friend? + target = friends_unit.random_dead_target + elsif item.for_friend? + target = friends_unit.random_target + else + target = opponents_unit.random_target + end + if target + @target_index = target.index + else + clear + end + end + #-------------------------------------------------------------------------- + # * Set Confusion Action + #-------------------------------------------------------------------------- + def set_confusion + set_attack + end + #-------------------------------------------------------------------------- + # * Action Preparation + #-------------------------------------------------------------------------- + def prepare + set_confusion if subject.confusion? && !forcing + end + #-------------------------------------------------------------------------- + # * Determination if Action is Valid or Not + # Assuming that an event command does not cause [Force Battle Action], + # if state limitations or lack of items, etc. make the planned action + # impossible, return false. + #-------------------------------------------------------------------------- + def valid? + (forcing && item) || subject.usable?(item) + end + #-------------------------------------------------------------------------- + # * Calculate Action Speed + #-------------------------------------------------------------------------- + def speed + speed = subject.agi + rand(5 + subject.agi / 4) + speed += item.speed if item + speed += subject.atk_speed if attack? + speed + end + #-------------------------------------------------------------------------- + # * Create Target Array + #-------------------------------------------------------------------------- + def make_targets + if !forcing && subject.confusion? + [confusion_target] + elsif item.for_opponent? + targets_for_opponents + elsif item.for_friend? + targets_for_friends + else + [] + end + end + #-------------------------------------------------------------------------- + # * Target When Confused + #-------------------------------------------------------------------------- + def confusion_target + case subject.confusion_level + when 1 + opponents_unit.random_target + when 2 + if rand(2) == 0 + opponents_unit.random_target + else + friends_unit.random_target + end + else + friends_unit.random_target + end + end + #-------------------------------------------------------------------------- + # * Targets for Opponents + #-------------------------------------------------------------------------- + def targets_for_opponents + if item.for_random? + Array.new(item.number_of_targets) { opponents_unit.random_target } + elsif item.for_one? + num = 1 + (attack? ? subject.atk_times_add.to_i : 0) + if @target_index < 0 + [opponents_unit.random_target] * num + else + [opponents_unit.smooth_target(@target_index)] * num + end + else + opponents_unit.alive_members + end + end + #-------------------------------------------------------------------------- + # * Targets for Allies + #-------------------------------------------------------------------------- + def targets_for_friends + if item.for_user? + [subject] + elsif item.for_dead_friend? + if item.for_one? + [friends_unit.smooth_dead_target(@target_index)] + else + friends_unit.dead_members + end + elsif item.for_friend? + if item.for_one? + [friends_unit.smooth_target(@target_index)] + else + friends_unit.alive_members + end + end + end + #-------------------------------------------------------------------------- + # * Evaluate Value of Action (for Auto Battle) + # @value and @target_index are automatically set. + #-------------------------------------------------------------------------- + def evaluate + @value = 0 + evaluate_item if valid? + @value += rand if @value > 0 + self + end + #-------------------------------------------------------------------------- + # * Evaluate Skill/Item + #-------------------------------------------------------------------------- + def evaluate_item + item_target_candidates.each do |target| + value = evaluate_item_with_target(target) + if item.for_all? + @value += value + elsif value > @value + @value = value + @target_index = target.index + end + end + end + #-------------------------------------------------------------------------- + # * Get Use Target Candidates for Skills/Items + #-------------------------------------------------------------------------- + def item_target_candidates + if item.for_opponent? + opponents_unit.alive_members + elsif item.for_user? + [subject] + elsif item.for_dead_friend? + friends_unit.dead_members + else + friends_unit.alive_members + end + end + #-------------------------------------------------------------------------- + # * Evaluate Skill/Item (Target Specification) + #-------------------------------------------------------------------------- + def evaluate_item_with_target(target) + target.result.clear + target.make_damage_value(subject, item) + if item.for_opponent? + return target.result.hp_damage.to_f / [target.hp, 1].max + else + recovery = [-target.result.hp_damage, target.mhp - target.hp].min + return recovery.to_f / target.mhp + end + end +end diff --git a/Scripts/RPG/Game_ActionResult.rb b/Scripts/RPG/Game_ActionResult.rb new file mode 100644 index 0000000..d18f6ca --- /dev/null +++ b/Scripts/RPG/Game_ActionResult.rb @@ -0,0 +1,160 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_ActionResult +#------------------------------------------------------------------------------ +# This class handles the results of battle actions. It is used internally for +# the Game_Battler class. +#============================================================================== + +class Game_ActionResult + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_accessor :used # used flag + attr_accessor :missed # missed flag + attr_accessor :evaded # evaded flag + attr_accessor :critical # critical flag + attr_accessor :success # success flag + attr_accessor :hp_damage # HP damage + attr_accessor :mp_damage # MP damage + attr_accessor :tp_damage # TP damage + attr_accessor :hp_drain # HP drain + attr_accessor :mp_drain # MP drain + attr_accessor :added_states # added states + attr_accessor :removed_states # removed states + attr_accessor :added_buffs # added buffs + attr_accessor :added_debuffs # added debuffs + attr_accessor :removed_buffs # removed buffs/debuffs + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(battler) + @battler = battler + clear + end + #-------------------------------------------------------------------------- + # * Clear + #-------------------------------------------------------------------------- + def clear + clear_hit_flags + clear_damage_values + clear_status_effects + end + #-------------------------------------------------------------------------- + # * Clear Hit Flags + #-------------------------------------------------------------------------- + def clear_hit_flags + @used = false + @missed = false + @evaded = false + @critical = false + @success = false + end + #-------------------------------------------------------------------------- + # * Clear Damage Values + #-------------------------------------------------------------------------- + def clear_damage_values + @hp_damage = 0 + @mp_damage = 0 + @tp_damage = 0 + @hp_drain = 0 + @mp_drain = 0 + end + #-------------------------------------------------------------------------- + # * Create Damage + #-------------------------------------------------------------------------- + def make_damage(value, item) + @critical = false if value == 0 + @hp_damage = value if item.damage.to_hp? + @mp_damage = value if item.damage.to_mp? + @mp_damage = [@battler.mp, @mp_damage].min + @hp_drain = @hp_damage if item.damage.drain? + @mp_drain = @mp_damage if item.damage.drain? + @hp_drain = [@battler.hp, @hp_drain].min + @success = true if item.damage.to_hp? || @mp_damage != 0 + end + #-------------------------------------------------------------------------- + # * Clear Status Effects + #-------------------------------------------------------------------------- + def clear_status_effects + @added_states = [] + @removed_states = [] + @added_buffs = [] + @added_debuffs = [] + @removed_buffs = [] + end + #-------------------------------------------------------------------------- + # * Get Added States as an Object Array + #-------------------------------------------------------------------------- + def added_state_objects + @added_states.collect {|id| $data_states[id] } + end + #-------------------------------------------------------------------------- + # * Get Removed States as an Object Array + #-------------------------------------------------------------------------- + def removed_state_objects + @removed_states.collect {|id| $data_states[id] } + end + #-------------------------------------------------------------------------- + # * Determine Whether Some Sort of Status (Parameter or State) Was Affected + #-------------------------------------------------------------------------- + def status_affected? + !(@added_states.empty? && @removed_states.empty? && + @added_buffs.empty? && @added_debuffs.empty? && @removed_buffs.empty?) + end + #-------------------------------------------------------------------------- + # * Determine Final Hit + #-------------------------------------------------------------------------- + def hit? + @used && !@missed && !@evaded + end + #-------------------------------------------------------------------------- + # * Get Text for HP Damage + #-------------------------------------------------------------------------- + def hp_damage_text + if @hp_drain > 0 + fmt = @battler.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain + sprintf(fmt, @battler.name, Vocab::hp, @hp_drain) + elsif @hp_damage > 0 + fmt = @battler.actor? ? Vocab::ActorDamage : Vocab::EnemyDamage + sprintf(fmt, @battler.name, @hp_damage) + elsif @hp_damage < 0 + fmt = @battler.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery + sprintf(fmt, @battler.name, Vocab::hp, -hp_damage) + else + fmt = @battler.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage + sprintf(fmt, @battler.name) + end + end + #-------------------------------------------------------------------------- + # * Get Text for MP Damage + #-------------------------------------------------------------------------- + def mp_damage_text + if @mp_drain > 0 + fmt = @battler.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain + sprintf(fmt, @battler.name, Vocab::mp, @mp_drain) + elsif @mp_damage > 0 + fmt = @battler.actor? ? Vocab::ActorLoss : Vocab::EnemyLoss + sprintf(fmt, @battler.name, Vocab::mp, @mp_damage) + elsif @mp_damage < 0 + fmt = @battler.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery + sprintf(fmt, @battler.name, Vocab::mp, -@mp_damage) + else + "" + end + end + #-------------------------------------------------------------------------- + # * Get Text for TP Damage + #-------------------------------------------------------------------------- + def tp_damage_text + if @tp_damage > 0 + fmt = @battler.actor? ? Vocab::ActorLoss : Vocab::EnemyLoss + sprintf(fmt, @battler.name, Vocab::tp, @tp_damage) + elsif @tp_damage < 0 + fmt = @battler.actor? ? Vocab::ActorGain : Vocab::EnemyGain + sprintf(fmt, @battler.name, Vocab::tp, -@tp_damage) + else + "" + end + end +end diff --git a/Scripts/RPG/Game_Actor.rb b/Scripts/RPG/Game_Actor.rb new file mode 100644 index 0000000..b6d5f94 --- /dev/null +++ b/Scripts/RPG/Game_Actor.rb @@ -0,0 +1,697 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Actor +#------------------------------------------------------------------------------ +# This class handles actors. It is used within the Game_Actors class +# ($game_actors) and is also referenced from the Game_Party class ($game_party). +#============================================================================== + +class Game_Actor < Game_Battler + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_accessor :name # Name + attr_accessor :nickname # Nickname + attr_reader :character_name # character graphic filename + attr_reader :character_index # character graphic index + attr_reader :face_name # face graphic filename + attr_reader :face_index # face graphic index + attr_reader :class_id # class ID + attr_reader :level # level + attr_reader :action_input_index # action number being input + attr_reader :last_skill # For cursor memorization: Skill + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(actor_id) + super() + setup(actor_id) + @last_skill = Game_BaseItem.new + end + #-------------------------------------------------------------------------- + # * Setup + #-------------------------------------------------------------------------- + def setup(actor_id) + @actor_id = actor_id + @name = actor.name + @nickname = actor.nickname + init_graphics + @class_id = actor.class_id + @level = actor.initial_level + @exp = {} + @equips = [] + init_exp + init_skills + init_equips(actor.equips) + clear_param_plus + recover_all + end + #-------------------------------------------------------------------------- + # * Get Actor Object + #-------------------------------------------------------------------------- + def actor + $data_actors[@actor_id] + end + #-------------------------------------------------------------------------- + # * Initialize Graphics + #-------------------------------------------------------------------------- + def init_graphics + @character_name = actor.character_name + @character_index = actor.character_index + @face_name = actor.face_name + @face_index = actor.face_index + end + #-------------------------------------------------------------------------- + # * Get Total EXP Required for Rising to Specified Level + #-------------------------------------------------------------------------- + def exp_for_level(level) + self.class.exp_for_level(level) + end + #-------------------------------------------------------------------------- + # * Initialize EXP + #-------------------------------------------------------------------------- + def init_exp + @exp[@class_id] = current_level_exp + end + #-------------------------------------------------------------------------- + # * Get Experience + #-------------------------------------------------------------------------- + def exp + @exp[@class_id] + end + #-------------------------------------------------------------------------- + # * Get Minimum EXP for Current Level + #-------------------------------------------------------------------------- + def current_level_exp + exp_for_level(@level) + end + #-------------------------------------------------------------------------- + # * Get EXP for Next Level + #-------------------------------------------------------------------------- + def next_level_exp + exp_for_level(@level + 1) + end + #-------------------------------------------------------------------------- + # * Maximum Level + #-------------------------------------------------------------------------- + def max_level + actor.max_level + end + #-------------------------------------------------------------------------- + # * Determine Maximum Level + #-------------------------------------------------------------------------- + def max_level? + @level >= max_level + end + #-------------------------------------------------------------------------- + # * Initialize Skills + #-------------------------------------------------------------------------- + def init_skills + @skills = [] + self.class.learnings.each do |learning| + learn_skill(learning.skill_id) if learning.level <= @level + end + end + #-------------------------------------------------------------------------- + # * Initialize Equipment + # equips: An array of initial equipment + #-------------------------------------------------------------------------- + def init_equips(equips) + @equips = Array.new(equip_slots.size) { Game_BaseItem.new } + equips.each_with_index do |item_id, i| + etype_id = index_to_etype_id(i) + slot_id = empty_slot(etype_id) + @equips[slot_id].set_equip(etype_id == 0, item_id) if slot_id + end + refresh + end + #-------------------------------------------------------------------------- + # * Convert Index Set by Editor to Equipment Type ID + #-------------------------------------------------------------------------- + def index_to_etype_id(index) + index == 1 && dual_wield? ? 0 : index + end + #-------------------------------------------------------------------------- + # * Convert from Equipment Type to List of Slot IDs + #-------------------------------------------------------------------------- + def slot_list(etype_id) + result = [] + equip_slots.each_with_index {|e, i| result.push(i) if e == etype_id } + result + end + #-------------------------------------------------------------------------- + # * Convert from Equipment Type to Slot ID (Empty Take Precedence) + #-------------------------------------------------------------------------- + def empty_slot(etype_id) + list = slot_list(etype_id) + list.find {|i| @equips[i].is_nil? } || list[0] + end + #-------------------------------------------------------------------------- + # * Get Equipment Slot Array + #-------------------------------------------------------------------------- + def equip_slots + return [0,0,2,3,4] if dual_wield? # Dual wield + return [0,1,2,3,4] # Normal + end + #-------------------------------------------------------------------------- + # * Get Weapon Object Array + #-------------------------------------------------------------------------- + def weapons + @equips.select {|item| item.is_weapon? }.collect {|item| item.object } + end + #-------------------------------------------------------------------------- + # * Get Armor Object Array + #-------------------------------------------------------------------------- + def armors + @equips.select {|item| item.is_armor? }.collect {|item| item.object } + end + #-------------------------------------------------------------------------- + # * Get Equipped Item Object Array + #-------------------------------------------------------------------------- + def equips + @equips.collect {|item| item.object } + end + #-------------------------------------------------------------------------- + # * Determine if Equipment Change Possible + # slot_id: Equipment slot ID + #-------------------------------------------------------------------------- + def equip_change_ok?(slot_id) + return false if equip_type_fixed?(equip_slots[slot_id]) + return false if equip_type_sealed?(equip_slots[slot_id]) + return true + end + #-------------------------------------------------------------------------- + # * Change Equipment + # slot_id: Equipment slot ID + # item: Weapon/armor (remove equipment if nil) + #-------------------------------------------------------------------------- + def change_equip(slot_id, item) + return unless trade_item_with_party(item, equips[slot_id]) + return if item && equip_slots[slot_id] != item.etype_id + @equips[slot_id].object = item + refresh + end + #-------------------------------------------------------------------------- + # * Forcibly Change Equipment + # slot_id: Equipment slot ID + # item: Weapon/armor (remove equipment if nil) + #-------------------------------------------------------------------------- + def force_change_equip(slot_id, item) + @equips[slot_id].object = item + release_unequippable_items(false) + refresh + end + #-------------------------------------------------------------------------- + # * Trade Item with Party + # new_item: Item to get from party + # old_item: Item to give to party + #-------------------------------------------------------------------------- + def trade_item_with_party(new_item, old_item) + return false if new_item && !$game_party.has_item?(new_item) + $game_party.gain_item(old_item, 1) + $game_party.lose_item(new_item, 1) + return true + end + #-------------------------------------------------------------------------- + # * Change Equipment (Specify with ID) + # slot_id: Equipment slot ID + # item_id: Weapons/armor ID + #-------------------------------------------------------------------------- + def change_equip_by_id(slot_id, item_id) + if equip_slots[slot_id] == 0 + change_equip(slot_id, $data_weapons[item_id]) + else + change_equip(slot_id, $data_armors[item_id]) + end + end + #-------------------------------------------------------------------------- + # * Discard Equipment + # item: Weapon/armor to discard + #-------------------------------------------------------------------------- + def discard_equip(item) + slot_id = equips.index(item) + @equips[slot_id].object = nil if slot_id + end + #-------------------------------------------------------------------------- + # * Remove Equipment that Cannot Be Equipped + # item_gain: Return removed equipment to party. + #-------------------------------------------------------------------------- + def release_unequippable_items(item_gain = true) + loop do + last_equips = equips.dup + @equips.each_with_index do |item, i| + if !equippable?(item.object) || item.object.etype_id != equip_slots[i] + trade_item_with_party(nil, item.object) if item_gain + item.object = nil + end + end + return if equips == last_equips + end + end + #-------------------------------------------------------------------------- + # * Remove All Equipment + #-------------------------------------------------------------------------- + def clear_equipments + equip_slots.size.times do |i| + change_equip(i, nil) if equip_change_ok?(i) + end + end + #-------------------------------------------------------------------------- + # * Ultimate Equipment + #-------------------------------------------------------------------------- + def optimize_equipments + clear_equipments + equip_slots.size.times do |i| + next if !equip_change_ok?(i) + items = $game_party.equip_items.select do |item| + item.etype_id == equip_slots[i] && + equippable?(item) && item.performance >= 0 + end + change_equip(i, items.max_by {|item| item.performance }) + end + end + #-------------------------------------------------------------------------- + # * Determine if Skill-Required Weapon Is Equipped + #-------------------------------------------------------------------------- + def skill_wtype_ok?(skill) + wtype_id1 = skill.required_wtype_id1 + wtype_id2 = skill.required_wtype_id2 + return true if wtype_id1 == 0 && wtype_id2 == 0 + return true if wtype_id1 > 0 && wtype_equipped?(wtype_id1) + return true if wtype_id2 > 0 && wtype_equipped?(wtype_id2) + return false + end + #-------------------------------------------------------------------------- + # * Determine if Specific Type of Weapon Is Equipped + #-------------------------------------------------------------------------- + def wtype_equipped?(wtype_id) + weapons.any? {|weapon| weapon.wtype_id == wtype_id } + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + release_unequippable_items + super + end + #-------------------------------------------------------------------------- + # * Determine if Actor or Not + #-------------------------------------------------------------------------- + def actor? + return true + end + #-------------------------------------------------------------------------- + # * Get Allied Units + #-------------------------------------------------------------------------- + def friends_unit + $game_party + end + #-------------------------------------------------------------------------- + # * Get Enemy Units + #-------------------------------------------------------------------------- + def opponents_unit + $game_troop + end + #-------------------------------------------------------------------------- + # * Get Actor ID + #-------------------------------------------------------------------------- + def id + @actor_id + end + #-------------------------------------------------------------------------- + # * Get Index + #-------------------------------------------------------------------------- + def index + $game_party.members.index(self) + end + #-------------------------------------------------------------------------- + # * Determine Battle Members + #-------------------------------------------------------------------------- + def battle_member? + $game_party.battle_members.include?(self) + end + #-------------------------------------------------------------------------- + # * Get Class Object + #-------------------------------------------------------------------------- + def class + $data_classes[@class_id] + end + #-------------------------------------------------------------------------- + # * Get Skill Object Array + #-------------------------------------------------------------------------- + def skills + (@skills | added_skills).sort.collect {|id| $data_skills[id] } + end + #-------------------------------------------------------------------------- + # * Get Array of Currently Usable Skills + #-------------------------------------------------------------------------- + def usable_skills + skills.select {|skill| usable?(skill) } + end + #-------------------------------------------------------------------------- + # * Get Array of All Objects Retaining Features + #-------------------------------------------------------------------------- + def feature_objects + super + [actor] + [self.class] + equips.compact + end + #-------------------------------------------------------------------------- + # * Get Attack Element + #-------------------------------------------------------------------------- + def atk_elements + set = super + set |= [1] if weapons.compact.empty? # Unarmed: Physical element + return set + end + #-------------------------------------------------------------------------- + # * Get Maximum Value of Parameter + #-------------------------------------------------------------------------- + def param_max(param_id) + return 9999 if param_id == 0 # MHP + return super + end + #-------------------------------------------------------------------------- + # * Get Base Value of Parameter + #-------------------------------------------------------------------------- + def param_base(param_id) + self.class.params[param_id, @level] + end + #-------------------------------------------------------------------------- + # * Get Added Value of Parameter + #-------------------------------------------------------------------------- + def param_plus(param_id) + equips.compact.inject(super) {|r, item| r += item.params[param_id] } + end + #-------------------------------------------------------------------------- + # * Get Normal Attack Animation ID + #-------------------------------------------------------------------------- + def atk_animation_id1 + if dual_wield? + return weapons[0].animation_id if weapons[0] + return weapons[1] ? 0 : 1 + else + return weapons[0] ? weapons[0].animation_id : 1 + end + end + #-------------------------------------------------------------------------- + # * Get Animation ID of Normal Attack (Dual Wield: Weapon 2) + #-------------------------------------------------------------------------- + def atk_animation_id2 + if dual_wield? + return weapons[1] ? weapons[1].animation_id : 0 + else + return 0 + end + end + #-------------------------------------------------------------------------- + # * Change Experience + # show : Level up display flag + #-------------------------------------------------------------------------- + def change_exp(exp, show) + @exp[@class_id] = [exp, 0].max + last_level = @level + last_skills = skills + level_up while !max_level? && self.exp >= next_level_exp + level_down while self.exp < current_level_exp + display_level_up(skills - last_skills) if show && @level > last_level + refresh + end + #-------------------------------------------------------------------------- + # * Get Experience + #-------------------------------------------------------------------------- + def exp + @exp[@class_id] + end + #-------------------------------------------------------------------------- + # * Level Up + #-------------------------------------------------------------------------- + def level_up + @level += 1 + self.class.learnings.each do |learning| + learn_skill(learning.skill_id) if learning.level == @level + end + end + #-------------------------------------------------------------------------- + # * Level Down + #-------------------------------------------------------------------------- + def level_down + @level -= 1 + end + #-------------------------------------------------------------------------- + # * Show Level Up Message + # new_skills : Array of newly learned skills + #-------------------------------------------------------------------------- + def display_level_up(new_skills) + $game_message.new_page + $game_message.add(sprintf(Vocab::LevelUp, @name, Vocab::level, @level)) + new_skills.each do |skill| + $game_message.add(sprintf(Vocab::ObtainSkill, skill.name)) + end + end + #-------------------------------------------------------------------------- + # * Get EXP (Account for Experience Rate) + #-------------------------------------------------------------------------- + def gain_exp(exp) + change_exp(self.exp + (exp * final_exp_rate).to_i, true) + end + #-------------------------------------------------------------------------- + # * Calculate Final EXP Rate + #-------------------------------------------------------------------------- + def final_exp_rate + exr * (battle_member? ? 1 : reserve_members_exp_rate) + end + #-------------------------------------------------------------------------- + # * Get EXP Rate for Reserve Members + #-------------------------------------------------------------------------- + def reserve_members_exp_rate + $data_system.opt_extra_exp ? 1 : 0 + end + #-------------------------------------------------------------------------- + # * Change Level + # show : Level up display flag + #-------------------------------------------------------------------------- + def change_level(level, show) + level = [[level, max_level].min, 1].max + change_exp(exp_for_level(level), show) + end + #-------------------------------------------------------------------------- + # * Learn Skill + #-------------------------------------------------------------------------- + def learn_skill(skill_id) + unless skill_learn?($data_skills[skill_id]) + @skills.push(skill_id) + @skills.sort! + end + end + #-------------------------------------------------------------------------- + # * Forget Skill + #-------------------------------------------------------------------------- + def forget_skill(skill_id) + @skills.delete(skill_id) + end + #-------------------------------------------------------------------------- + # * Determine if Skill Is Already Learned + #-------------------------------------------------------------------------- + def skill_learn?(skill) + skill.is_a?(RPG::Skill) && @skills.include?(skill.id) + end + #-------------------------------------------------------------------------- + # * Get Description + #-------------------------------------------------------------------------- + def description + actor.description + end + #-------------------------------------------------------------------------- + # * Change Class + # keep_exp: Keep EXP + #-------------------------------------------------------------------------- + def change_class(class_id, keep_exp = false) + @exp[class_id] = exp if keep_exp + @class_id = class_id + change_exp(@exp[@class_id] || 0, false) + refresh + end + #-------------------------------------------------------------------------- + # * Change Graphics + #-------------------------------------------------------------------------- + def set_graphic(character_name, character_index, face_name, face_index) + @character_name = character_name + @character_index = character_index + @face_name = face_name + @face_index = face_index + end + #-------------------------------------------------------------------------- + # * Use Sprites? + #-------------------------------------------------------------------------- + def use_sprite? + return false + end + #-------------------------------------------------------------------------- + # * Execute Damage Effect + #-------------------------------------------------------------------------- + def perform_damage_effect + $game_troop.screen.start_shake(5, 5, 10) + @sprite_effect_type = :blink + Sound.play_actor_damage + end + #-------------------------------------------------------------------------- + # * Execute Collapse Effect + #-------------------------------------------------------------------------- + def perform_collapse_effect + if $game_party.in_battle + @sprite_effect_type = :collapse + Sound.play_actor_collapse + end + end + #-------------------------------------------------------------------------- + # * Create Action Candidate List for Auto Battle + #-------------------------------------------------------------------------- + def make_action_list + list = [] + list.push(Game_Action.new(self).set_attack.evaluate) + usable_skills.each do |skill| + list.push(Game_Action.new(self).set_skill(skill.id).evaluate) + end + list + end + #-------------------------------------------------------------------------- + # * Create Action During Auto Battle + #-------------------------------------------------------------------------- + def make_auto_battle_actions + @actions.size.times do |i| + @actions[i] = make_action_list.max_by {|action| action.value } + end + end + #-------------------------------------------------------------------------- + # * Create Action During Confusion + #-------------------------------------------------------------------------- + def make_confusion_actions + @actions.size.times do |i| + @actions[i].set_confusion + end + end + #-------------------------------------------------------------------------- + # * Create Battle Action + #-------------------------------------------------------------------------- + def make_actions + super + if auto_battle? + make_auto_battle_actions + elsif confusion? + make_confusion_actions + end + end + #-------------------------------------------------------------------------- + # * Processing Performed When Player Takes 1 Step + #-------------------------------------------------------------------------- + def on_player_walk + @result.clear + check_floor_effect + if $game_player.normal_walk? + turn_end_on_map + states.each {|state| update_state_steps(state) } + show_added_states + show_removed_states + end + end + #-------------------------------------------------------------------------- + # * Update Step Count for State + #-------------------------------------------------------------------------- + def update_state_steps(state) + if state.remove_by_walking + @state_steps[state.id] -= 1 if @state_steps[state.id] > 0 + remove_state(state.id) if @state_steps[state.id] == 0 + end + end + #-------------------------------------------------------------------------- + # * Show Added State + #-------------------------------------------------------------------------- + def show_added_states + @result.added_state_objects.each do |state| + $game_message.add(name + state.message1) unless state.message1.empty? + end + end + #-------------------------------------------------------------------------- + # * Show Removed State + #-------------------------------------------------------------------------- + def show_removed_states + @result.removed_state_objects.each do |state| + $game_message.add(name + state.message4) unless state.message4.empty? + end + end + #-------------------------------------------------------------------------- + # * Number of Steps Regarded as One Turn in Battle + #-------------------------------------------------------------------------- + def steps_for_turn + return 20 + end + #-------------------------------------------------------------------------- + # * End of Turn Processing on Map Screen + #-------------------------------------------------------------------------- + def turn_end_on_map + if $game_party.steps % steps_for_turn == 0 + on_turn_end + perform_map_damage_effect if @result.hp_damage > 0 + end + end + #-------------------------------------------------------------------------- + # * Determine Floor Effect + #-------------------------------------------------------------------------- + def check_floor_effect + execute_floor_damage if $game_player.on_damage_floor? + end + #-------------------------------------------------------------------------- + # * Floor Damage Processing + #-------------------------------------------------------------------------- + def execute_floor_damage + damage = (basic_floor_damage * fdr).to_i + self.hp -= [damage, max_floor_damage].min + perform_map_damage_effect if damage > 0 + end + #-------------------------------------------------------------------------- + # * Get Base Value for Floor Damage + #-------------------------------------------------------------------------- + def basic_floor_damage + return 10 + end + #-------------------------------------------------------------------------- + # * Get Maximum Value for Floor Damage + #-------------------------------------------------------------------------- + def max_floor_damage + $data_system.opt_floor_death ? hp : [hp - 1, 0].max + end + #-------------------------------------------------------------------------- + # * Execute Damage Effect on Map + #-------------------------------------------------------------------------- + def perform_map_damage_effect + $game_map.screen.start_flash_for_damage + end + #-------------------------------------------------------------------------- + # * Clear Actions + #-------------------------------------------------------------------------- + def clear_actions + super + @action_input_index = 0 + end + #-------------------------------------------------------------------------- + # * Get Action Being Input + #-------------------------------------------------------------------------- + def input + @actions[@action_input_index] + end + #-------------------------------------------------------------------------- + # * To Next Command Input + #-------------------------------------------------------------------------- + def next_command + return false if @action_input_index >= @actions.size - 1 + @action_input_index += 1 + return true + end + #-------------------------------------------------------------------------- + # * To Previous Command Input + #-------------------------------------------------------------------------- + def prior_command + return false if @action_input_index <= 0 + @action_input_index -= 1 + return true + end +end diff --git a/Scripts/RPG/Game_Actors.rb b/Scripts/RPG/Game_Actors.rb new file mode 100644 index 0000000..b9c0cf9 --- /dev/null +++ b/Scripts/RPG/Game_Actors.rb @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Actors +#------------------------------------------------------------------------------ +# This is a wrapper for an actor array. Instances of this class are referenced +# by $game_actors. +#============================================================================== + +class Game_Actors + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @data = [] + end + #-------------------------------------------------------------------------- + # * Get Actor + #-------------------------------------------------------------------------- + def [](actor_id) + return nil unless $data_actors[actor_id] + @data[actor_id] ||= Game_Actor.new(actor_id) + end +end diff --git a/Scripts/RPG/Game_BaseItem.rb b/Scripts/RPG/Game_BaseItem.rb new file mode 100644 index 0000000..c4b9f58 --- /dev/null +++ b/Scripts/RPG/Game_BaseItem.rb @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_BaseItem +#------------------------------------------------------------------------------ +# This class uniformly handles skills, items, weapons, and armor. References +# to the database object itself are not retained to enable inclusion in save +# data. +#============================================================================== + +class Game_BaseItem + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @class = nil + @item_id = 0 + end + #-------------------------------------------------------------------------- + # * Determine Class + #-------------------------------------------------------------------------- + def is_skill?; @class == RPG::Skill; end + def is_item?; @class == RPG::Item; end + def is_weapon?; @class == RPG::Weapon; end + def is_armor?; @class == RPG::Armor; end + def is_nil?; @class == nil; end + #-------------------------------------------------------------------------- + # * Get Item Object + #-------------------------------------------------------------------------- + def object + return $data_skills[@item_id] if is_skill? + return $data_items[@item_id] if is_item? + return $data_weapons[@item_id] if is_weapon? + return $data_armors[@item_id] if is_armor? + return nil + end + #-------------------------------------------------------------------------- + # * Set Item Object + #-------------------------------------------------------------------------- + def object=(item) + @class = item ? item.class : nil + @item_id = item ? item.id : 0 + end + #-------------------------------------------------------------------------- + # * Set Equipment with ID + # is_weapon: Whether it is a weapon + # item_id: Weapon/armor ID + #-------------------------------------------------------------------------- + def set_equip(is_weapon, item_id) + @class = is_weapon ? RPG::Weapon : RPG::Armor + @item_id = item_id + end +end diff --git a/Scripts/RPG/Game_Battler.rb b/Scripts/RPG/Game_Battler.rb new file mode 100644 index 0000000..00babb3 --- /dev/null +++ b/Scripts/RPG/Game_Battler.rb @@ -0,0 +1,825 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Battler +#------------------------------------------------------------------------------ +# A battler class with methods for sprites and actions added. This class +# is used as a super class of the Game_Actor class and Game_Enemy class. +#============================================================================== + +class Game_Battler < Game_BattlerBase + #-------------------------------------------------------------------------- + # * Constants (Effects) + #-------------------------------------------------------------------------- + EFFECT_RECOVER_HP = 11 # HP Recovery + EFFECT_RECOVER_MP = 12 # MP Recovery + EFFECT_GAIN_TP = 13 # TP Gain + EFFECT_ADD_STATE = 21 # Add State + EFFECT_REMOVE_STATE = 22 # Remove State + EFFECT_ADD_BUFF = 31 # Add Buff + EFFECT_ADD_DEBUFF = 32 # Add Debuff + EFFECT_REMOVE_BUFF = 33 # Remove Buff + EFFECT_REMOVE_DEBUFF = 34 # Remove Debuff + EFFECT_SPECIAL = 41 # Special Effect + EFFECT_GROW = 42 # Raise Parameter + EFFECT_LEARN_SKILL = 43 # Learn Skill + EFFECT_COMMON_EVENT = 44 # Common Events + #-------------------------------------------------------------------------- + # * Constants (Special Effects) + #-------------------------------------------------------------------------- + SPECIAL_EFFECT_ESCAPE = 0 # Escape + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :battler_name # battle graphic filename + attr_reader :battler_hue # battle graphic hue + attr_reader :action_times # action times + attr_reader :actions # combat actions (action side) + attr_reader :speed # action speed + attr_reader :result # action result (target side) + attr_accessor :last_target_index # last target + attr_accessor :animation_id # animation ID + attr_accessor :animation_mirror # animation flip horizontal flag + attr_accessor :sprite_effect_type # sprite effect + attr_accessor :magic_reflection # reflection flag + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @battler_name = "" + @battler_hue = 0 + @actions = [] + @speed = 0 + @result = Game_ActionResult.new(self) + @last_target_index = 0 + @guarding = false + clear_sprite_effects + super + end + #-------------------------------------------------------------------------- + # * Clear Sprite Effects + #-------------------------------------------------------------------------- + def clear_sprite_effects + @animation_id = 0 + @animation_mirror = false + @sprite_effect_type = nil + end + #-------------------------------------------------------------------------- + # * Clear Actions + #-------------------------------------------------------------------------- + def clear_actions + @actions.clear + end + #-------------------------------------------------------------------------- + # * Clear State Information + #-------------------------------------------------------------------------- + def clear_states + super + @result.clear_status_effects + end + #-------------------------------------------------------------------------- + # * Add State + #-------------------------------------------------------------------------- + def add_state(state_id) + if state_addable?(state_id) + add_new_state(state_id) unless state?(state_id) + reset_state_counts(state_id) + @result.added_states.push(state_id).uniq! + end + end + #-------------------------------------------------------------------------- + # * Determine if States Are Addable + #-------------------------------------------------------------------------- + def state_addable?(state_id) + alive? && $data_states[state_id] && !state_resist?(state_id) && + !state_removed?(state_id) && !state_restrict?(state_id) + end + #-------------------------------------------------------------------------- + # * Determine States Removed During Same Action + #-------------------------------------------------------------------------- + def state_removed?(state_id) + @result.removed_states.include?(state_id) + end + #-------------------------------------------------------------------------- + # * Determine States Removed by Action Restriction + #-------------------------------------------------------------------------- + def state_restrict?(state_id) + $data_states[state_id].remove_by_restriction && restriction > 0 + end + #-------------------------------------------------------------------------- + # * Add New State + #-------------------------------------------------------------------------- + def add_new_state(state_id) + die if state_id == death_state_id + @states.push(state_id) + on_restrict if restriction > 0 + sort_states + refresh + end + #-------------------------------------------------------------------------- + # * Processing Performed When Action Restriction Occurs + #-------------------------------------------------------------------------- + def on_restrict + clear_actions + states.each do |state| + remove_state(state.id) if state.remove_by_restriction + end + end + #-------------------------------------------------------------------------- + # * Reset State Counts (Turns and Steps) + #-------------------------------------------------------------------------- + def reset_state_counts(state_id) + state = $data_states[state_id] + variance = 1 + [state.max_turns - state.min_turns, 0].max + @state_turns[state_id] = state.min_turns + rand(variance) + @state_steps[state_id] = state.steps_to_remove + end + #-------------------------------------------------------------------------- + # * Remove State + #-------------------------------------------------------------------------- + def remove_state(state_id) + if state?(state_id) + revive if state_id == death_state_id + erase_state(state_id) + refresh + @result.removed_states.push(state_id).uniq! + end + end + #-------------------------------------------------------------------------- + # * Knock Out + #-------------------------------------------------------------------------- + def die + @hp = 0 + clear_states + clear_buffs + end + #-------------------------------------------------------------------------- + # * Revive from Knock Out + #-------------------------------------------------------------------------- + def revive + @hp = 1 if @hp == 0 + end + #-------------------------------------------------------------------------- + # * Escape + #-------------------------------------------------------------------------- + def escape + hide if $game_party.in_battle + clear_actions + clear_states + Sound.play_escape + end + #-------------------------------------------------------------------------- + # * Add Buff + #-------------------------------------------------------------------------- + def add_buff(param_id, turns) + return unless alive? + @buffs[param_id] += 1 unless buff_max?(param_id) + erase_buff(param_id) if debuff?(param_id) + overwrite_buff_turns(param_id, turns) + @result.added_buffs.push(param_id).uniq! + refresh + end + #-------------------------------------------------------------------------- + # * Add Debuff + #-------------------------------------------------------------------------- + def add_debuff(param_id, turns) + return unless alive? + @buffs[param_id] -= 1 unless debuff_max?(param_id) + erase_buff(param_id) if buff?(param_id) + overwrite_buff_turns(param_id, turns) + @result.added_debuffs.push(param_id).uniq! + refresh + end + #-------------------------------------------------------------------------- + # * Remove Buff/Debuff + #-------------------------------------------------------------------------- + def remove_buff(param_id) + return unless alive? + return if @buffs[param_id] == 0 + erase_buff(param_id) + @buff_turns.delete(param_id) + @result.removed_buffs.push(param_id).uniq! + refresh + end + #-------------------------------------------------------------------------- + # * Erase Buff/Debuff + #-------------------------------------------------------------------------- + def erase_buff(param_id) + @buffs[param_id] = 0 + @buff_turns[param_id] = 0 + end + #-------------------------------------------------------------------------- + # * Determine Buff Status + #-------------------------------------------------------------------------- + def buff?(param_id) + @buffs[param_id] > 0 + end + #-------------------------------------------------------------------------- + # * Determine Debuff Status + #-------------------------------------------------------------------------- + def debuff?(param_id) + @buffs[param_id] < 0 + end + #-------------------------------------------------------------------------- + # * Determine if Buff Is at Maximum Level + #-------------------------------------------------------------------------- + def buff_max?(param_id) + @buffs[param_id] == 2 + end + #-------------------------------------------------------------------------- + # * Determine if Debuff Is at Maximum Level + #-------------------------------------------------------------------------- + def debuff_max?(param_id) + @buffs[param_id] == -2 + end + #-------------------------------------------------------------------------- + # * Overwrite Buff/Debuff Turns + # Doesn't overwrite if number of turns would become shorter. + #-------------------------------------------------------------------------- + def overwrite_buff_turns(param_id, turns) + @buff_turns[param_id] = turns if @buff_turns[param_id].to_i < turns + end + #-------------------------------------------------------------------------- + # * Update State Turn Count + #-------------------------------------------------------------------------- + def update_state_turns + states.each do |state| + @state_turns[state.id] -= 1 if @state_turns[state.id] > 0 + end + end + #-------------------------------------------------------------------------- + # * Update Buff/Debuff Turn Count + #-------------------------------------------------------------------------- + def update_buff_turns + @buff_turns.keys.each do |param_id| + @buff_turns[param_id] -= 1 if @buff_turns[param_id] > 0 + end + end + #-------------------------------------------------------------------------- + # * Remove Battle States + #-------------------------------------------------------------------------- + def remove_battle_states + states.each do |state| + remove_state(state.id) if state.remove_at_battle_end + end + end + #-------------------------------------------------------------------------- + # * Remove All Buffs/Debuffs + #-------------------------------------------------------------------------- + def remove_all_buffs + @buffs.size.times {|param_id| remove_buff(param_id) } + end + #-------------------------------------------------------------------------- + # * Automatically Remove States + # timing: Timing (1: End of action 2: End of turn) + #-------------------------------------------------------------------------- + def remove_states_auto(timing) + states.each do |state| + if @state_turns[state.id] == 0 && state.auto_removal_timing == timing + remove_state(state.id) + end + end + end + #-------------------------------------------------------------------------- + # * Automatically Remove Buffs/Debuffs + #-------------------------------------------------------------------------- + def remove_buffs_auto + @buffs.size.times do |param_id| + next if @buffs[param_id] == 0 || @buff_turns[param_id] > 0 + remove_buff(param_id) + end + end + #-------------------------------------------------------------------------- + # * Remove State by Damage + #-------------------------------------------------------------------------- + def remove_states_by_damage + states.each do |state| + if state.remove_by_damage && rand(100) < state.chance_by_damage + remove_state(state.id) + end + end + end + #-------------------------------------------------------------------------- + # * Determine Action Times + #-------------------------------------------------------------------------- + def make_action_times + action_plus_set.inject(1) {|r, p| rand < p ? r + 1 : r } + end + #-------------------------------------------------------------------------- + # * Create Battle Action + #-------------------------------------------------------------------------- + def make_actions + clear_actions + return unless movable? + @actions = Array.new(make_action_times) { Game_Action.new(self) } + end + #-------------------------------------------------------------------------- + # * Determine Action Speed + #-------------------------------------------------------------------------- + def make_speed + @speed = @actions.collect {|action| action.speed }.min || 0 + end + #-------------------------------------------------------------------------- + # * Get Current Action + #-------------------------------------------------------------------------- + def current_action + @actions[0] + end + #-------------------------------------------------------------------------- + # * Remove Current Action + #-------------------------------------------------------------------------- + def remove_current_action + @actions.shift + end + #-------------------------------------------------------------------------- + # * Force Action + #-------------------------------------------------------------------------- + def force_action(skill_id, target_index) + clear_actions + action = Game_Action.new(self, true) + action.set_skill(skill_id) + if target_index == -2 + action.target_index = last_target_index + elsif target_index == -1 + action.decide_random_target + else + action.target_index = target_index + end + @actions.push(action) + end + #-------------------------------------------------------------------------- + # * Calculate Damage + #-------------------------------------------------------------------------- + def make_damage_value(user, item) + value = item.damage.eval(user, self, $game_variables) + value *= item_element_rate(user, item) + value *= pdr if item.physical? + value *= mdr if item.magical? + value *= rec if item.damage.recover? + value = apply_critical(value) if @result.critical + value = apply_variance(value, item.damage.variance) + value = apply_guard(value) + @result.make_damage(value.to_i, item) + end + #-------------------------------------------------------------------------- + # * Get Element Modifier for Skill/Item + #-------------------------------------------------------------------------- + def item_element_rate(user, item) + if item.damage.element_id < 0 + user.atk_elements.empty? ? 1.0 : elements_max_rate(user.atk_elements) + else + element_rate(item.damage.element_id) + end + end + #-------------------------------------------------------------------------- + # * Get Maximum Elemental Adjustment Amount + # elements : An array of attribute IDs + # Returns the most effective adjustment of all elemental alignments. + #-------------------------------------------------------------------------- + def elements_max_rate(elements) + elements.inject([0.0]) {|r, i| r.push(element_rate(i)) }.max + end + #-------------------------------------------------------------------------- + # * Apply Critical + #-------------------------------------------------------------------------- + def apply_critical(damage) + damage * 3 + end + #-------------------------------------------------------------------------- + # * Applying Variance + #-------------------------------------------------------------------------- + def apply_variance(damage, variance) + amp = [damage.abs * variance / 100, 0].max.to_i + var = rand(amp + 1) + rand(amp + 1) - amp + damage >= 0 ? damage + var : damage - var + end + #-------------------------------------------------------------------------- + # * Applying Guard Adjustment + #-------------------------------------------------------------------------- + def apply_guard(damage) + damage / (damage > 0 && guard? ? 2 * grd : 1) + end + #-------------------------------------------------------------------------- + # * Damage Processing + # @result.hp_damage @result.mp_damage @result.hp_drain + # @result.mp_drain must be set before call. + #-------------------------------------------------------------------------- + def execute_damage(user) + on_damage(@result.hp_damage) if @result.hp_damage > 0 + self.hp -= @result.hp_damage + self.mp -= @result.mp_damage + user.hp += @result.hp_drain + user.mp += @result.mp_drain + end + #-------------------------------------------------------------------------- + # * Use Skill/Item + # Called for the acting side and applies the effect to other than the user. + #-------------------------------------------------------------------------- + def use_item(item) + pay_skill_cost(item) if item.is_a?(RPG::Skill) + consume_item(item) if item.is_a?(RPG::Item) + item.effects.each {|effect| item_global_effect_apply(effect) } + end + #-------------------------------------------------------------------------- + # * Consume Items + #-------------------------------------------------------------------------- + def consume_item(item) + $game_party.consume_item(item) + end + #-------------------------------------------------------------------------- + # * Apply Effect of Use to Other Than User + #-------------------------------------------------------------------------- + def item_global_effect_apply(effect) + if effect.code == EFFECT_COMMON_EVENT + $game_temp.reserve_common_event(effect.data_id) + end + end + #-------------------------------------------------------------------------- + # * Test Skill/Item Application + # Used to determine, for example, if a character is already fully healed + # and so cannot recover anymore. + #-------------------------------------------------------------------------- + def item_test(user, item) + return false if item.for_dead_friend? != dead? + return true if $game_party.in_battle + return true if item.for_opponent? + return true if item.damage.recover? && item.damage.to_hp? && hp < mhp + return true if item.damage.recover? && item.damage.to_mp? && mp < mmp + return true if item_has_any_valid_effects?(user, item) + return false + end + #-------------------------------------------------------------------------- + # * Determine if Skill/Item Has Any Valid Effects + #-------------------------------------------------------------------------- + def item_has_any_valid_effects?(user, item) + item.effects.any? {|effect| item_effect_test(user, item, effect) } + end + #-------------------------------------------------------------------------- + # * Calculate Counterattack Rate for Skill/Item + #-------------------------------------------------------------------------- + def item_cnt(user, item) + return 0 unless item.physical? # Hit type is not physical + return 0 unless opposite?(user) # No counterattack on allies + return cnt # Return counterattack rate + end + #-------------------------------------------------------------------------- + # * Calculate Reflection Rate of Skill/Item + #-------------------------------------------------------------------------- + def item_mrf(user, item) + return mrf if item.magical? # Return magic reflection if magic attack + return 0 + end + #-------------------------------------------------------------------------- + # * Calculate Hit Rate of Skill/Item + #-------------------------------------------------------------------------- + def item_hit(user, item) + rate = item.success_rate * 0.01 # Get success rate + rate *= user.hit if item.physical? # Physical attack: Multiply hit rate + return rate # Return calculated hit rate + end + #-------------------------------------------------------------------------- + # * Calculate Evasion Rate for Skill/Item + #-------------------------------------------------------------------------- + def item_eva(user, item) + return eva if item.physical? # Return evasion if physical attack + return mev if item.magical? # Return magic evasion if magic attack + return 0 + end + #-------------------------------------------------------------------------- + # * Calculate Critical Rate of Skill/Item + #-------------------------------------------------------------------------- + def item_cri(user, item) + item.damage.critical ? user.cri * (1 - cev) : 0 + end + #-------------------------------------------------------------------------- + # * Apply Normal Attack Effects + #-------------------------------------------------------------------------- + def attack_apply(attacker) + item_apply(attacker, $data_skills[attacker.attack_skill_id]) + end + #-------------------------------------------------------------------------- + # * Apply Effect of Skill/Item + #-------------------------------------------------------------------------- + def item_apply(user, item) + @result.clear + @result.used = item_test(user, item) + @result.missed = (@result.used && rand >= item_hit(user, item)) + @result.evaded = (!@result.missed && rand < item_eva(user, item)) + if @result.hit? + unless item.damage.none? + @result.critical = (rand < item_cri(user, item)) + make_damage_value(user, item) + execute_damage(user) + end + item.effects.each {|effect| item_effect_apply(user, item, effect) } + item_user_effect(user, item) + end + end + #-------------------------------------------------------------------------- + # * Test Effect + #-------------------------------------------------------------------------- + def item_effect_test(user, item, effect) + case effect.code + when EFFECT_RECOVER_HP + hp < mhp || effect.value1 < 0 || effect.value2 < 0 + when EFFECT_RECOVER_MP + mp < mmp || effect.value1 < 0 || effect.value2 < 0 + when EFFECT_ADD_STATE + !state?(effect.data_id) + when EFFECT_REMOVE_STATE + state?(effect.data_id) + when EFFECT_ADD_BUFF + !buff_max?(effect.data_id) + when EFFECT_ADD_DEBUFF + !debuff_max?(effect.data_id) + when EFFECT_REMOVE_BUFF + buff?(effect.data_id) + when EFFECT_REMOVE_DEBUFF + debuff?(effect.data_id) + when EFFECT_LEARN_SKILL + actor? && !skills.include?($data_skills[effect.data_id]) + else + true + end + end + #-------------------------------------------------------------------------- + # * Apply Effect + #-------------------------------------------------------------------------- + def item_effect_apply(user, item, effect) + method_table = { + EFFECT_RECOVER_HP => :item_effect_recover_hp, + EFFECT_RECOVER_MP => :item_effect_recover_mp, + EFFECT_GAIN_TP => :item_effect_gain_tp, + EFFECT_ADD_STATE => :item_effect_add_state, + EFFECT_REMOVE_STATE => :item_effect_remove_state, + EFFECT_ADD_BUFF => :item_effect_add_buff, + EFFECT_ADD_DEBUFF => :item_effect_add_debuff, + EFFECT_REMOVE_BUFF => :item_effect_remove_buff, + EFFECT_REMOVE_DEBUFF => :item_effect_remove_debuff, + EFFECT_SPECIAL => :item_effect_special, + EFFECT_GROW => :item_effect_grow, + EFFECT_LEARN_SKILL => :item_effect_learn_skill, + EFFECT_COMMON_EVENT => :item_effect_common_event, + } + method_name = method_table[effect.code] + send(method_name, user, item, effect) if method_name + end + #-------------------------------------------------------------------------- + # * [HP Recovery] Effect + #-------------------------------------------------------------------------- + def item_effect_recover_hp(user, item, effect) + value = (mhp * effect.value1 + effect.value2) * rec + value *= user.pha if item.is_a?(RPG::Item) + value = value.to_i + @result.hp_damage -= value + @result.success = true + self.hp += value + end + #-------------------------------------------------------------------------- + # * [MP Recovery] Effect + #-------------------------------------------------------------------------- + def item_effect_recover_mp(user, item, effect) + value = (mmp * effect.value1 + effect.value2) * rec + value *= user.pha if item.is_a?(RPG::Item) + value = value.to_i + @result.mp_damage -= value + @result.success = true if value != 0 + self.mp += value + end + #-------------------------------------------------------------------------- + # * [TP Gain] Effect + #-------------------------------------------------------------------------- + def item_effect_gain_tp(user, item, effect) + value = effect.value1.to_i + @result.tp_damage -= value + @result.success = true if value != 0 + self.tp += value + end + #-------------------------------------------------------------------------- + # * [Add State] Effect + #-------------------------------------------------------------------------- + def item_effect_add_state(user, item, effect) + if effect.data_id == 0 + item_effect_add_state_attack(user, item, effect) + else + item_effect_add_state_normal(user, item, effect) + end + end + #-------------------------------------------------------------------------- + # * [Add State] Effect: Normal Attack + #-------------------------------------------------------------------------- + def item_effect_add_state_attack(user, item, effect) + user.atk_states.each do |state_id| + chance = effect.value1 + chance *= state_rate(state_id) + chance *= user.atk_states_rate(state_id) + chance *= luk_effect_rate(user) + if rand < chance + add_state(state_id) + @result.success = true + end + end + end + #-------------------------------------------------------------------------- + # * [Add State] Effect: Normal + #-------------------------------------------------------------------------- + def item_effect_add_state_normal(user, item, effect) + chance = effect.value1 + chance *= state_rate(effect.data_id) if opposite?(user) + chance *= luk_effect_rate(user) if opposite?(user) + if rand < chance + add_state(effect.data_id) + @result.success = true + end + end + #-------------------------------------------------------------------------- + # * [Remove State] Effect + #-------------------------------------------------------------------------- + def item_effect_remove_state(user, item, effect) + chance = effect.value1 + if rand < chance + remove_state(effect.data_id) + @result.success = true + end + end + #-------------------------------------------------------------------------- + # * [Buff] Effect + #-------------------------------------------------------------------------- + def item_effect_add_buff(user, item, effect) + add_buff(effect.data_id, effect.value1) + @result.success = true + end + #-------------------------------------------------------------------------- + # * [Debuff] Effect + #-------------------------------------------------------------------------- + def item_effect_add_debuff(user, item, effect) + chance = debuff_rate(effect.data_id) * luk_effect_rate(user) + if rand < chance + add_debuff(effect.data_id, effect.value1) + @result.success = true + end + end + #-------------------------------------------------------------------------- + # * [Remove Buff] Effect + #-------------------------------------------------------------------------- + def item_effect_remove_buff(user, item, effect) + remove_buff(effect.data_id) if @buffs[effect.data_id] > 0 + @result.success = true + end + #-------------------------------------------------------------------------- + # * [Remove Debuff] Effect + #-------------------------------------------------------------------------- + def item_effect_remove_debuff(user, item, effect) + remove_buff(effect.data_id) if @buffs[effect.data_id] < 0 + @result.success = true + end + #-------------------------------------------------------------------------- + # * [Special Effect] Effect + #-------------------------------------------------------------------------- + def item_effect_special(user, item, effect) + case effect.data_id + when SPECIAL_EFFECT_ESCAPE + escape + end + @result.success = true + end + #-------------------------------------------------------------------------- + # * [Raise Parameter] Effect + #-------------------------------------------------------------------------- + def item_effect_grow(user, item, effect) + add_param(effect.data_id, effect.value1.to_i) + @result.success = true + end + #-------------------------------------------------------------------------- + # * [Learn Skill] Effect + #-------------------------------------------------------------------------- + def item_effect_learn_skill(user, item, effect) + learn_skill(effect.data_id) if actor? + @result.success = true + end + #-------------------------------------------------------------------------- + # * [Common Event] Effect + #-------------------------------------------------------------------------- + def item_effect_common_event(user, item, effect) + end + #-------------------------------------------------------------------------- + # * Effect of Skill/Item on Using Side + #-------------------------------------------------------------------------- + def item_user_effect(user, item) + user.tp += item.tp_gain * user.tcr + end + #-------------------------------------------------------------------------- + # * Get Effect Change Rate by Luck + #-------------------------------------------------------------------------- + def luk_effect_rate(user) + [1.0 + (user.luk - luk) * 0.001, 0.0].max + end + #-------------------------------------------------------------------------- + # * Determine if Hostile Relation + #-------------------------------------------------------------------------- + def opposite?(battler) + actor? != battler.actor? || battler.magic_reflection + end + #-------------------------------------------------------------------------- + # * Effect When Taking Damage on Map + #-------------------------------------------------------------------------- + def perform_map_damage_effect + end + #-------------------------------------------------------------------------- + # * Initialize TP + #-------------------------------------------------------------------------- + def init_tp + self.tp = rand * 25 + end + #-------------------------------------------------------------------------- + # * Clear TP + #-------------------------------------------------------------------------- + def clear_tp + self.tp = 0 + end + #-------------------------------------------------------------------------- + # * Charge TP by Damage Suffered + #-------------------------------------------------------------------------- + def charge_tp_by_damage(damage_rate) + self.tp += 50 * damage_rate * tcr + end + #-------------------------------------------------------------------------- + # * Regenerate HP + #-------------------------------------------------------------------------- + def regenerate_hp + damage = -(mhp * hrg).to_i + perform_map_damage_effect if $game_party.in_battle && damage > 0 + @result.hp_damage = [damage, max_slip_damage].min + self.hp -= @result.hp_damage + end + #-------------------------------------------------------------------------- + # * Get Maximum Value of Slip Damage + #-------------------------------------------------------------------------- + def max_slip_damage + $data_system.opt_slip_death ? hp : [hp - 1, 0].max + end + #-------------------------------------------------------------------------- + # * Regenerate MP + #-------------------------------------------------------------------------- + def regenerate_mp + @result.mp_damage = -(mmp * mrg).to_i + self.mp -= @result.mp_damage + end + #-------------------------------------------------------------------------- + # * Regenerate TP + #-------------------------------------------------------------------------- + def regenerate_tp + self.tp += 100 * trg + end + #-------------------------------------------------------------------------- + # * Regenerate All + #-------------------------------------------------------------------------- + def regenerate_all + if alive? + regenerate_hp + regenerate_mp + regenerate_tp + end + end + #-------------------------------------------------------------------------- + # * Processing at Start of Battle + #-------------------------------------------------------------------------- + def on_battle_start + init_tp unless preserve_tp? + end + #-------------------------------------------------------------------------- + # * Processing at End of Action + #-------------------------------------------------------------------------- + def on_action_end + @result.clear + remove_states_auto(1) + remove_buffs_auto + end + #-------------------------------------------------------------------------- + # * Processing at End of Turn + #-------------------------------------------------------------------------- + def on_turn_end + @result.clear + regenerate_all + update_state_turns + update_buff_turns + remove_states_auto(2) + end + #-------------------------------------------------------------------------- + # * Processing at End of Battle + #-------------------------------------------------------------------------- + def on_battle_end + @result.clear + remove_battle_states + remove_all_buffs + clear_actions + clear_tp unless preserve_tp? + appear + end + #-------------------------------------------------------------------------- + # * Processing When Suffering Damage + #-------------------------------------------------------------------------- + def on_damage(value) + remove_states_by_damage + charge_tp_by_damage(value.to_f / mhp) + end +end diff --git a/Scripts/RPG/Game_BattlerBase.rb b/Scripts/RPG/Game_BattlerBase.rb new file mode 100644 index 0000000..502c46c --- /dev/null +++ b/Scripts/RPG/Game_BattlerBase.rb @@ -0,0 +1,732 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_BattlerBase +#------------------------------------------------------------------------------ +# This base class handles battlers. It mainly contains methods for calculating +# parameters. It is used as a super class of the Game_Battler class. +#============================================================================== + +class Game_BattlerBase + #-------------------------------------------------------------------------- + # * Constants (Features) + #-------------------------------------------------------------------------- + FEATURE_ELEMENT_RATE = 11 # Element Rate + FEATURE_DEBUFF_RATE = 12 # Debuff Rate + FEATURE_STATE_RATE = 13 # State Rate + FEATURE_STATE_RESIST = 14 # State Resist + FEATURE_PARAM = 21 # Parameter + FEATURE_XPARAM = 22 # Ex-Parameter + FEATURE_SPARAM = 23 # Sp-Parameter + FEATURE_ATK_ELEMENT = 31 # Atk Element + FEATURE_ATK_STATE = 32 # Atk State + FEATURE_ATK_SPEED = 33 # Atk Speed + FEATURE_ATK_TIMES = 34 # Atk Times+ + FEATURE_STYPE_ADD = 41 # Add Skill Type + FEATURE_STYPE_SEAL = 42 # Disable Skill Type + FEATURE_SKILL_ADD = 43 # Add Skill + FEATURE_SKILL_SEAL = 44 # Disable Skill + FEATURE_EQUIP_WTYPE = 51 # Equip Weapon + FEATURE_EQUIP_ATYPE = 52 # Equip Armor + FEATURE_EQUIP_FIX = 53 # Lock Equip + FEATURE_EQUIP_SEAL = 54 # Seal Equip + FEATURE_SLOT_TYPE = 55 # Slot Type + FEATURE_ACTION_PLUS = 61 # Action Times+ + FEATURE_SPECIAL_FLAG = 62 # Special Flag + FEATURE_COLLAPSE_TYPE = 63 # Collapse Effect + FEATURE_PARTY_ABILITY = 64 # Party Ability + #-------------------------------------------------------------------------- + # * Constants (Feature Flags) + #-------------------------------------------------------------------------- + FLAG_ID_AUTO_BATTLE = 0 # auto battle + FLAG_ID_GUARD = 1 # guard + FLAG_ID_SUBSTITUTE = 2 # substitute + FLAG_ID_PRESERVE_TP = 3 # preserve TP + #-------------------------------------------------------------------------- + # * Constants (Starting Number of Buff/Debuff Icons) + #-------------------------------------------------------------------------- + ICON_BUFF_START = 64 # buff (16 icons) + ICON_DEBUFF_START = 80 # debuff (16 icons) + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :hp # HP + attr_reader :mp # MP + attr_reader :tp # TP + #-------------------------------------------------------------------------- + # * Access Method by Parameter Abbreviations + #-------------------------------------------------------------------------- + def mhp; param(0); end # MHP Maximum Hit Points + def mmp; param(1); end # MMP Maximum Magic Points + def atk; param(2); end # ATK ATtacK power + def def; param(3); end # DEF DEFense power + def mat; param(4); end # MAT Magic ATtack power + def mdf; param(5); end # MDF Magic DeFense power + def agi; param(6); end # AGI AGIlity + def luk; param(7); end # LUK LUcK + def hit; xparam(0); end # HIT HIT rate + def eva; xparam(1); end # EVA EVAsion rate + def cri; xparam(2); end # CRI CRItical rate + def cev; xparam(3); end # CEV Critical EVasion rate + def mev; xparam(4); end # MEV Magic EVasion rate + def mrf; xparam(5); end # MRF Magic ReFlection rate + def cnt; xparam(6); end # CNT CouNTer attack rate + def hrg; xparam(7); end # HRG Hp ReGeneration rate + def mrg; xparam(8); end # MRG Mp ReGeneration rate + def trg; xparam(9); end # TRG Tp ReGeneration rate + def tgr; sparam(0); end # TGR TarGet Rate + def grd; sparam(1); end # GRD GuaRD effect rate + def rec; sparam(2); end # REC RECovery effect rate + def pha; sparam(3); end # PHA PHArmacology + def mcr; sparam(4); end # MCR Mp Cost Rate + def tcr; sparam(5); end # TCR Tp Charge Rate + def pdr; sparam(6); end # PDR Physical Damage Rate + def mdr; sparam(7); end # MDR Magical Damage Rate + def fdr; sparam(8); end # FDR Floor Damage Rate + def exr; sparam(9); end # EXR EXperience Rate + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @hp = @mp = @tp = 0 + @hidden = false + clear_param_plus + clear_states + clear_buffs + end + #-------------------------------------------------------------------------- + # * Clear Values Added to Parameter + #-------------------------------------------------------------------------- + def clear_param_plus + @param_plus = [0] * 8 + end + #-------------------------------------------------------------------------- + # * Clear State Information + #-------------------------------------------------------------------------- + def clear_states + @states = [] + @state_turns = {} + @state_steps = {} + end + #-------------------------------------------------------------------------- + # * Erase States + #-------------------------------------------------------------------------- + def erase_state(state_id) + @states.delete(state_id) + @state_turns.delete(state_id) + @state_steps.delete(state_id) + end + #-------------------------------------------------------------------------- + # * Clear Buff Information + #-------------------------------------------------------------------------- + def clear_buffs + @buffs = Array.new(8) { 0 } + @buff_turns = {} + end + #-------------------------------------------------------------------------- + # * Check State + #-------------------------------------------------------------------------- + def state?(state_id) + @states.include?(state_id) + end + #-------------------------------------------------------------------------- + # * Check K.O. State + #-------------------------------------------------------------------------- + def death_state? + state?(death_state_id) + end + #-------------------------------------------------------------------------- + # * Get State ID of K.O. + #-------------------------------------------------------------------------- + def death_state_id + return 1 + end + #-------------------------------------------------------------------------- + # * Get Current States as an Object Array + #-------------------------------------------------------------------------- + def states + @states.collect {|id| $data_states[id] } + end + #-------------------------------------------------------------------------- + # * Get Current States as an Array of Icon Numbers + #-------------------------------------------------------------------------- + def state_icons + icons = states.collect {|state| state.icon_index } + icons.delete(0) + icons + end + #-------------------------------------------------------------------------- + # * Get Current Buffs/Debuffs as an Array of Icon Numbers + #-------------------------------------------------------------------------- + def buff_icons + icons = [] + @buffs.each_with_index {|lv, i| icons.push(buff_icon_index(lv, i)) } + icons.delete(0) + icons + end + #-------------------------------------------------------------------------- + # * Get Icon Number Corresponding to Buff/Debuff + #-------------------------------------------------------------------------- + def buff_icon_index(buff_level, param_id) + if buff_level > 0 + return ICON_BUFF_START + (buff_level - 1) * 8 + param_id + elsif buff_level < 0 + return ICON_DEBUFF_START + (-buff_level - 1) * 8 + param_id + else + return 0 + end + end + #-------------------------------------------------------------------------- + # * Get Array of All Objects Retaining Features + #-------------------------------------------------------------------------- + def feature_objects + states + end + #-------------------------------------------------------------------------- + # * Get Array of All Feature Objects + #-------------------------------------------------------------------------- + def all_features + feature_objects.inject([]) {|r, obj| r + obj.features } + end + #-------------------------------------------------------------------------- + # * Get Feature Object Array (Feature Codes Limited) + #-------------------------------------------------------------------------- + def features(code) + all_features.select {|ft| ft.code == code } + end + #-------------------------------------------------------------------------- + # * Get Feature Object Array (Feature Codes and Data IDs Limited) + #-------------------------------------------------------------------------- + def features_with_id(code, id) + all_features.select {|ft| ft.code == code && ft.data_id == id } + end + #-------------------------------------------------------------------------- + # * Calculate Complement of Feature Values + #-------------------------------------------------------------------------- + def features_pi(code, id) + features_with_id(code, id).inject(1.0) {|r, ft| r *= ft.value } + end + #-------------------------------------------------------------------------- + # * Calculate Sum of Feature Values (Specify Data ID) + #-------------------------------------------------------------------------- + def features_sum(code, id) + features_with_id(code, id).inject(0.0) {|r, ft| r += ft.value } + end + #-------------------------------------------------------------------------- + # * Calculate Sum of Feature Values (Data ID Unspecified) + #-------------------------------------------------------------------------- + def features_sum_all(code) + features(code).inject(0.0) {|r, ft| r += ft.value } + end + #-------------------------------------------------------------------------- + # * Calculate Set Sum of Features + #-------------------------------------------------------------------------- + def features_set(code) + features(code).inject([]) {|r, ft| r |= [ft.data_id] } + end + #-------------------------------------------------------------------------- + # * Get Base Value of Parameter + #-------------------------------------------------------------------------- + def param_base(param_id) + return 0 + end + #-------------------------------------------------------------------------- + # * Get Added Value of Parameter + #-------------------------------------------------------------------------- + def param_plus(param_id) + @param_plus[param_id] + end + #-------------------------------------------------------------------------- + # * Get Reduced Value of Parameter + #-------------------------------------------------------------------------- + def param_min(param_id) + return 0 if param_id == 1 # MMP + return 1 + end + #-------------------------------------------------------------------------- + # * Get Maximum Value of Parameter + #-------------------------------------------------------------------------- + def param_max(param_id) + return 999999 if param_id == 0 # MHP + return 9999 if param_id == 1 # MMP + return 999 + end + #-------------------------------------------------------------------------- + # * Get Rate of Parameter Change + #-------------------------------------------------------------------------- + def param_rate(param_id) + features_pi(FEATURE_PARAM, param_id) + end + #-------------------------------------------------------------------------- + # * Get Rate of Change Due to Parameter Buff/Debuff + #-------------------------------------------------------------------------- + def param_buff_rate(param_id) + @buffs[param_id] * 0.25 + 1.0 + end + #-------------------------------------------------------------------------- + # * Get Parameter + #-------------------------------------------------------------------------- + def param(param_id) + value = param_base(param_id) + param_plus(param_id) + value *= param_rate(param_id) * param_buff_rate(param_id) + [[value, param_max(param_id)].min, param_min(param_id)].max.to_i + end + #-------------------------------------------------------------------------- + # * Get Ex-Parameter + #-------------------------------------------------------------------------- + def xparam(xparam_id) + features_sum(FEATURE_XPARAM, xparam_id) + end + #-------------------------------------------------------------------------- + # * Get Sp-Parameter + #-------------------------------------------------------------------------- + def sparam(sparam_id) + features_pi(FEATURE_SPARAM, sparam_id) + end + #-------------------------------------------------------------------------- + # * Get Element Rate + #-------------------------------------------------------------------------- + def element_rate(element_id) + features_pi(FEATURE_ELEMENT_RATE, element_id) + end + #-------------------------------------------------------------------------- + # * Get Debuff Rate + #-------------------------------------------------------------------------- + def debuff_rate(param_id) + features_pi(FEATURE_DEBUFF_RATE, param_id) + end + #-------------------------------------------------------------------------- + # * Get State Rate + #-------------------------------------------------------------------------- + def state_rate(state_id) + features_pi(FEATURE_STATE_RATE, state_id) + end + #-------------------------------------------------------------------------- + # * Get Array of States to Resist + #-------------------------------------------------------------------------- + def state_resist_set + features_set(FEATURE_STATE_RESIST) + end + #-------------------------------------------------------------------------- + # * Determine if State Is Resisted + #-------------------------------------------------------------------------- + def state_resist?(state_id) + state_resist_set.include?(state_id) + end + #-------------------------------------------------------------------------- + # * Get Attack Element + #-------------------------------------------------------------------------- + def atk_elements + features_set(FEATURE_ATK_ELEMENT) + end + #-------------------------------------------------------------------------- + # * Get Attack State + #-------------------------------------------------------------------------- + def atk_states + features_set(FEATURE_ATK_STATE) + end + #-------------------------------------------------------------------------- + # * Get Attack State Invocation Rate + #-------------------------------------------------------------------------- + def atk_states_rate(state_id) + features_sum(FEATURE_ATK_STATE, state_id) + end + #-------------------------------------------------------------------------- + # * Get Attack Speed + #-------------------------------------------------------------------------- + def atk_speed + features_sum_all(FEATURE_ATK_SPEED) + end + #-------------------------------------------------------------------------- + # * Get Additional Attack Times + #-------------------------------------------------------------------------- + def atk_times_add + [features_sum_all(FEATURE_ATK_TIMES), 0].max + end + #-------------------------------------------------------------------------- + # * Get Added Skill Types + #-------------------------------------------------------------------------- + def added_skill_types + features_set(FEATURE_STYPE_ADD) + end + #-------------------------------------------------------------------------- + # * Determine if Skill Type Is Disabled + #-------------------------------------------------------------------------- + def skill_type_sealed?(stype_id) + features_set(FEATURE_STYPE_SEAL).include?(stype_id) + end + #-------------------------------------------------------------------------- + # * Get Added Skills + #-------------------------------------------------------------------------- + def added_skills + features_set(FEATURE_SKILL_ADD) + end + #-------------------------------------------------------------------------- + # * Determine if Skill Is Disabled + #-------------------------------------------------------------------------- + def skill_sealed?(skill_id) + features_set(FEATURE_SKILL_SEAL).include?(skill_id) + end + #-------------------------------------------------------------------------- + # * Determine if Weapon Can Be Equipped + #-------------------------------------------------------------------------- + def equip_wtype_ok?(wtype_id) + features_set(FEATURE_EQUIP_WTYPE).include?(wtype_id) + end + #-------------------------------------------------------------------------- + # * Determine if Armor Can Be Equipped + #-------------------------------------------------------------------------- + def equip_atype_ok?(atype_id) + features_set(FEATURE_EQUIP_ATYPE).include?(atype_id) + end + #-------------------------------------------------------------------------- + # * Determine if Equipment Is Locked + #-------------------------------------------------------------------------- + def equip_type_fixed?(etype_id) + features_set(FEATURE_EQUIP_FIX).include?(etype_id) + end + #-------------------------------------------------------------------------- + # * Determine if Equipment Is Sealed + #-------------------------------------------------------------------------- + def equip_type_sealed?(etype_id) + features_set(FEATURE_EQUIP_SEAL).include?(etype_id) + end + #-------------------------------------------------------------------------- + # * Get Slot Type + #-------------------------------------------------------------------------- + def slot_type + features_set(FEATURE_SLOT_TYPE).max || 0 + end + #-------------------------------------------------------------------------- + # * Determine if Dual Wield + #-------------------------------------------------------------------------- + def dual_wield? + slot_type == 1 + end + #-------------------------------------------------------------------------- + # * Get Array of Additional Action Time Probabilities + #-------------------------------------------------------------------------- + def action_plus_set + features(FEATURE_ACTION_PLUS).collect {|ft| ft.value } + end + #-------------------------------------------------------------------------- + # * Determine if Special Flag + #-------------------------------------------------------------------------- + def special_flag(flag_id) + features(FEATURE_SPECIAL_FLAG).any? {|ft| ft.data_id == flag_id } + end + #-------------------------------------------------------------------------- + # * Get Collapse Effect + #-------------------------------------------------------------------------- + def collapse_type + features_set(FEATURE_COLLAPSE_TYPE).max || 0 + end + #-------------------------------------------------------------------------- + # * Determine Party Ability + #-------------------------------------------------------------------------- + def party_ability(ability_id) + features(FEATURE_PARTY_ABILITY).any? {|ft| ft.data_id == ability_id } + end + #-------------------------------------------------------------------------- + # * Determine if Auto Battle + #-------------------------------------------------------------------------- + def auto_battle? + special_flag(FLAG_ID_AUTO_BATTLE) + end + #-------------------------------------------------------------------------- + # * Determine if Guard + #-------------------------------------------------------------------------- + def guard? + special_flag(FLAG_ID_GUARD) && movable? + end + #-------------------------------------------------------------------------- + # * Determine if Substitute + #-------------------------------------------------------------------------- + def substitute? + special_flag(FLAG_ID_SUBSTITUTE) && movable? + end + #-------------------------------------------------------------------------- + # * Determine if Preserve TP + #-------------------------------------------------------------------------- + def preserve_tp? + special_flag(FLAG_ID_PRESERVE_TP) + end + #-------------------------------------------------------------------------- + # * Increase Parameter + #-------------------------------------------------------------------------- + def add_param(param_id, value) + @param_plus[param_id] += value + refresh + end + #-------------------------------------------------------------------------- + # * Change HP + #-------------------------------------------------------------------------- + def hp=(hp) + @hp = hp + refresh + end + #-------------------------------------------------------------------------- + # * Change MP + #-------------------------------------------------------------------------- + def mp=(mp) + @mp = mp + refresh + end + #-------------------------------------------------------------------------- + # * Change HP (for Events) + # value: Amount of increase/decrease + # enable_death: Allow knockout + #-------------------------------------------------------------------------- + def change_hp(value, enable_death) + if !enable_death && @hp + value <= 0 + self.hp = 1 + else + self.hp += value + end + end + #-------------------------------------------------------------------------- + # * Change TP + #-------------------------------------------------------------------------- + def tp=(tp) + @tp = [[tp, max_tp].min, 0].max + end + #-------------------------------------------------------------------------- + # * Get Maximum Value of TP + #-------------------------------------------------------------------------- + def max_tp + return 100 + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + state_resist_set.each {|state_id| erase_state(state_id) } + @hp = [[@hp, mhp].min, 0].max + @mp = [[@mp, mmp].min, 0].max + @hp == 0 ? add_state(death_state_id) : remove_state(death_state_id) + end + #-------------------------------------------------------------------------- + # * Recover All + #-------------------------------------------------------------------------- + def recover_all + clear_states + @hp = mhp + @mp = mmp + end + #-------------------------------------------------------------------------- + # * Get Percentage of HP + #-------------------------------------------------------------------------- + def hp_rate + @hp.to_f / mhp + end + #-------------------------------------------------------------------------- + # * Get Percentage of MP + #-------------------------------------------------------------------------- + def mp_rate + mmp > 0 ? @mp.to_f / mmp : 0 + end + #-------------------------------------------------------------------------- + # * Get Percentage of TP + #-------------------------------------------------------------------------- + def tp_rate + @tp.to_f / 100 + end + #-------------------------------------------------------------------------- + # * Hide + #-------------------------------------------------------------------------- + def hide + @hidden = true + end + #-------------------------------------------------------------------------- + # * Appear + #-------------------------------------------------------------------------- + def appear + @hidden = false + end + #-------------------------------------------------------------------------- + # * Get Hide State + #-------------------------------------------------------------------------- + def hidden? + @hidden + end + #-------------------------------------------------------------------------- + # * Determine Existence + #-------------------------------------------------------------------------- + def exist? + !hidden? + end + #-------------------------------------------------------------------------- + # * Determine Incapacitation + #-------------------------------------------------------------------------- + def dead? + exist? && death_state? + end + #-------------------------------------------------------------------------- + # * Determine Survival + #-------------------------------------------------------------------------- + def alive? + exist? && !death_state? + end + #-------------------------------------------------------------------------- + # * Determine Normality + #-------------------------------------------------------------------------- + def normal? + exist? && restriction == 0 + end + #-------------------------------------------------------------------------- + # * Determine if Command is Inputable + #-------------------------------------------------------------------------- + def inputable? + normal? && !auto_battle? + end + #-------------------------------------------------------------------------- + # * Determine if Action is Possible + #-------------------------------------------------------------------------- + def movable? + exist? && restriction < 4 + end + #-------------------------------------------------------------------------- + # * Determine if Character is Confused + #-------------------------------------------------------------------------- + def confusion? + exist? && restriction >= 1 && restriction <= 3 + end + #-------------------------------------------------------------------------- + # * Get Confusion Level + #-------------------------------------------------------------------------- + def confusion_level + confusion? ? restriction : 0 + end + #-------------------------------------------------------------------------- + # * Determine if Actor or Not + #-------------------------------------------------------------------------- + def actor? + return false + end + #-------------------------------------------------------------------------- + # * Determine if Enemy + #-------------------------------------------------------------------------- + def enemy? + return false + end + #-------------------------------------------------------------------------- + # * Sorting States + # Sort the content of the @states array, with higher priority states + # coming first. + #-------------------------------------------------------------------------- + def sort_states + @states = @states.sort_by {|id| [-$data_states[id].priority, id] } + end + #-------------------------------------------------------------------------- + # * Get Restriction + # Get the largest restriction from the currently added states. + #-------------------------------------------------------------------------- + def restriction + states.collect {|state| state.restriction }.push(0).max + end + #-------------------------------------------------------------------------- + # * Get Most Important State Continuation Message + #-------------------------------------------------------------------------- + def most_important_state_text + states.each {|state| return state.message3 unless state.message3.empty? } + return "" + end + #-------------------------------------------------------------------------- + # * Determine if Skill-Required Weapon Is Equipped + #-------------------------------------------------------------------------- + def skill_wtype_ok?(skill) + return true + end + #-------------------------------------------------------------------------- + # * Calculate Skill's MP Cost + #-------------------------------------------------------------------------- + def skill_mp_cost(skill) + (skill.mp_cost * mcr).to_i + end + #-------------------------------------------------------------------------- + # * Calculate Skill's TP Cost + #-------------------------------------------------------------------------- + def skill_tp_cost(skill) + skill.tp_cost + end + #-------------------------------------------------------------------------- + # * Determine if Cost of Using Skill Can Be Paid + #-------------------------------------------------------------------------- + def skill_cost_payable?(skill) + tp >= skill_tp_cost(skill) && mp >= skill_mp_cost(skill) + end + #-------------------------------------------------------------------------- + # * Pay Cost of Using Skill + #-------------------------------------------------------------------------- + def pay_skill_cost(skill) + self.mp -= skill_mp_cost(skill) + self.tp -= skill_tp_cost(skill) + end + #-------------------------------------------------------------------------- + # * Check When Skill/Item Can Be Used + #-------------------------------------------------------------------------- + def occasion_ok?(item) + $game_party.in_battle ? item.battle_ok? : item.menu_ok? + end + #-------------------------------------------------------------------------- + # * Check Common Usability Conditions for Skill/Item + #-------------------------------------------------------------------------- + def usable_item_conditions_met?(item) + movable? && occasion_ok?(item) + end + #-------------------------------------------------------------------------- + # * Check Usability Conditions for Skill + #-------------------------------------------------------------------------- + def skill_conditions_met?(skill) + usable_item_conditions_met?(skill) && + skill_wtype_ok?(skill) && skill_cost_payable?(skill) && + !skill_sealed?(skill.id) && !skill_type_sealed?(skill.stype_id) + end + #-------------------------------------------------------------------------- + # * Check Usability Conditions for Item + #-------------------------------------------------------------------------- + def item_conditions_met?(item) + usable_item_conditions_met?(item) && $game_party.has_item?(item) + end + #-------------------------------------------------------------------------- + # * Determine Skill/Item Usability + #-------------------------------------------------------------------------- + def usable?(item) + return skill_conditions_met?(item) if item.is_a?(RPG::Skill) + return item_conditions_met?(item) if item.is_a?(RPG::Item) + return false + end + #-------------------------------------------------------------------------- + # * Determine if Equippable + #-------------------------------------------------------------------------- + def equippable?(item) + return false unless item.is_a?(RPG::EquipItem) + return false if equip_type_sealed?(item.etype_id) + return equip_wtype_ok?(item.wtype_id) if item.is_a?(RPG::Weapon) + return equip_atype_ok?(item.atype_id) if item.is_a?(RPG::Armor) + return false + end + #-------------------------------------------------------------------------- + # * Get Skill ID of Normal Attack + #-------------------------------------------------------------------------- + def attack_skill_id + return 1 + end + #-------------------------------------------------------------------------- + # * Get Skill ID of Guard + #-------------------------------------------------------------------------- + def guard_skill_id + return 2 + end + #-------------------------------------------------------------------------- + # * Determine Usability of Normal Attack + #-------------------------------------------------------------------------- + def attack_usable? + usable?($data_skills[attack_skill_id]) + end + #-------------------------------------------------------------------------- + # * Determine Usability of Guard + #-------------------------------------------------------------------------- + def guard_usable? + usable?($data_skills[guard_skill_id]) + end +end diff --git a/Scripts/RPG/Game_Character.rb b/Scripts/RPG/Game_Character.rb new file mode 100644 index 0000000..00b3b77 --- /dev/null +++ b/Scripts/RPG/Game_Character.rb @@ -0,0 +1,397 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Character +#------------------------------------------------------------------------------ +# A character class with mainly movement route and other such processing +# added. It is used as a super class of Game_Player, Game_Follower, +# GameVehicle, and Game_Event. +#============================================================================== + +class Game_Character < Game_CharacterBase + #-------------------------------------------------------------------------- + # * Constants + #-------------------------------------------------------------------------- + ROUTE_END = 0 # End of Move Route + ROUTE_MOVE_DOWN = 1 # Move Down + ROUTE_MOVE_LEFT = 2 # Move Left + ROUTE_MOVE_RIGHT = 3 # Move Right + ROUTE_MOVE_UP = 4 # Move Up + ROUTE_MOVE_LOWER_L = 5 # Move Lower Left + ROUTE_MOVE_LOWER_R = 6 # Move Lower Right + ROUTE_MOVE_UPPER_L = 7 # Move Upper Left + ROUTE_MOVE_UPPER_R = 8 # Move Upper Right + ROUTE_MOVE_RANDOM = 9 # Move at Random + ROUTE_MOVE_TOWARD = 10 # Move toward Player + ROUTE_MOVE_AWAY = 11 # Move away from Player + ROUTE_MOVE_FORWARD = 12 # 1 Step Forward + ROUTE_MOVE_BACKWARD = 13 # 1 Step Backward + ROUTE_JUMP = 14 # Jump + ROUTE_WAIT = 15 # Wait + ROUTE_TURN_DOWN = 16 # Turn Down + ROUTE_TURN_LEFT = 17 # Turn Left + ROUTE_TURN_RIGHT = 18 # Turn Right + ROUTE_TURN_UP = 19 # Turn Up + ROUTE_TURN_90D_R = 20 # Turn 90 Degrees Right + ROUTE_TURN_90D_L = 21 # Turn 90 Degrees Left + ROUTE_TURN_180D = 22 # Turn 180 Degrees + ROUTE_TURN_90D_R_L = 23 # Turn 90 Degrees Right/Left + ROUTE_TURN_RANDOM = 24 # Turn at Random + ROUTE_TURN_TOWARD = 25 # Turn toward player + ROUTE_TURN_AWAY = 26 # Turn away from Player + ROUTE_SWITCH_ON = 27 # Switch ON + ROUTE_SWITCH_OFF = 28 # Switch OFF + ROUTE_CHANGE_SPEED = 29 # Change Speed + ROUTE_CHANGE_FREQ = 30 # Change Frequency + ROUTE_WALK_ANIME_ON = 31 # Walking Animation ON + ROUTE_WALK_ANIME_OFF = 32 # Walking Animation OFF + ROUTE_STEP_ANIME_ON = 33 # Stepping Animation ON + ROUTE_STEP_ANIME_OFF = 34 # Stepping Animation OFF + ROUTE_DIR_FIX_ON = 35 # Direction Fix ON + ROUTE_DIR_FIX_OFF = 36 # Direction Fix OFF + ROUTE_THROUGH_ON = 37 # Pass-Through ON + ROUTE_THROUGH_OFF = 38 # Pass-Through OFF + ROUTE_TRANSPARENT_ON = 39 # Transparent ON + ROUTE_TRANSPARENT_OFF = 40 # Transparent OFF + ROUTE_CHANGE_GRAPHIC = 41 # Change Graphic + ROUTE_CHANGE_OPACITY = 42 # Change Opacity + ROUTE_CHANGE_BLENDING = 43 # Change Blending + ROUTE_PLAY_SE = 44 # Play SE + ROUTE_SCRIPT = 45 # Script + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :move_route_forcing # forced move route flag + #-------------------------------------------------------------------------- + # * Initialize Public Member Variables + #-------------------------------------------------------------------------- + def init_public_members + super + @move_route_forcing = false + end + #-------------------------------------------------------------------------- + # * Initialize Private Member Variables + #-------------------------------------------------------------------------- + def init_private_members + super + @move_route = nil # Move route + @move_route_index = 0 # Move route execution position + @original_move_route = nil # Original move route + @original_move_route_index = 0 # Original move route execution position + @wait_count = 0 # Wait count + end + #-------------------------------------------------------------------------- + # * Memorize Move Route + #-------------------------------------------------------------------------- + def memorize_move_route + @original_move_route = @move_route + @original_move_route_index = @move_route_index + end + #-------------------------------------------------------------------------- + # * Restore Move Route + #-------------------------------------------------------------------------- + def restore_move_route + @move_route = @original_move_route + @move_route_index = @original_move_route_index + @original_move_route = nil + end + #-------------------------------------------------------------------------- + # * Force Move Route + #-------------------------------------------------------------------------- + def force_move_route(move_route) + memorize_move_route unless @original_move_route + @move_route = move_route + @move_route_index = 0 + @move_route_forcing = true + @prelock_direction = 0 + @wait_count = 0 + end + #-------------------------------------------------------------------------- + # * Update While Stopped + #-------------------------------------------------------------------------- + def update_stop + super + update_routine_move if @move_route_forcing + end + #-------------------------------------------------------------------------- + # * Update Move Along Route + #-------------------------------------------------------------------------- + def update_routine_move + if @wait_count > 0 + @wait_count -= 1 + else + @move_succeed = true + command = @move_route.list[@move_route_index] + if command + process_move_command(command) + advance_move_route_index + end + end + end + #-------------------------------------------------------------------------- + # * Process Move Command + #-------------------------------------------------------------------------- + def process_move_command(command) + params = command.parameters + case command.code + when ROUTE_END; process_route_end + when ROUTE_MOVE_DOWN; move_straight(2) + when ROUTE_MOVE_LEFT; move_straight(4) + when ROUTE_MOVE_RIGHT; move_straight(6) + when ROUTE_MOVE_UP; move_straight(8) + when ROUTE_MOVE_LOWER_L; move_diagonal(4, 2) + when ROUTE_MOVE_LOWER_R; move_diagonal(6, 2) + when ROUTE_MOVE_UPPER_L; move_diagonal(4, 8) + when ROUTE_MOVE_UPPER_R; move_diagonal(6, 8) + when ROUTE_MOVE_RANDOM; move_random + when ROUTE_MOVE_TOWARD; move_toward_player + when ROUTE_MOVE_AWAY; move_away_from_player + when ROUTE_MOVE_FORWARD; move_forward + when ROUTE_MOVE_BACKWARD; move_backward + when ROUTE_JUMP; jump(params[0], params[1]) + when ROUTE_WAIT; @wait_count = params[0] - 1 + when ROUTE_TURN_DOWN; set_direction(2) + when ROUTE_TURN_LEFT; set_direction(4) + when ROUTE_TURN_RIGHT; set_direction(6) + when ROUTE_TURN_UP; set_direction(8) + when ROUTE_TURN_90D_R; turn_right_90 + when ROUTE_TURN_90D_L; turn_left_90 + when ROUTE_TURN_180D; turn_180 + when ROUTE_TURN_90D_R_L; turn_right_or_left_90 + when ROUTE_TURN_RANDOM; turn_random + when ROUTE_TURN_TOWARD; turn_toward_player + when ROUTE_TURN_AWAY; turn_away_from_player + when ROUTE_SWITCH_ON; $game_switches[params[0]] = true + when ROUTE_SWITCH_OFF; $game_switches[params[0]] = false + when ROUTE_CHANGE_SPEED; @move_speed = params[0] + when ROUTE_CHANGE_FREQ; @move_frequency = params[0] + when ROUTE_WALK_ANIME_ON; @walk_anime = true + when ROUTE_WALK_ANIME_OFF; @walk_anime = false + when ROUTE_STEP_ANIME_ON; @step_anime = true + when ROUTE_STEP_ANIME_OFF; @step_anime = false + when ROUTE_DIR_FIX_ON; @direction_fix = true + when ROUTE_DIR_FIX_OFF; @direction_fix = false + when ROUTE_THROUGH_ON; @through = true + when ROUTE_THROUGH_OFF; @through = false + when ROUTE_TRANSPARENT_ON; @transparent = true + when ROUTE_TRANSPARENT_OFF; @transparent = false + when ROUTE_CHANGE_GRAPHIC; set_graphic(params[0], params[1]) + when ROUTE_CHANGE_OPACITY; @opacity = params[0] + when ROUTE_CHANGE_BLENDING; @blend_type = params[0] + when ROUTE_PLAY_SE; params[0].play + when ROUTE_SCRIPT; eval(params[0]) + end + end + #-------------------------------------------------------------------------- + # * Calculate Distance in X Axis Direction + #-------------------------------------------------------------------------- + def distance_x_from(x) + result = @x - x + if $game_map.loop_horizontal? && result.abs > $game_map.width / 2 + if result < 0 + result += $game_map.width + else + result -= $game_map.width + end + end + result + end + #-------------------------------------------------------------------------- + # * Calculate Distance in Y Axis Direction + #-------------------------------------------------------------------------- + def distance_y_from(y) + result = @y - y + if $game_map.loop_vertical? && result.abs > $game_map.height / 2 + if result < 0 + result += $game_map.height + else + result -= $game_map.height + end + end + result + end + #-------------------------------------------------------------------------- + # * Move at Random + #-------------------------------------------------------------------------- + def move_random + move_straight(2 + rand(4) * 2, false) + end + #-------------------------------------------------------------------------- + # * Move Toward Character + #-------------------------------------------------------------------------- + def move_toward_character(character) + sx = distance_x_from(character.x) + sy = distance_y_from(character.y) + if sx.abs > sy.abs + move_straight(sx > 0 ? 4 : 6) + move_straight(sy > 0 ? 8 : 2) if !@move_succeed && sy != 0 + elsif sy != 0 + move_straight(sy > 0 ? 8 : 2) + move_straight(sx > 0 ? 4 : 6) if !@move_succeed && sx != 0 + end + end + #-------------------------------------------------------------------------- + # * Move Away from Character + #-------------------------------------------------------------------------- + def move_away_from_character(character) + sx = distance_x_from(character.x) + sy = distance_y_from(character.y) + if sx.abs > sy.abs + move_straight(sx > 0 ? 6 : 4) + move_straight(sy > 0 ? 2 : 8) if !@move_succeed && sy != 0 + elsif sy != 0 + move_straight(sy > 0 ? 2 : 8) + move_straight(sx > 0 ? 6 : 4) if !@move_succeed && sx != 0 + end + end + #-------------------------------------------------------------------------- + # * Turn Toward Character + #-------------------------------------------------------------------------- + def turn_toward_character(character) + sx = distance_x_from(character.x) + sy = distance_y_from(character.y) + if sx.abs > sy.abs + set_direction(sx > 0 ? 4 : 6) + elsif sy != 0 + set_direction(sy > 0 ? 8 : 2) + end + end + #-------------------------------------------------------------------------- + # * Turn Away from Character + #-------------------------------------------------------------------------- + def turn_away_from_character(character) + sx = distance_x_from(character.x) + sy = distance_y_from(character.y) + if sx.abs > sy.abs + set_direction(sx > 0 ? 6 : 4) + elsif sy != 0 + set_direction(sy > 0 ? 2 : 8) + end + end + #-------------------------------------------------------------------------- + # * Turn toward Player + #-------------------------------------------------------------------------- + def turn_toward_player + turn_toward_character($game_player) + end + #-------------------------------------------------------------------------- + # * Turn away from Player + #-------------------------------------------------------------------------- + def turn_away_from_player + turn_away_from_character($game_player) + end + #-------------------------------------------------------------------------- + # * Move toward Player + #-------------------------------------------------------------------------- + def move_toward_player + move_toward_character($game_player) + end + #-------------------------------------------------------------------------- + # * Move away from Player + #-------------------------------------------------------------------------- + def move_away_from_player + move_away_from_character($game_player) + end + #-------------------------------------------------------------------------- + # * 1 Step Forward + #-------------------------------------------------------------------------- + def move_forward + move_straight(@direction) + end + #-------------------------------------------------------------------------- + # * 1 Step Backward + #-------------------------------------------------------------------------- + def move_backward + last_direction_fix = @direction_fix + @direction_fix = true + move_straight(reverse_dir(@direction), false) + @direction_fix = last_direction_fix + end + #-------------------------------------------------------------------------- + # * Jump + # x_plus : x-coordinate plus value + # y_plus : y-coordinate plus value + #-------------------------------------------------------------------------- + def jump(x_plus, y_plus) + if x_plus.abs > y_plus.abs + set_direction(x_plus < 0 ? 4 : 6) if x_plus != 0 + else + set_direction(y_plus < 0 ? 8 : 2) if y_plus != 0 + end + @x += x_plus + @y += y_plus + distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round + @jump_peak = 10 + distance - @move_speed + @jump_count = @jump_peak * 2 + @stop_count = 0 + straighten + end + #-------------------------------------------------------------------------- + # * Process Move Route End + #-------------------------------------------------------------------------- + def process_route_end + if @move_route.repeat + @move_route_index = -1 + elsif @move_route_forcing + @move_route_forcing = false + restore_move_route + end + end + #-------------------------------------------------------------------------- + # * Advance Execution Position of Move Route + #-------------------------------------------------------------------------- + def advance_move_route_index + @move_route_index += 1 if @move_succeed || @move_route.skippable + end + #-------------------------------------------------------------------------- + # * Turn 90° Right + #-------------------------------------------------------------------------- + def turn_right_90 + case @direction + when 2; set_direction(4) + when 4; set_direction(8) + when 6; set_direction(2) + when 8; set_direction(6) + end + end + #-------------------------------------------------------------------------- + # * Turn 90° Left + #-------------------------------------------------------------------------- + def turn_left_90 + case @direction + when 2; set_direction(6) + when 4; set_direction(2) + when 6; set_direction(8) + when 8; set_direction(4) + end + end + #-------------------------------------------------------------------------- + # * Turn 180° + #-------------------------------------------------------------------------- + def turn_180 + set_direction(reverse_dir(@direction)) + end + #-------------------------------------------------------------------------- + # * Turn 90° Right or Left + #-------------------------------------------------------------------------- + def turn_right_or_left_90 + case rand(2) + when 0; turn_right_90 + when 1; turn_left_90 + end + end + #-------------------------------------------------------------------------- + # * Turn at Random + #-------------------------------------------------------------------------- + def turn_random + set_direction(2 + rand(4) * 2) + end + #-------------------------------------------------------------------------- + # * Swap Character Positions + #-------------------------------------------------------------------------- + def swap(character) + new_x = character.x + new_y = character.y + character.moveto(x, y) + moveto(new_x, new_y) + end +end diff --git a/Scripts/RPG/Game_CharacterBase.rb b/Scripts/RPG/Game_CharacterBase.rb new file mode 100644 index 0000000..0ec7135 --- /dev/null +++ b/Scripts/RPG/Game_CharacterBase.rb @@ -0,0 +1,444 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_CharacterBase +#------------------------------------------------------------------------------ +# This base class handles characters. It retains basic information, such as +# coordinates and graphics, shared by all characters. +#============================================================================== + +class Game_CharacterBase + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :id # ID + attr_reader :x # map X coordinate (logical) + attr_reader :y # map Y coordinate (logical) + attr_reader :real_x # map X coordinate (real) + attr_reader :real_y # map Y coordinate (real) + attr_reader :tile_id # tile ID (invalid if 0) + attr_reader :character_name # character graphic filename + attr_reader :character_index # character graphic index + attr_reader :move_speed # movement speed + attr_reader :move_frequency # movement frequency + attr_reader :walk_anime # walking animation + attr_reader :step_anime # stepping animation + attr_reader :direction_fix # direction fix + attr_reader :opacity # opacity level + attr_reader :blend_type # blending method + attr_reader :direction # direction + attr_reader :pattern # pattern + attr_reader :priority_type # priority type + attr_reader :through # pass-through + attr_reader :bush_depth # bush depth + attr_accessor :animation_id # animation ID + attr_accessor :balloon_id # balloon icon ID + attr_accessor :transparent # transparency flag + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + init_public_members + init_private_members + end + #-------------------------------------------------------------------------- + # * Initialize Public Member Variables + #-------------------------------------------------------------------------- + def init_public_members + @id = 0 + @x = 0 + @y = 0 + @real_x = 0 + @real_y = 0 + @tile_id = 0 + @character_name = "" + @character_index = 0 + @move_speed = 4 + @move_frequency = 6 + @walk_anime = true + @step_anime = false + @direction_fix = false + @opacity = 255 + @blend_type = 0 + @direction = 2 + @pattern = 1 + @priority_type = 1 + @through = false + @bush_depth = 0 + @animation_id = 0 + @balloon_id = 0 + @transparent = false + end + #-------------------------------------------------------------------------- + # * Initialize Private Member Variables + #-------------------------------------------------------------------------- + def init_private_members + @original_direction = 2 # Original direction + @original_pattern = 1 # Original pattern + @anime_count = 0 # Animation count + @stop_count = 0 # Stop count + @jump_count = 0 # Jump count + @jump_peak = 0 # Jump peak count + @locked = false # Locked flag + @prelock_direction = 0 # Direction before lock + @move_succeed = true # Move success flag + end + #-------------------------------------------------------------------------- + # * Determine Coordinate Match + #-------------------------------------------------------------------------- + def pos?(x, y) + @x == x && @y == y + end + #-------------------------------------------------------------------------- + # * Determine if Coordinates Match and Pass-Through Is Off (nt = No Through) + #-------------------------------------------------------------------------- + def pos_nt?(x, y) + pos?(x, y) && !@through + end + #-------------------------------------------------------------------------- + # * Determine if [Same as Characters] Priority + #-------------------------------------------------------------------------- + def normal_priority? + @priority_type == 1 + end + #-------------------------------------------------------------------------- + # * Determine if Moving + #-------------------------------------------------------------------------- + def moving? + @real_x != @x || @real_y != @y + end + #-------------------------------------------------------------------------- + # * Determine if Jumping + #-------------------------------------------------------------------------- + def jumping? + @jump_count > 0 + end + #-------------------------------------------------------------------------- + # * Calculate Jump Height + #-------------------------------------------------------------------------- + def jump_height + (@jump_peak * @jump_peak - (@jump_count - @jump_peak).abs ** 2) / 2 + end + #-------------------------------------------------------------------------- + # * Determine if Stopping + #-------------------------------------------------------------------------- + def stopping? + !moving? && !jumping? + end + #-------------------------------------------------------------------------- + # * Get Move Speed (Account for Dash) + #-------------------------------------------------------------------------- + def real_move_speed + @move_speed + (dash? ? 1 : 0) + end + #-------------------------------------------------------------------------- + # * Calculate Move Distance per Frame + #-------------------------------------------------------------------------- + def distance_per_frame + 2 ** real_move_speed / 256.0 + end + #-------------------------------------------------------------------------- + # * Determine if Dashing + #-------------------------------------------------------------------------- + def dash? + return false + end + #-------------------------------------------------------------------------- + # * Determine if Debug Pass-Through State + #-------------------------------------------------------------------------- + def debug_through? + return false + end + #-------------------------------------------------------------------------- + # * Straighten Position + #-------------------------------------------------------------------------- + def straighten + @pattern = 1 if @walk_anime || @step_anime + @anime_count = 0 + end + #-------------------------------------------------------------------------- + # * Get Opposite Direction + # d : Direction (2,4,6,8) + #-------------------------------------------------------------------------- + def reverse_dir(d) + return 10 - d + end + #-------------------------------------------------------------------------- + # * Determine if Passable + # d : Direction (2,4,6,8) + #-------------------------------------------------------------------------- + def passable?(x, y, d) + x2 = $game_map.round_x_with_direction(x, d) + y2 = $game_map.round_y_with_direction(y, d) + return false unless $game_map.valid?(x2, y2) + return true if @through || debug_through? + return false unless map_passable?(x, y, d) + return false unless map_passable?(x2, y2, reverse_dir(d)) + return false if collide_with_characters?(x2, y2) + return true + end + #-------------------------------------------------------------------------- + # * Determine Diagonal Passability + # horz : Horizontal (4 or 6) + # vert : Vertical (2 or 8) + #-------------------------------------------------------------------------- + def diagonal_passable?(x, y, horz, vert) + x2 = $game_map.round_x_with_direction(x, horz) + y2 = $game_map.round_y_with_direction(y, vert) + (passable?(x, y, vert) && passable?(x, y2, horz)) || + (passable?(x, y, horz) && passable?(x2, y, vert)) + end + #-------------------------------------------------------------------------- + # * Determine if Map is Passable + # d : Direction (2,4,6,8) + #-------------------------------------------------------------------------- + def map_passable?(x, y, d) + $game_map.passable?(x, y, d) + end + #-------------------------------------------------------------------------- + # * Detect Collision with Character + #-------------------------------------------------------------------------- + def collide_with_characters?(x, y) + collide_with_events?(x, y) || collide_with_vehicles?(x, y) + end + #-------------------------------------------------------------------------- + # * Detect Collision with Event + #-------------------------------------------------------------------------- + def collide_with_events?(x, y) + $game_map.events_xy_nt(x, y).any? do |event| + event.normal_priority? || self.is_a?(Game_Event) + end + end + #-------------------------------------------------------------------------- + # * Detect Collision with Vehicle + #-------------------------------------------------------------------------- + def collide_with_vehicles?(x, y) + $game_map.boat.pos_nt?(x, y) || $game_map.ship.pos_nt?(x, y) + end + #-------------------------------------------------------------------------- + # * Move to Designated Position + #-------------------------------------------------------------------------- + def moveto(x, y) + @x = x % $game_map.width + @y = y % $game_map.height + @real_x = @x + @real_y = @y + @prelock_direction = 0 + straighten + update_bush_depth + end + #-------------------------------------------------------------------------- + # * Change Direction to Designated Direction + # d : Direction (2,4,6,8) + #-------------------------------------------------------------------------- + def set_direction(d) + @direction = d if !@direction_fix && d != 0 + @stop_count = 0 + end + #-------------------------------------------------------------------------- + # * Determine Tile + #-------------------------------------------------------------------------- + def tile? + @tile_id > 0 && @priority_type == 0 + end + #-------------------------------------------------------------------------- + # * Determine Object Character + #-------------------------------------------------------------------------- + def object_character? + @tile_id > 0 || @character_name[0, 1] == '!' + end + #-------------------------------------------------------------------------- + # * Get Number of Pixels to Shift Up from Tile Position + #-------------------------------------------------------------------------- + def shift_y + object_character? ? 0 : 4 + end + #-------------------------------------------------------------------------- + # * Get Screen X-Coordinates + #-------------------------------------------------------------------------- + def screen_x + $game_map.adjust_x(@real_x) * 32 + 16 + end + #-------------------------------------------------------------------------- + # * Get Screen Y-Coordinates + #-------------------------------------------------------------------------- + def screen_y + $game_map.adjust_y(@real_y) * 32 + 32 - shift_y - jump_height + end + #-------------------------------------------------------------------------- + # * Get Screen Z-Coordinates + #-------------------------------------------------------------------------- + def screen_z + @priority_type * 100 + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + update_animation + return update_jump if jumping? + return update_move if moving? + return update_stop + end + #-------------------------------------------------------------------------- + # * Update While Jumping + #-------------------------------------------------------------------------- + def update_jump + @jump_count -= 1 + @real_x = (@real_x * @jump_count + @x) / (@jump_count + 1.0) + @real_y = (@real_y * @jump_count + @y) / (@jump_count + 1.0) + update_bush_depth + if @jump_count == 0 + @real_x = @x = $game_map.round_x(@x) + @real_y = @y = $game_map.round_y(@y) + end + end + #-------------------------------------------------------------------------- + # * Update While Moving + #-------------------------------------------------------------------------- + def update_move + @real_x = [@real_x - distance_per_frame, @x].max if @x < @real_x + @real_x = [@real_x + distance_per_frame, @x].min if @x > @real_x + @real_y = [@real_y - distance_per_frame, @y].max if @y < @real_y + @real_y = [@real_y + distance_per_frame, @y].min if @y > @real_y + update_bush_depth unless moving? + end + #-------------------------------------------------------------------------- + # * Update While Stopped + #-------------------------------------------------------------------------- + def update_stop + @stop_count += 1 unless @locked + end + #-------------------------------------------------------------------------- + # * Update Walking/Stepping Animation + #-------------------------------------------------------------------------- + def update_animation + update_anime_count + if @anime_count > 18 - real_move_speed * 2 + update_anime_pattern + @anime_count = 0 + end + end + #-------------------------------------------------------------------------- + # * Update Animation Count + #-------------------------------------------------------------------------- + def update_anime_count + if moving? && @walk_anime + @anime_count += 1.5 + elsif @step_anime || @pattern != @original_pattern + @anime_count += 1 + end + end + #-------------------------------------------------------------------------- + # * Update Animation Pattern + #-------------------------------------------------------------------------- + def update_anime_pattern + if !@step_anime && @stop_count > 0 + @pattern = @original_pattern + else + @pattern = (@pattern + 1) % 4 + end + end + #-------------------------------------------------------------------------- + # * Determine if Ladder + #-------------------------------------------------------------------------- + def ladder? + $game_map.ladder?(@x, @y) + end + #-------------------------------------------------------------------------- + # * Update Bush Depth + #-------------------------------------------------------------------------- + def update_bush_depth + if normal_priority? && !object_character? && bush? && !jumping? + @bush_depth = 8 unless moving? + else + @bush_depth = 0 + end + end + #-------------------------------------------------------------------------- + # * Determine if Bush + #-------------------------------------------------------------------------- + def bush? + $game_map.bush?(@x, @y) + end + #-------------------------------------------------------------------------- + # * Get Terrain Tag + #-------------------------------------------------------------------------- + def terrain_tag + $game_map.terrain_tag(@x, @y) + end + #-------------------------------------------------------------------------- + # * Get Region ID + #-------------------------------------------------------------------------- + def region_id + $game_map.region_id(@x, @y) + end + #-------------------------------------------------------------------------- + # * Increase Steps + #-------------------------------------------------------------------------- + def increase_steps + set_direction(8) if ladder? + @stop_count = 0 + update_bush_depth + end + #-------------------------------------------------------------------------- + # * Change Graphics + # character_name : new character graphic filename + # character_index : new character graphic index + #-------------------------------------------------------------------------- + def set_graphic(character_name, character_index) + @tile_id = 0 + @character_name = character_name + @character_index = character_index + @original_pattern = 1 + end + #-------------------------------------------------------------------------- + # * Determine Triggering of Frontal Touch Event + #-------------------------------------------------------------------------- + def check_event_trigger_touch_front + x2 = $game_map.round_x_with_direction(@x, @direction) + y2 = $game_map.round_y_with_direction(@y, @direction) + check_event_trigger_touch(x2, y2) + end + #-------------------------------------------------------------------------- + # * Determine if Touch Event is Triggered + #-------------------------------------------------------------------------- + def check_event_trigger_touch(x, y) + return false + end + #-------------------------------------------------------------------------- + # * Move Straight + # d: Direction (2,4,6,8) + # turn_ok : Allows change of direction on the spot + #-------------------------------------------------------------------------- + def move_straight(d, turn_ok = true) + @move_succeed = passable?(@x, @y, d) + if @move_succeed + set_direction(d) + @x = $game_map.round_x_with_direction(@x, d) + @y = $game_map.round_y_with_direction(@y, d) + @real_x = $game_map.x_with_direction(@x, reverse_dir(d)) + @real_y = $game_map.y_with_direction(@y, reverse_dir(d)) + increase_steps + elsif turn_ok + set_direction(d) + check_event_trigger_touch_front + end + end + #-------------------------------------------------------------------------- + # * Move Diagonally + # horz: Horizontal (4 or 6) + # vert: Vertical (2 or 8) + #-------------------------------------------------------------------------- + def move_diagonal(horz, vert) + @move_succeed = diagonal_passable?(x, y, horz, vert) + if @move_succeed + @x = $game_map.round_x_with_direction(@x, horz) + @y = $game_map.round_y_with_direction(@y, vert) + @real_x = $game_map.x_with_direction(@x, reverse_dir(horz)) + @real_y = $game_map.y_with_direction(@y, reverse_dir(vert)) + increase_steps + end + set_direction(horz) if @direction == reverse_dir(horz) + set_direction(vert) if @direction == reverse_dir(vert) + end +end diff --git a/Scripts/RPG/Game_CommonEvent.rb b/Scripts/RPG/Game_CommonEvent.rb new file mode 100644 index 0000000..c1b72a6 --- /dev/null +++ b/Scripts/RPG/Game_CommonEvent.rb @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_CommonEvent +#------------------------------------------------------------------------------ +# This class handles common events. It includes functionality for execution of +# parallel process events. It's used within the Game_Map class ($game_map). +#============================================================================== + +class Game_CommonEvent + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(common_event_id) + @event = $data_common_events[common_event_id] + refresh + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + if active? + @interpreter ||= Game_Interpreter.new + else + @interpreter = nil + end + end + #-------------------------------------------------------------------------- + # * Determine if Active State + #-------------------------------------------------------------------------- + def active? + @event.parallel? && $game_switches[@event.switch_id] + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + if @interpreter + @interpreter.setup(@event.list) unless @interpreter.running? + @interpreter.update + end + end +end diff --git a/Scripts/RPG/Game_Enemy.rb b/Scripts/RPG/Game_Enemy.rb new file mode 100644 index 0000000..f51ab5b --- /dev/null +++ b/Scripts/RPG/Game_Enemy.rb @@ -0,0 +1,265 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Enemy +#------------------------------------------------------------------------------ +# This class handles enemies. It used within the Game_Troop class +# ($game_troop). +#============================================================================== + +class Game_Enemy < Game_Battler + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :index # index in troop + attr_reader :enemy_id # enemy ID + attr_reader :original_name # original name + attr_accessor :letter # letters to be attached to the name + attr_accessor :plural # multiple appearance flag + attr_accessor :screen_x # battle screen X coordinate + attr_accessor :screen_y # battle screen Y coordinate + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(index, enemy_id) + super() + @index = index + @enemy_id = enemy_id + enemy = $data_enemies[@enemy_id] + @original_name = enemy.name + @letter = "" + @plural = false + @screen_x = 0 + @screen_y = 0 + @battler_name = enemy.battler_name + @battler_hue = enemy.battler_hue + @hp = mhp + @mp = mmp + end + #-------------------------------------------------------------------------- + # * Determine if Enemy + #-------------------------------------------------------------------------- + def enemy? + return true + end + #-------------------------------------------------------------------------- + # * Get Allied Units + #-------------------------------------------------------------------------- + def friends_unit + $game_troop + end + #-------------------------------------------------------------------------- + # * Get Enemy Units + #-------------------------------------------------------------------------- + def opponents_unit + $game_party + end + #-------------------------------------------------------------------------- + # * Get Enemy Object + #-------------------------------------------------------------------------- + def enemy + $data_enemies[@enemy_id] + end + #-------------------------------------------------------------------------- + # * Get Array of All Objects Retaining Features + #-------------------------------------------------------------------------- + def feature_objects + super + [enemy] + end + #-------------------------------------------------------------------------- + # * Get Display Name + #-------------------------------------------------------------------------- + def name + @original_name + (@plural ? letter : "") + end + #-------------------------------------------------------------------------- + # * Get Base Value of Parameter + #-------------------------------------------------------------------------- + def param_base(param_id) + enemy.params[param_id] + end + #-------------------------------------------------------------------------- + # * Get Experience + #-------------------------------------------------------------------------- + def exp + enemy.exp + end + #-------------------------------------------------------------------------- + # * Get Gold + #-------------------------------------------------------------------------- + def gold + enemy.gold + end + #-------------------------------------------------------------------------- + # * Create Array of Dropped Items + #-------------------------------------------------------------------------- + def make_drop_items + enemy.drop_items.inject([]) do |r, di| + if di.kind > 0 && rand * di.denominator < drop_item_rate + r.push(item_object(di.kind, di.data_id)) + else + r + end + end + end + #-------------------------------------------------------------------------- + # * Get Multiplier for Dropped Item Acquisition Probability + #-------------------------------------------------------------------------- + def drop_item_rate + $game_party.drop_item_double? ? 2 : 1 + end + #-------------------------------------------------------------------------- + # * Get Item Object + #-------------------------------------------------------------------------- + def item_object(kind, data_id) + return $data_items [data_id] if kind == 1 + return $data_weapons[data_id] if kind == 2 + return $data_armors [data_id] if kind == 3 + return nil + end + #-------------------------------------------------------------------------- + # * Use Sprites? + #-------------------------------------------------------------------------- + def use_sprite? + return true + end + #-------------------------------------------------------------------------- + # * Get Battle Screen Z-Coordinate + #-------------------------------------------------------------------------- + def screen_z + return 100 + end + #-------------------------------------------------------------------------- + # * Execute Damage Effect + #-------------------------------------------------------------------------- + def perform_damage_effect + @sprite_effect_type = :blink + Sound.play_enemy_damage + end + #-------------------------------------------------------------------------- + # * Execute Collapse Effect + #-------------------------------------------------------------------------- + def perform_collapse_effect + case collapse_type + when 0 + @sprite_effect_type = :collapse + Sound.play_enemy_collapse + when 1 + @sprite_effect_type = :boss_collapse + Sound.play_boss_collapse1 + when 2 + @sprite_effect_type = :instant_collapse + end + end + #-------------------------------------------------------------------------- + # * Transform + #-------------------------------------------------------------------------- + def transform(enemy_id) + @enemy_id = enemy_id + if enemy.name != @original_name + @original_name = enemy.name + @letter = "" + @plural = false + end + @battler_name = enemy.battler_name + @battler_hue = enemy.battler_hue + refresh + make_actions unless @actions.empty? + end + #-------------------------------------------------------------------------- + # * Determine if Action Conditions Are Met + # action : RPG::Enemy::Action + #-------------------------------------------------------------------------- + def conditions_met?(action) + method_table = { + 1 => :conditions_met_turns?, + 2 => :conditions_met_hp?, + 3 => :conditions_met_mp?, + 4 => :conditions_met_state?, + 5 => :conditions_met_party_level?, + 6 => :conditions_met_switch?, + } + method_name = method_table[action.condition_type] + if method_name + send(method_name, action.condition_param1, action.condition_param2) + else + true + end + end + #-------------------------------------------------------------------------- + # * Determine if Action Conditions Are Met [Turns] + #-------------------------------------------------------------------------- + def conditions_met_turns?(param1, param2) + n = $game_troop.turn_count + if param2 == 0 + n == param1 + else + n > 0 && n >= param1 && n % param2 == param1 % param2 + end + end + #-------------------------------------------------------------------------- + # * Determine if Action Conditions Are Met [HP] + #-------------------------------------------------------------------------- + def conditions_met_hp?(param1, param2) + hp_rate >= param1 && hp_rate <= param2 + end + #-------------------------------------------------------------------------- + # * Determine if Action Conditions Are Met [MP] + #-------------------------------------------------------------------------- + def conditions_met_mp?(param1, param2) + mp_rate >= param1 && mp_rate <= param2 + end + #-------------------------------------------------------------------------- + # * Determine if Action Conditions Are Met [State] + #-------------------------------------------------------------------------- + def conditions_met_state?(param1, param2) + state?(param1) + end + #-------------------------------------------------------------------------- + # * Determine if Action Conditions Are Met [Party Level] + #-------------------------------------------------------------------------- + def conditions_met_party_level?(param1, param2) + $game_party.highest_level >= param1 + end + #-------------------------------------------------------------------------- + # * Determine if Action Conditions Are Met [Switch] + #-------------------------------------------------------------------------- + def conditions_met_switch?(param1, param2) + $game_switches[param1] + end + #-------------------------------------------------------------------------- + # * Determine if Action Is Valid in Current State + # action : RPG::Enemy::Action + #-------------------------------------------------------------------------- + def action_valid?(action) + conditions_met?(action) && usable?($data_skills[action.skill_id]) + end + #-------------------------------------------------------------------------- + # * Randomly Select Action + # action_list: RPG::Enemy::Action array + # rating_zero: Rating value to consider as zero + #-------------------------------------------------------------------------- + def select_enemy_action(action_list, rating_zero) + sum = action_list.inject(0) {|r, a| r += a.rating - rating_zero } + return nil if sum <= 0 + value = rand(sum) + action_list.each do |action| + return action if value < action.rating - rating_zero + value -= action.rating - rating_zero + end + end + #-------------------------------------------------------------------------- + # * Create Battle Action + #-------------------------------------------------------------------------- + def make_actions + super + return if @actions.empty? + action_list = enemy.actions.select {|a| action_valid?(a) } + return if action_list.empty? + rating_max = action_list.collect {|a| a.rating }.max + rating_zero = rating_max - 3 + action_list.reject! {|a| a.rating <= rating_zero } + @actions.each do |action| + action.set_enemy_action(select_enemy_action(action_list, rating_zero)) + end + end +end diff --git a/Scripts/RPG/Game_Event.rb b/Scripts/RPG/Game_Event.rb new file mode 100644 index 0000000..783ad0a --- /dev/null +++ b/Scripts/RPG/Game_Event.rb @@ -0,0 +1,309 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Event +#------------------------------------------------------------------------------ +# This class handles events. Functions include event page switching via +# condition determinants and running parallel process events. Used within the +# Game_Map class. +#============================================================================== + +class Game_Event < Game_Character + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :trigger # trigger + attr_reader :list # list of event commands + attr_reader :starting # starting flag + #-------------------------------------------------------------------------- + # * Object Initialization + # event: RPG::Event + #-------------------------------------------------------------------------- + def initialize(map_id, event) + super() + @map_id = map_id + @event = event + @id = @event.id + moveto(@event.x, @event.y) + refresh + end + #-------------------------------------------------------------------------- + # * Initialize Public Member Variables + #-------------------------------------------------------------------------- + def init_public_members + super + @trigger = 0 + @list = nil + @starting = false + end + #-------------------------------------------------------------------------- + # * Initialize Private Member Variables + #-------------------------------------------------------------------------- + def init_private_members + super + @move_type = 0 # Movement type + @erased = false # Temporary erase flag + @page = nil # Event page + end + #-------------------------------------------------------------------------- + # * Detect Collision with Character + #-------------------------------------------------------------------------- + def collide_with_characters?(x, y) + super || collide_with_player_characters?(x, y) + end + #-------------------------------------------------------------------------- + # * Detect Collision with Player (Including Followers) + #-------------------------------------------------------------------------- + def collide_with_player_characters?(x, y) + normal_priority? && $game_player.collide?(x, y) + end + #-------------------------------------------------------------------------- + # * Lock (Processing in Which Executing Events Stop) + #-------------------------------------------------------------------------- + def lock + unless @locked + @prelock_direction = @direction + turn_toward_player + @locked = true + end + end + #-------------------------------------------------------------------------- + # * Unlock + #-------------------------------------------------------------------------- + def unlock + if @locked + @locked = false + set_direction(@prelock_direction) + end + end + #-------------------------------------------------------------------------- + # * Update While Stopped + #-------------------------------------------------------------------------- + def update_stop + super + update_self_movement unless @move_route_forcing + end + #-------------------------------------------------------------------------- + # * Update During Autonomous Movement + #-------------------------------------------------------------------------- + def update_self_movement + if near_the_screen? && @stop_count > stop_count_threshold + case @move_type + when 1; move_type_random + when 2; move_type_toward_player + when 3; move_type_custom + end + end + end + #-------------------------------------------------------------------------- + # * Determine if Near Visible Area of Screen + # dx: A certain number of tiles left/right of screen's center + # dy: A certain number of tiles above/below screen's center + #-------------------------------------------------------------------------- + def near_the_screen?(dx = 12, dy = 8) + ax = $game_map.adjust_x(@real_x) - Graphics.width / 2 / 32 + ay = $game_map.adjust_y(@real_y) - Graphics.height / 2 / 32 + ax >= -dx && ax <= dx && ay >= -dy && ay <= dy + end + #-------------------------------------------------------------------------- + # * Calculate Threshold of Counter for Stopping Autonomous Movement Startup + #-------------------------------------------------------------------------- + def stop_count_threshold + 30 * (5 - @move_frequency) + end + #-------------------------------------------------------------------------- + # * Move Type : Random + #-------------------------------------------------------------------------- + def move_type_random + case rand(6) + when 0..1; move_random + when 2..4; move_forward + when 5; @stop_count = 0 + end + end + #-------------------------------------------------------------------------- + # * Move Type : Approach + #-------------------------------------------------------------------------- + def move_type_toward_player + if near_the_player? + case rand(6) + when 0..3; move_toward_player + when 4; move_random + when 5; move_forward + end + else + move_random + end + end + #-------------------------------------------------------------------------- + # * Determine if Near Player + #-------------------------------------------------------------------------- + def near_the_player? + sx = distance_x_from($game_player.x).abs + sy = distance_y_from($game_player.y).abs + sx + sy < 20 + end + #-------------------------------------------------------------------------- + # * Move Type : Custom + #-------------------------------------------------------------------------- + def move_type_custom + update_routine_move + end + #-------------------------------------------------------------------------- + # * Clear Starting Flag + #-------------------------------------------------------------------------- + def clear_starting_flag + @starting = false + end + #-------------------------------------------------------------------------- + # * Determine if Contents Are Empty + #-------------------------------------------------------------------------- + def empty? + !@list || @list.size <= 1 + end + #-------------------------------------------------------------------------- + # * Determine if One of Specified Triggers + # triggers : Trigger array + #-------------------------------------------------------------------------- + def trigger_in?(triggers) + triggers.include?(@trigger) + end + #-------------------------------------------------------------------------- + # * Start Event + #-------------------------------------------------------------------------- + def start + return if empty? + @starting = true + lock if trigger_in?([0,1,2]) + end + #-------------------------------------------------------------------------- + # * Temporarily Erase + #-------------------------------------------------------------------------- + def erase + @erased = true + refresh + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + new_page = @erased ? nil : find_proper_page + setup_page(new_page) if !new_page || new_page != @page + end + #-------------------------------------------------------------------------- + # * Find Event Page Meeting Conditions + #-------------------------------------------------------------------------- + def find_proper_page + @event.pages.reverse.find {|page| conditions_met?(page) } + end + #-------------------------------------------------------------------------- + # * Determine if Event Page Conditions Are Met + #-------------------------------------------------------------------------- + def conditions_met?(page) + c = page.condition + if c.switch1_valid + return false unless $game_switches[c.switch1_id] + end + if c.switch2_valid + return false unless $game_switches[c.switch2_id] + end + if c.variable_valid + return false if $game_variables[c.variable_id] < c.variable_value + end + if c.self_switch_valid + key = [@map_id, @event.id, c.self_switch_ch] + return false if $game_self_switches[key] != true + end + if c.item_valid + item = $data_items[c.item_id] + return false unless $game_party.has_item?(item) + end + if c.actor_valid + actor = $game_actors[c.actor_id] + return false unless $game_party.members.include?(actor) + end + return true + end + #-------------------------------------------------------------------------- + # * Event Page Setup + #-------------------------------------------------------------------------- + def setup_page(new_page) + @page = new_page + if @page + setup_page_settings + else + clear_page_settings + end + update_bush_depth + clear_starting_flag + check_event_trigger_auto + end + #-------------------------------------------------------------------------- + # * Clear Event Page Settings + #-------------------------------------------------------------------------- + def clear_page_settings + @tile_id = 0 + @character_name = "" + @character_index = 0 + @move_type = 0 + @through = true + @trigger = nil + @list = nil + @interpreter = nil + end + #-------------------------------------------------------------------------- + # * Set Up Event Page Settings + #-------------------------------------------------------------------------- + def setup_page_settings + @tile_id = @page.graphic.tile_id + @character_name = @page.graphic.character_name + @character_index = @page.graphic.character_index + if @original_direction != @page.graphic.direction + @direction = @page.graphic.direction + @original_direction = @direction + @prelock_direction = 0 + end + if @original_pattern != @page.graphic.pattern + @pattern = @page.graphic.pattern + @original_pattern = @pattern + end + @move_type = @page.move_type + @move_speed = @page.move_speed + @move_frequency = @page.move_frequency + @move_route = @page.move_route + @move_route_index = 0 + @move_route_forcing = false + @walk_anime = @page.walk_anime + @step_anime = @page.step_anime + @direction_fix = @page.direction_fix + @through = @page.through + @priority_type = @page.priority_type + @trigger = @page.trigger + @list = @page.list + @interpreter = @trigger == 4 ? Game_Interpreter.new : nil + end + #-------------------------------------------------------------------------- + # * Determine if Touch Event is Triggered + #-------------------------------------------------------------------------- + def check_event_trigger_touch(x, y) + return if $game_map.interpreter.running? + if @trigger == 2 && $game_player.pos?(x, y) + start if !jumping? && normal_priority? + end + end + #-------------------------------------------------------------------------- + # * Determine if Autorun Event is Triggered + #-------------------------------------------------------------------------- + def check_event_trigger_auto + start if @trigger == 3 + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + check_event_trigger_auto + return unless @interpreter + @interpreter.setup(@list, @event.id) unless @interpreter.running? + @interpreter.update + end +end diff --git a/Scripts/RPG/Game_Follower.rb b/Scripts/RPG/Game_Follower.rb new file mode 100644 index 0000000..d478b3c --- /dev/null +++ b/Scripts/RPG/Game_Follower.rb @@ -0,0 +1,75 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Follower +#------------------------------------------------------------------------------ +# This class handles followers. A follower is an allied character, other than +# the front character, displayed in the party. It is referenced within the +# Game_Followers class. +#============================================================================== + +class Game_Follower < Game_Character + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(member_index, preceding_character) + super() + @member_index = member_index + @preceding_character = preceding_character + @transparent = $data_system.opt_transparent + @through = true + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + @character_name = visible? ? actor.character_name : "" + @character_index = visible? ? actor.character_index : 0 + end + #-------------------------------------------------------------------------- + # * Get Corresponding Actor + #-------------------------------------------------------------------------- + def actor + $game_party.battle_members[@member_index] + end + #-------------------------------------------------------------------------- + # * Determine Visibility + #-------------------------------------------------------------------------- + def visible? + actor && $game_player.followers.visible + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + @move_speed = $game_player.real_move_speed + @transparent = $game_player.transparent + @walk_anime = $game_player.walk_anime + @step_anime = $game_player.step_anime + @direction_fix = $game_player.direction_fix + @opacity = $game_player.opacity + @blend_type = $game_player.blend_type + super + end + #-------------------------------------------------------------------------- + # * Pursue Preceding Character + #-------------------------------------------------------------------------- + def chase_preceding_character + unless moving? + sx = distance_x_from(@preceding_character.x) + sy = distance_y_from(@preceding_character.y) + if sx != 0 && sy != 0 + move_diagonal(sx > 0 ? 4 : 6, sy > 0 ? 8 : 2) + elsif sx != 0 + move_straight(sx > 0 ? 4 : 6) + elsif sy != 0 + move_straight(sy > 0 ? 8 : 2) + end + end + end + #-------------------------------------------------------------------------- + # * Determine if at Same Position as Preceding Character + #-------------------------------------------------------------------------- + def gather? + !moving? && pos?(@preceding_character.x, @preceding_character.y) + end +end diff --git a/Scripts/RPG/Game_Followers.rb b/Scripts/RPG/Game_Followers.rb new file mode 100644 index 0000000..6843bad --- /dev/null +++ b/Scripts/RPG/Game_Followers.rb @@ -0,0 +1,113 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Followers +#------------------------------------------------------------------------------ +# This is a wrapper for a follower array. This class is used internally for +# the Game_Player class. +#============================================================================== + +class Game_Followers + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_accessor :visible # Player Followers ON? + #-------------------------------------------------------------------------- + # * Object Initialization + # leader: Lead character + #-------------------------------------------------------------------------- + def initialize(leader) + @visible = $data_system.opt_followers + @gathering = false # Gathering processing underway flag + @data = [] + @data.push(Game_Follower.new(1, leader)) + (2...$game_party.max_battle_members).each do |index| + @data.push(Game_Follower.new(index, @data[-1])) + end + end + #-------------------------------------------------------------------------- + # * Get Followers + #-------------------------------------------------------------------------- + def [](index) + @data[index] + end + #-------------------------------------------------------------------------- + # * Iterator + #-------------------------------------------------------------------------- + def each + @data.each {|follower| yield follower } if block_given? + end + #-------------------------------------------------------------------------- + # * Iterator (Reverse) + #-------------------------------------------------------------------------- + def reverse_each + @data.reverse.each {|follower| yield follower } if block_given? + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + each {|follower| follower.refresh } + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + if gathering? + move unless moving? || moving? + @gathering = false if gather? + end + each {|follower| follower.update } + end + #-------------------------------------------------------------------------- + # * Movement + #-------------------------------------------------------------------------- + def move + reverse_each {|follower| follower.chase_preceding_character } + end + #-------------------------------------------------------------------------- + # * Synchronize + #-------------------------------------------------------------------------- + def synchronize(x, y, d) + each do |follower| + follower.moveto(x, y) + follower.set_direction(d) + end + end + #-------------------------------------------------------------------------- + # * Gather + #-------------------------------------------------------------------------- + def gather + @gathering = true + end + #-------------------------------------------------------------------------- + # * Determine if Gathering + #-------------------------------------------------------------------------- + def gathering? + @gathering + end + #-------------------------------------------------------------------------- + # * Get Array of Displayed Followers + # "folloers" is typo, but retained because of the compatibility. + #-------------------------------------------------------------------------- + def visible_folloers + @data.select {|follower| follower.visible? } + end + #-------------------------------------------------------------------------- + # * Determine if Moving + #-------------------------------------------------------------------------- + def moving? + visible_folloers.any? {|follower| follower.moving? } + end + #-------------------------------------------------------------------------- + # * Determine if Gathered + #-------------------------------------------------------------------------- + def gather? + visible_folloers.all? {|follower| follower.gather? } + end + #-------------------------------------------------------------------------- + # * Detect Collision + #-------------------------------------------------------------------------- + def collide?(x, y) + visible_folloers.any? {|follower| follower.pos?(x, y) } + end +end diff --git a/Scripts/RPG/Game_Interpreter.rb b/Scripts/RPG/Game_Interpreter.rb new file mode 100644 index 0000000..53e9dbf --- /dev/null +++ b/Scripts/RPG/Game_Interpreter.rb @@ -0,0 +1,1414 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Interpreter +#------------------------------------------------------------------------------ +# An interpreter for executing event commands. This class is used within the +# Game_Map, Game_Troop, and Game_Event classes. +#============================================================================== + +class Game_Interpreter + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :map_id # Map ID + attr_reader :event_id # Event ID (normal events only) + #-------------------------------------------------------------------------- + # * Object Initialization + # depth : nest depth + #-------------------------------------------------------------------------- + def initialize(depth = 0) + @depth = depth + check_overflow + clear + end + #-------------------------------------------------------------------------- + # * Check for Overflow + # Under normal usage, the depth will not exceed 100. Since recursive + # event calls are likely to result in an infinite loop, the depth is + # cut off at 100 and an error results. + #-------------------------------------------------------------------------- + def check_overflow + if @depth >= 100 + msgbox(Vocab::EventOverflow) + exit + end + end + #-------------------------------------------------------------------------- + # * Clear + #-------------------------------------------------------------------------- + def clear + @map_id = 0 + @event_id = 0 + @list = nil # Execution content + @index = 0 # Index + @branch = {} # Branch data + @fiber = nil # Fiber + end + #-------------------------------------------------------------------------- + # * Event Setup + #-------------------------------------------------------------------------- + def setup(list, event_id = 0) + clear + @map_id = $game_map.map_id + @event_id = event_id + @list = list + create_fiber + end + #-------------------------------------------------------------------------- + # * Create Fiber + #-------------------------------------------------------------------------- + def create_fiber + @fiber = Fiber.new { run } if @list + end + #-------------------------------------------------------------------------- + # * Dump Objects + # Define fibers in advance as they are not compatible with Marshal. + # Advance the event execution position by one and save. + #-------------------------------------------------------------------------- + def marshal_dump + [@depth, @map_id, @event_id, @list, @index + 1, @branch] + end + #-------------------------------------------------------------------------- + # * Load Objects + # obj: An array of objects dumped by marshal_dump. + # Restore data through multiple assignment and if necessary create fiber. + #-------------------------------------------------------------------------- + def marshal_load(obj) + @depth, @map_id, @event_id, @list, @index, @branch = obj + create_fiber + end + #-------------------------------------------------------------------------- + # * Determine if Same Map as at Event Start + #-------------------------------------------------------------------------- + def same_map? + @map_id == $game_map.map_id + end + #-------------------------------------------------------------------------- + # * Detect/Set Up Call-Reserved Common Events + #-------------------------------------------------------------------------- + def setup_reserved_common_event + if $game_temp.common_event_reserved? + setup($game_temp.reserved_common_event.list) + $game_temp.clear_common_event + true + else + false + end + end + #-------------------------------------------------------------------------- + # * Execute + #-------------------------------------------------------------------------- + def run + wait_for_message + while @list[@index] do + execute_command + @index += 1 + end + Fiber.yield + @fiber = nil + end + #-------------------------------------------------------------------------- + # * Determine if Running + #-------------------------------------------------------------------------- + def running? + @fiber != nil + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + @fiber.resume if @fiber + end + #-------------------------------------------------------------------------- + # * Actor Iterator (ID) + # param : If 1 or more, ID. If 0, all + #-------------------------------------------------------------------------- + def iterate_actor_id(param) + if param == 0 + $game_party.members.each {|actor| yield actor } + else + actor = $game_actors[param] + yield actor if actor + end + end + #-------------------------------------------------------------------------- + # * Actor Iterator (Variable) + # param1: Specify as fixed if 0 and variable if 1 + # param2: Actor or variable ID + #-------------------------------------------------------------------------- + def iterate_actor_var(param1, param2) + if param1 == 0 + iterate_actor_id(param2) {|actor| yield actor } + else + iterate_actor_id($game_variables[param2]) {|actor| yield actor } + end + end + #-------------------------------------------------------------------------- + # * Actor Iterator (Index) + # param : If 0 or more, index. If -1, all. + #-------------------------------------------------------------------------- + def iterate_actor_index(param) + if param < 0 + $game_party.members.each {|actor| yield actor } + else + actor = $game_party.members[param] + yield actor if actor + end + end + #-------------------------------------------------------------------------- + # * Enemy Iterator (Index) + # param : If 0 or more, index. If -1, all. + #-------------------------------------------------------------------------- + def iterate_enemy_index(param) + if param < 0 + $game_troop.members.each {|enemy| yield enemy } + else + enemy = $game_troop.members[param] + yield enemy if enemy + end + end + #-------------------------------------------------------------------------- + # * Battler Iterator (Account for Entire Enemy Group or Entire Party) + # param1 : If 0, enemy. If 1, actor. + # param2: Index if enemy and ID if actor. + #-------------------------------------------------------------------------- + def iterate_battler(param1, param2) + if $game_party.in_battle + if param1 == 0 + iterate_enemy_index(param2) {|enemy| yield enemy } + else + iterate_actor_id(param2) {|actor| yield actor } + end + end + end + #-------------------------------------------------------------------------- + # * Get Target of Screen Command + #-------------------------------------------------------------------------- + def screen + $game_party.in_battle ? $game_troop.screen : $game_map.screen + end + #-------------------------------------------------------------------------- + # * Event Command Execution + #-------------------------------------------------------------------------- + def execute_command + command = @list[@index] + @params = command.parameters + @indent = command.indent + method_name = "command_#{command.code}" + send(method_name) if respond_to?(method_name) + end + #-------------------------------------------------------------------------- + # * Command Skip + # Skip commands deeper than current index and advance index. + #-------------------------------------------------------------------------- + def command_skip + @index += 1 while @list[@index + 1].indent > @indent + end + #-------------------------------------------------------------------------- + # * Get Code of Next Event Command + #-------------------------------------------------------------------------- + def next_event_code + @list[@index + 1].code + end + #-------------------------------------------------------------------------- + # * Get Character + # param : If -1, player. If 0, this event. Otherwise, event ID. + #-------------------------------------------------------------------------- + def get_character(param) + if $game_party.in_battle + nil + elsif param < 0 + $game_player + else + events = same_map? ? $game_map.events : {} + events[param > 0 ? param : @event_id] + end + end + #-------------------------------------------------------------------------- + # * Calculate Operated Value + # operation : Operation (0: Increase 1: Decrease) + # operand_type : Operand type (0: Constant 1: Variable) + # operand : Operand (numeric value or variable ID) + #-------------------------------------------------------------------------- + def operate_value(operation, operand_type, operand) + value = operand_type == 0 ? operand : $game_variables[operand] + operation == 0 ? value : -value + end + #-------------------------------------------------------------------------- + # * Wait + #-------------------------------------------------------------------------- + def wait(duration) + duration.times { Fiber.yield } + end + #-------------------------------------------------------------------------- + # * Wait While Message Display is Busy + #-------------------------------------------------------------------------- + def wait_for_message + Fiber.yield while $game_message.busy? + end + #-------------------------------------------------------------------------- + # * Show Text + #-------------------------------------------------------------------------- + def command_101 + wait_for_message + $game_message.face_name = @params[0] + $game_message.face_index = @params[1] + $game_message.background = @params[2] + $game_message.position = @params[3] + while next_event_code == 401 # Text data + @index += 1 + $game_message.add(@list[@index].parameters[0]) + end + case next_event_code + when 102 # Show Choices + @index += 1 + setup_choices(@list[@index].parameters) + when 103 # Input Number + @index += 1 + setup_num_input(@list[@index].parameters) + when 104 # Select Item + @index += 1 + setup_item_choice(@list[@index].parameters) + end + wait_for_message + end + #-------------------------------------------------------------------------- + # * Show Choices + #-------------------------------------------------------------------------- + def command_102 + wait_for_message + setup_choices(@params) + Fiber.yield while $game_message.choice? + end + #-------------------------------------------------------------------------- + # * Setup Choices + #-------------------------------------------------------------------------- + def setup_choices(params) + params[0].each {|s| $game_message.choices.push(s) } + $game_message.choice_cancel_type = params[1] + $game_message.choice_proc = Proc.new {|n| @branch[@indent] = n } + end + #-------------------------------------------------------------------------- + # * When [**] + #-------------------------------------------------------------------------- + def command_402 + command_skip if @branch[@indent] != @params[0] + end + #-------------------------------------------------------------------------- + # * When Cancel + #-------------------------------------------------------------------------- + def command_403 + command_skip if @branch[@indent] != 4 + end + #-------------------------------------------------------------------------- + # * Input Number + #-------------------------------------------------------------------------- + def command_103 + wait_for_message + setup_num_input(@params) + Fiber.yield while $game_message.num_input? + end + #-------------------------------------------------------------------------- + # * Number Input Setup + #-------------------------------------------------------------------------- + def setup_num_input(params) + $game_message.num_input_variable_id = params[0] + $game_message.num_input_digits_max = params[1] + end + #-------------------------------------------------------------------------- + # * Select Item + #-------------------------------------------------------------------------- + def command_104 + wait_for_message + setup_item_choice(@params) + Fiber.yield while $game_message.item_choice? + end + #-------------------------------------------------------------------------- + # * Set Up Item Selection + #-------------------------------------------------------------------------- + def setup_item_choice(params) + $game_message.item_choice_variable_id = params[0] + end + #-------------------------------------------------------------------------- + # * Show Scrolling Text + #-------------------------------------------------------------------------- + def command_105 + Fiber.yield while $game_message.visible + $game_message.scroll_mode = true + $game_message.scroll_speed = @params[0] + $game_message.scroll_no_fast = @params[1] + while next_event_code == 405 + @index += 1 + $game_message.add(@list[@index].parameters[0]) + end + wait_for_message + end + #-------------------------------------------------------------------------- + # * Comment + #-------------------------------------------------------------------------- + def command_108 + @comments = [@params[0]] + while next_event_code == 408 + @index += 1 + @comments.push(@list[@index].parameters[0]) + end + end + #-------------------------------------------------------------------------- + # * Conditional Branch + #-------------------------------------------------------------------------- + def command_111 + result = false + case @params[0] + when 0 # Switch + result = ($game_switches[@params[1]] == (@params[2] == 0)) + when 1 # Variable + value1 = $game_variables[@params[1]] + if @params[2] == 0 + value2 = @params[3] + else + value2 = $game_variables[@params[3]] + end + case @params[4] + when 0 # value1 is equal to value2 + result = (value1 == value2) + when 1 # value1 is greater than or equal to value2 + result = (value1 >= value2) + when 2 # value1 is less than or equal to value2 + result = (value1 <= value2) + when 3 # value1 is greater than value2 + result = (value1 > value2) + when 4 # value1 is less than value2 + result = (value1 < value2) + when 5 # value1 is not equal to value2 + result = (value1 != value2) + end + when 2 # Self switch + if @event_id > 0 + key = [@map_id, @event_id, @params[1]] + result = ($game_self_switches[key] == (@params[2] == 0)) + end + when 3 # Timer + if $game_timer.working? + if @params[2] == 0 + result = ($game_timer.sec >= @params[1]) + else + result = ($game_timer.sec <= @params[1]) + end + end + when 4 # Actor + actor = $game_actors[@params[1]] + if actor + case @params[2] + when 0 # in party + result = ($game_party.members.include?(actor)) + when 1 # name + result = (actor.name == @params[3]) + when 2 # Class + result = (actor.class_id == @params[3]) + when 3 # Skills + result = (actor.skill_learn?($data_skills[@params[3]])) + when 4 # Weapons + result = (actor.weapons.include?($data_weapons[@params[3]])) + when 5 # Armors + result = (actor.armors.include?($data_armors[@params[3]])) + when 6 # States + result = (actor.state?(@params[3])) + end + end + when 5 # Enemy + enemy = $game_troop.members[@params[1]] + if enemy + case @params[2] + when 0 # appear + result = (enemy.alive?) + when 1 # state + result = (enemy.state?(@params[3])) + end + end + when 6 # Character + character = get_character(@params[1]) + if character + result = (character.direction == @params[2]) + end + when 7 # Gold + case @params[2] + when 0 # Greater than or equal to + result = ($game_party.gold >= @params[1]) + when 1 # Less than or equal to + result = ($game_party.gold <= @params[1]) + when 2 # Less than + result = ($game_party.gold < @params[1]) + end + when 8 # Item + result = $game_party.has_item?($data_items[@params[1]]) + when 9 # Weapon + result = $game_party.has_item?($data_weapons[@params[1]], @params[2]) + when 10 # Armor + result = $game_party.has_item?($data_armors[@params[1]], @params[2]) + when 11 # Button + result = Input.press?(@params[1]) + when 12 # Script + result = eval(@params[1]) + when 13 # Vehicle + result = ($game_player.vehicle == $game_map.vehicles[@params[1]]) + end + @branch[@indent] = result + command_skip if !@branch[@indent] + end + #-------------------------------------------------------------------------- + # * Else + #-------------------------------------------------------------------------- + def command_411 + command_skip if @branch[@indent] + end + #-------------------------------------------------------------------------- + # * Loop + #-------------------------------------------------------------------------- + def command_112 + end + #-------------------------------------------------------------------------- + # * Repeat Above + #-------------------------------------------------------------------------- + def command_413 + begin + @index -= 1 + end until @list[@index].indent == @indent + end + #-------------------------------------------------------------------------- + # * Break Loop + #-------------------------------------------------------------------------- + def command_113 + loop do + @index += 1 + return if @index >= @list.size - 1 + return if @list[@index].code == 413 && @list[@index].indent < @indent + end + end + #-------------------------------------------------------------------------- + # * Exit Event Processing + #-------------------------------------------------------------------------- + def command_115 + @index = @list.size + end + #-------------------------------------------------------------------------- + # * Common Event + #-------------------------------------------------------------------------- + def command_117 + common_event = $data_common_events[@params[0]] + if common_event + child = Game_Interpreter.new(@depth + 1) + child.setup(common_event.list, same_map? ? @event_id : 0) + child.run + end + end + #-------------------------------------------------------------------------- + # * Label + #-------------------------------------------------------------------------- + def command_118 + end + #-------------------------------------------------------------------------- + # * Jump to Label + #-------------------------------------------------------------------------- + def command_119 + label_name = @params[0] + @list.size.times do |i| + if @list[i].code == 118 && @list[i].parameters[0] == label_name + @index = i + return + end + end + end + #-------------------------------------------------------------------------- + # * Control Switches + #-------------------------------------------------------------------------- + def command_121 + (@params[0]..@params[1]).each do |i| + $game_switches[i] = (@params[2] == 0) + end + end + #-------------------------------------------------------------------------- + # * Control Variables + #-------------------------------------------------------------------------- + def command_122 + value = 0 + case @params[3] # Operand + when 0 # Constant + value = @params[4] + when 1 # Variable + value = $game_variables[@params[4]] + when 2 # Random + value = @params[4] + rand(@params[5] - @params[4] + 1) + when 3 # Game Data + value = game_data_operand(@params[4], @params[5], @params[6]) + when 4 # Script + value = eval(@params[4]) + end + (@params[0]..@params[1]).each do |i| + operate_variable(i, @params[2], value) + end + end + #-------------------------------------------------------------------------- + # * Get Game Data for Variable Operand + #-------------------------------------------------------------------------- + def game_data_operand(type, param1, param2) + case type + when 0 # Items + return $game_party.item_number($data_items[param1]) + when 1 # Weapons + return $game_party.item_number($data_weapons[param1]) + when 2 # Armor + return $game_party.item_number($data_armors[param1]) + when 3 # Actors + actor = $game_actors[param1] + if actor + case param2 + when 0 # Level + return actor.level + when 1 # EXP + return actor.exp + when 2 # HP + return actor.hp + when 3 # MP + return actor.mp + when 4..11 # Parameter + return actor.param(param2 - 4) + end + end + when 4 # Enemies + enemy = $game_troop.members[param1] + if enemy + case param2 + when 0 # HP + return enemy.hp + when 1 # MP + return enemy.mp + when 2..9 # Parameter + return enemy.param(param2 - 2) + end + end + when 5 # Character + character = get_character(param1) + if character + case param2 + when 0 # x-coordinate + return character.x + when 1 # y-coordinate + return character.y + when 2 # direction + return character.direction + when 3 # screen x-coordinate + return character.screen_x + when 4 # screen y-coordinate + return character.screen_y + end + end + when 6 # Party + actor = $game_party.members[param1] + return actor ? actor.id : 0 + when 7 # Other + case param1 + when 0 # map ID + return $game_map.map_id + when 1 # number of party members + return $game_party.members.size + when 2 # gold + return $game_party.gold + when 3 # steps + return $game_party.steps + when 4 # play time + return Graphics.frame_count / Graphics.frame_rate + when 5 # timer + return $game_timer.sec + when 6 # save count + return $game_system.save_count + when 7 # battle count + return $game_system.battle_count + end + end + return 0 + end + #-------------------------------------------------------------------------- + # * Execute Variable Operation + #-------------------------------------------------------------------------- + def operate_variable(variable_id, operation_type, value) + begin + case operation_type + when 0 # Set + $game_variables[variable_id] = value + when 1 # Add + $game_variables[variable_id] += value + when 2 # Sub + $game_variables[variable_id] -= value + when 3 # Mul + $game_variables[variable_id] *= value + when 4 # Div + $game_variables[variable_id] /= value + when 5 # Mod + $game_variables[variable_id] %= value + end + rescue + $game_variables[variable_id] = 0 + end + end + #-------------------------------------------------------------------------- + # * Control Self Switch + #-------------------------------------------------------------------------- + def command_123 + if @event_id > 0 + key = [@map_id, @event_id, @params[0]] + $game_self_switches[key] = (@params[1] == 0) + end + end + #-------------------------------------------------------------------------- + # * Control Timer + #-------------------------------------------------------------------------- + def command_124 + if @params[0] == 0 # Start + $game_timer.start(@params[1] * Graphics.frame_rate) + else # Stop + $game_timer.stop + end + end + #-------------------------------------------------------------------------- + # * Change Gold + #-------------------------------------------------------------------------- + def command_125 + value = operate_value(@params[0], @params[1], @params[2]) + $game_party.gain_gold(value) + end + #-------------------------------------------------------------------------- + # * Change Items + #-------------------------------------------------------------------------- + def command_126 + value = operate_value(@params[1], @params[2], @params[3]) + $game_party.gain_item($data_items[@params[0]], value) + end + #-------------------------------------------------------------------------- + # * Change Weapons + #-------------------------------------------------------------------------- + def command_127 + value = operate_value(@params[1], @params[2], @params[3]) + $game_party.gain_item($data_weapons[@params[0]], value, @params[4]) + end + #-------------------------------------------------------------------------- + # * Change Armor + #-------------------------------------------------------------------------- + def command_128 + value = operate_value(@params[1], @params[2], @params[3]) + $game_party.gain_item($data_armors[@params[0]], value, @params[4]) + end + #-------------------------------------------------------------------------- + # * Change Party Member + #-------------------------------------------------------------------------- + def command_129 + actor = $game_actors[@params[0]] + if actor + if @params[1] == 0 # Add + if @params[2] == 1 # Initialize + $game_actors[@params[0]].setup(@params[0]) + end + $game_party.add_actor(@params[0]) + else # Remove + $game_party.remove_actor(@params[0]) + end + end + end + #-------------------------------------------------------------------------- + # * Change Battle BGM + #-------------------------------------------------------------------------- + def command_132 + $game_system.battle_bgm = @params[0] + end + #-------------------------------------------------------------------------- + # * Change Battle End ME + #-------------------------------------------------------------------------- + def command_133 + $game_system.battle_end_me = @params[0] + end + #-------------------------------------------------------------------------- + # * Change Save Access + #-------------------------------------------------------------------------- + def command_134 + $game_system.save_disabled = (@params[0] == 0) + end + #-------------------------------------------------------------------------- + # * Change Menu Access + #-------------------------------------------------------------------------- + def command_135 + $game_system.menu_disabled = (@params[0] == 0) + end + #-------------------------------------------------------------------------- + # * Change Encounter Disable + #-------------------------------------------------------------------------- + def command_136 + $game_system.encounter_disabled = (@params[0] == 0) + $game_player.make_encounter_count + end + #-------------------------------------------------------------------------- + # * Change Formation Access + #-------------------------------------------------------------------------- + def command_137 + $game_system.formation_disabled = (@params[0] == 0) + end + #-------------------------------------------------------------------------- + # * Change Window Color + #-------------------------------------------------------------------------- + def command_138 + $game_system.window_tone = @params[0] + end + #-------------------------------------------------------------------------- + # * Transfer Player + #-------------------------------------------------------------------------- + def command_201 + return if $game_party.in_battle + Fiber.yield while $game_player.transfer? || $game_message.visible + if @params[0] == 0 # Direct designation + map_id = @params[1] + x = @params[2] + y = @params[3] + else # Designation with variables + map_id = $game_variables[@params[1]] + x = $game_variables[@params[2]] + y = $game_variables[@params[3]] + end + $game_player.reserve_transfer(map_id, x, y, @params[4]) + $game_temp.fade_type = @params[5] + Fiber.yield while $game_player.transfer? + end + #-------------------------------------------------------------------------- + # * Set Vehicle Location + #-------------------------------------------------------------------------- + def command_202 + if @params[1] == 0 # Direct designation + map_id = @params[2] + x = @params[3] + y = @params[4] + else # Designation with variables + map_id = $game_variables[@params[2]] + x = $game_variables[@params[3]] + y = $game_variables[@params[4]] + end + vehicle = $game_map.vehicles[@params[0]] + vehicle.set_location(map_id, x, y) if vehicle + end + #-------------------------------------------------------------------------- + # * Set Event Location + #-------------------------------------------------------------------------- + def command_203 + character = get_character(@params[0]) + if character + if @params[1] == 0 # Direct designation + character.moveto(@params[2], @params[3]) + elsif @params[1] == 1 # Designation with variables + new_x = $game_variables[@params[2]] + new_y = $game_variables[@params[3]] + character.moveto(new_x, new_y) + else # Exchange with another event + character2 = get_character(@params[2]) + character.swap(character2) if character2 + end + character.set_direction(@params[4]) if @params[4] > 0 + end + end + #-------------------------------------------------------------------------- + # * Scroll Map + #-------------------------------------------------------------------------- + def command_204 + return if $game_party.in_battle + Fiber.yield while $game_map.scrolling? + $game_map.start_scroll(@params[0], @params[1], @params[2]) + end + #-------------------------------------------------------------------------- + # * Set Move Route + #-------------------------------------------------------------------------- + def command_205 + $game_map.refresh if $game_map.need_refresh + character = get_character(@params[0]) + if character + character.force_move_route(@params[1]) + Fiber.yield while character.move_route_forcing if @params[1].wait + end + end + #-------------------------------------------------------------------------- + # * Getting On and Off Vehicles + #-------------------------------------------------------------------------- + def command_206 + $game_player.get_on_off_vehicle + end + #-------------------------------------------------------------------------- + # * Change Transparency + #-------------------------------------------------------------------------- + def command_211 + $game_player.transparent = (@params[0] == 0) + end + #-------------------------------------------------------------------------- + # * Show Animation + #-------------------------------------------------------------------------- + def command_212 + character = get_character(@params[0]) + if character + character.animation_id = @params[1] + Fiber.yield while character.animation_id > 0 if @params[2] + end + end + #-------------------------------------------------------------------------- + # * Show Balloon Icon + #-------------------------------------------------------------------------- + def command_213 + character = get_character(@params[0]) + if character + character.balloon_id = @params[1] + Fiber.yield while character.balloon_id > 0 if @params[2] + end + end + #-------------------------------------------------------------------------- + # * Temporarily Erase Event + #-------------------------------------------------------------------------- + def command_214 + $game_map.events[@event_id].erase if same_map? && @event_id > 0 + end + #-------------------------------------------------------------------------- + # * Change Player Followers + #-------------------------------------------------------------------------- + def command_216 + $game_player.followers.visible = (@params[0] == 0) + $game_player.refresh + end + #-------------------------------------------------------------------------- + # * Gather Followers + #-------------------------------------------------------------------------- + def command_217 + return if $game_party.in_battle + $game_player.followers.gather + Fiber.yield until $game_player.followers.gather? + end + #-------------------------------------------------------------------------- + # * Fadeout Screen + #-------------------------------------------------------------------------- + def command_221 + Fiber.yield while $game_message.visible + screen.start_fadeout(30) + wait(30) + end + #-------------------------------------------------------------------------- + # * Fadein Screen + #-------------------------------------------------------------------------- + def command_222 + Fiber.yield while $game_message.visible + screen.start_fadein(30) + wait(30) + end + #-------------------------------------------------------------------------- + # * Tint Screen + #-------------------------------------------------------------------------- + def command_223 + screen.start_tone_change(@params[0], @params[1]) + wait(@params[1]) if @params[2] + end + #-------------------------------------------------------------------------- + # * Screen Flash + #-------------------------------------------------------------------------- + def command_224 + screen.start_flash(@params[0], @params[1]) + wait(@params[1]) if @params[2] + end + #-------------------------------------------------------------------------- + # * Screen Shake + #-------------------------------------------------------------------------- + def command_225 + screen.start_shake(@params[0], @params[1], @params[2]) + wait(@params[1]) if @params[2] + end + #-------------------------------------------------------------------------- + # * Wait + #-------------------------------------------------------------------------- + def command_230 + wait(@params[0]) + end + #-------------------------------------------------------------------------- + # * Show Picture + #-------------------------------------------------------------------------- + def command_231 + if @params[3] == 0 # Direct designation + x = @params[4] + y = @params[5] + else # Designation with variables + x = $game_variables[@params[4]] + y = $game_variables[@params[5]] + end + screen.pictures[@params[0]].show(@params[1], @params[2], + x, y, @params[6], @params[7], @params[8], @params[9]) + end + #-------------------------------------------------------------------------- + # * Move Picture + #-------------------------------------------------------------------------- + def command_232 + if @params[3] == 0 # Direct designation + x = @params[4] + y = @params[5] + else # Designation with variables + x = $game_variables[@params[4]] + y = $game_variables[@params[5]] + end + screen.pictures[@params[0]].move(@params[2], x, y, @params[6], + @params[7], @params[8], @params[9], @params[10]) + wait(@params[10]) if @params[11] + end + #-------------------------------------------------------------------------- + # * Rotate Picture + #-------------------------------------------------------------------------- + def command_233 + screen.pictures[@params[0]].rotate(@params[1]) + end + #-------------------------------------------------------------------------- + # * Tint Picture + #-------------------------------------------------------------------------- + def command_234 + screen.pictures[@params[0]].start_tone_change(@params[1], @params[2]) + wait(@params[2]) if @params[3] + end + #-------------------------------------------------------------------------- + # * Erase Picture + #-------------------------------------------------------------------------- + def command_235 + screen.pictures[@params[0]].erase + end + #-------------------------------------------------------------------------- + # * Set Weather + #-------------------------------------------------------------------------- + def command_236 + return if $game_party.in_battle + screen.change_weather(@params[0], @params[1], @params[2]) + wait(@params[2]) if @params[3] + end + #-------------------------------------------------------------------------- + # * Play BGM + #-------------------------------------------------------------------------- + def command_241 + @params[0].play + end + #-------------------------------------------------------------------------- + # * Fadeout BGM + #-------------------------------------------------------------------------- + def command_242 + RPG::BGM.fade(@params[0] * 1000) + end + #-------------------------------------------------------------------------- + # * Save BGM + #-------------------------------------------------------------------------- + def command_243 + $game_system.save_bgm + end + #-------------------------------------------------------------------------- + # * Resume BGM + #-------------------------------------------------------------------------- + def command_244 + $game_system.replay_bgm + end + #-------------------------------------------------------------------------- + # * Play BGS + #-------------------------------------------------------------------------- + def command_245 + @params[0].play + end + #-------------------------------------------------------------------------- + # * Fadeout BGS + #-------------------------------------------------------------------------- + def command_246 + RPG::BGS.fade(@params[0] * 1000) + end + #-------------------------------------------------------------------------- + # * Play ME + #-------------------------------------------------------------------------- + def command_249 + @params[0].play + end + #-------------------------------------------------------------------------- + # * Play SE + #-------------------------------------------------------------------------- + def command_250 + @params[0].play + end + #-------------------------------------------------------------------------- + # * Stop SE + #-------------------------------------------------------------------------- + def command_251 + RPG::SE.stop + end + #-------------------------------------------------------------------------- + # * Play Movie + #-------------------------------------------------------------------------- + def command_261 + Fiber.yield while $game_message.visible + Fiber.yield + name = @params[0] + Graphics.play_movie('Movies/' + name) unless name.empty? + end + #-------------------------------------------------------------------------- + # * Change Map Name Display + #-------------------------------------------------------------------------- + def command_281 + $game_map.name_display = (@params[0] == 0) + end + #-------------------------------------------------------------------------- + # * Change Tileset + #-------------------------------------------------------------------------- + def command_282 + $game_map.change_tileset(@params[0]) + end + #-------------------------------------------------------------------------- + # * Change Battle Background + #-------------------------------------------------------------------------- + def command_283 + $game_map.change_battleback(@params[0], @params[1]) + end + #-------------------------------------------------------------------------- + # * Change Parallax Background + #-------------------------------------------------------------------------- + def command_284 + $game_map.change_parallax(@params[0], @params[1], @params[2], + @params[3], @params[4]) + end + #-------------------------------------------------------------------------- + # * Get Location Info + #-------------------------------------------------------------------------- + def command_285 + if @params[2] == 0 # Direct designation + x = @params[3] + y = @params[4] + else # Designation with variables + x = $game_variables[@params[3]] + y = $game_variables[@params[4]] + end + case @params[1] + when 0 # Terrain Tag + value = $game_map.terrain_tag(x, y) + when 1 # Event ID + value = $game_map.event_id_xy(x, y) + when 2..4 # Tile ID + value = $game_map.tile_id(x, y, @params[1] - 2) + else # Region ID + value = $game_map.region_id(x, y) + end + $game_variables[@params[0]] = value + end + #-------------------------------------------------------------------------- + # * Battle Processing + #-------------------------------------------------------------------------- + def command_301 + return if $game_party.in_battle + if @params[0] == 0 # Direct designation + troop_id = @params[1] + elsif @params[0] == 1 # Designation with variables + troop_id = $game_variables[@params[1]] + else # Map-designated troop + troop_id = $game_player.make_encounter_troop_id + end + if $data_troops[troop_id] + BattleManager.setup(troop_id, @params[2], @params[3]) + BattleManager.event_proc = Proc.new {|n| @branch[@indent] = n } + $game_player.make_encounter_count + SceneManager.call(Scene_Battle) + end + Fiber.yield + end + #-------------------------------------------------------------------------- + # * If Win + #-------------------------------------------------------------------------- + def command_601 + command_skip if @branch[@indent] != 0 + end + #-------------------------------------------------------------------------- + # * If Escape + #-------------------------------------------------------------------------- + def command_602 + command_skip if @branch[@indent] != 1 + end + #-------------------------------------------------------------------------- + # * If Lose + #-------------------------------------------------------------------------- + def command_603 + command_skip if @branch[@indent] != 2 + end + #-------------------------------------------------------------------------- + # * Shop Processing + #-------------------------------------------------------------------------- + def command_302 + return if $game_party.in_battle + goods = [@params] + while next_event_code == 605 + @index += 1 + goods.push(@list[@index].parameters) + end + SceneManager.call(Scene_Shop) + SceneManager.scene.prepare(goods, @params[4]) + Fiber.yield + end + #-------------------------------------------------------------------------- + # * Name Input Processing + #-------------------------------------------------------------------------- + def command_303 + return if $game_party.in_battle + if $data_actors[@params[0]] + SceneManager.call(Scene_Name) + SceneManager.scene.prepare(@params[0], @params[1]) + Fiber.yield + end + end + #-------------------------------------------------------------------------- + # * Change HP + #-------------------------------------------------------------------------- + def command_311 + value = operate_value(@params[2], @params[3], @params[4]) + iterate_actor_var(@params[0], @params[1]) do |actor| + next if actor.dead? + actor.change_hp(value, @params[5]) + actor.perform_collapse_effect if actor.dead? + end + SceneManager.goto(Scene_Gameover) if $game_party.all_dead? + end + #-------------------------------------------------------------------------- + # * Change MP + #-------------------------------------------------------------------------- + def command_312 + value = operate_value(@params[2], @params[3], @params[4]) + iterate_actor_var(@params[0], @params[1]) do |actor| + actor.mp += value + end + end + #-------------------------------------------------------------------------- + # * Change State + #-------------------------------------------------------------------------- + def command_313 + iterate_actor_var(@params[0], @params[1]) do |actor| + already_dead = actor.dead? + if @params[2] == 0 + actor.add_state(@params[3]) + else + actor.remove_state(@params[3]) + end + actor.perform_collapse_effect if actor.dead? && !already_dead + end + $game_party.clear_results + end + #-------------------------------------------------------------------------- + # * Recover All + #-------------------------------------------------------------------------- + def command_314 + iterate_actor_var(@params[0], @params[1]) do |actor| + actor.recover_all + end + end + #-------------------------------------------------------------------------- + # * Change EXP + #-------------------------------------------------------------------------- + def command_315 + value = operate_value(@params[2], @params[3], @params[4]) + iterate_actor_var(@params[0], @params[1]) do |actor| + actor.change_exp(actor.exp + value, @params[5]) + end + end + #-------------------------------------------------------------------------- + # * Change Level + #-------------------------------------------------------------------------- + def command_316 + value = operate_value(@params[2], @params[3], @params[4]) + iterate_actor_var(@params[0], @params[1]) do |actor| + actor.change_level(actor.level + value, @params[5]) + end + end + #-------------------------------------------------------------------------- + # * Change Parameters + #-------------------------------------------------------------------------- + def command_317 + value = operate_value(@params[3], @params[4], @params[5]) + iterate_actor_var(@params[0], @params[1]) do |actor| + actor.add_param(@params[2], value) + end + end + #-------------------------------------------------------------------------- + # * Change Skills + #-------------------------------------------------------------------------- + def command_318 + iterate_actor_var(@params[0], @params[1]) do |actor| + if @params[2] == 0 + actor.learn_skill(@params[3]) + else + actor.forget_skill(@params[3]) + end + end + end + #-------------------------------------------------------------------------- + # * Change Equipment + #-------------------------------------------------------------------------- + def command_319 + actor = $game_actors[@params[0]] + actor.change_equip_by_id(@params[1], @params[2]) if actor + end + #-------------------------------------------------------------------------- + # * Change Name + #-------------------------------------------------------------------------- + def command_320 + actor = $game_actors[@params[0]] + actor.name = @params[1] if actor + end + #-------------------------------------------------------------------------- + # * Change Class + #-------------------------------------------------------------------------- + def command_321 + actor = $game_actors[@params[0]] + actor.change_class(@params[1]) if actor && $data_classes[@params[1]] + end + #-------------------------------------------------------------------------- + # * Change Actor Graphic + #-------------------------------------------------------------------------- + def command_322 + actor = $game_actors[@params[0]] + if actor + actor.set_graphic(@params[1], @params[2], @params[3], @params[4]) + end + $game_player.refresh + end + #-------------------------------------------------------------------------- + # * Change Vehicle Graphic + #-------------------------------------------------------------------------- + def command_323 + vehicle = $game_map.vehicles[@params[0]] + vehicle.set_graphic(@params[1], @params[2]) if vehicle + end + #-------------------------------------------------------------------------- + # * Change Nickname + #-------------------------------------------------------------------------- + def command_324 + actor = $game_actors[@params[0]] + actor.nickname = @params[1] if actor + end + #-------------------------------------------------------------------------- + # * Change Enemy HP + #-------------------------------------------------------------------------- + def command_331 + value = operate_value(@params[1], @params[2], @params[3]) + iterate_enemy_index(@params[0]) do |enemy| + return if enemy.dead? + enemy.change_hp(value, @params[4]) + enemy.perform_collapse_effect if enemy.dead? + end + end + #-------------------------------------------------------------------------- + # * Change Enemy MP + #-------------------------------------------------------------------------- + def command_332 + value = operate_value(@params[1], @params[2], @params[3]) + iterate_enemy_index(@params[0]) do |enemy| + enemy.mp += value + end + end + #-------------------------------------------------------------------------- + # * Change Enemy State + #-------------------------------------------------------------------------- + def command_333 + iterate_enemy_index(@params[0]) do |enemy| + already_dead = enemy.dead? + if @params[1] == 0 + enemy.add_state(@params[2]) + else + enemy.remove_state(@params[2]) + end + enemy.perform_collapse_effect if enemy.dead? && !already_dead + end + end + #-------------------------------------------------------------------------- + # * Enemy Recover All + #-------------------------------------------------------------------------- + def command_334 + iterate_enemy_index(@params[0]) do |enemy| + enemy.recover_all + end + end + #-------------------------------------------------------------------------- + # * Enemy Appear + #-------------------------------------------------------------------------- + def command_335 + iterate_enemy_index(@params[0]) do |enemy| + enemy.appear + $game_troop.make_unique_names + end + end + #-------------------------------------------------------------------------- + # * Enemy Transform + #-------------------------------------------------------------------------- + def command_336 + iterate_enemy_index(@params[0]) do |enemy| + enemy.transform(@params[1]) + $game_troop.make_unique_names + end + end + #-------------------------------------------------------------------------- + # * Show Battle Animation + #-------------------------------------------------------------------------- + def command_337 + iterate_enemy_index(@params[0]) do |enemy| + enemy.animation_id = @params[1] if enemy.alive? + end + end + #-------------------------------------------------------------------------- + # * Force Action + #-------------------------------------------------------------------------- + def command_339 + iterate_battler(@params[0], @params[1]) do |battler| + next if battler.death_state? + battler.force_action(@params[2], @params[3]) + BattleManager.force_action(battler) + Fiber.yield while BattleManager.action_forced? + end + end + #-------------------------------------------------------------------------- + # * Abort Battle + #-------------------------------------------------------------------------- + def command_340 + BattleManager.abort + Fiber.yield + end + #-------------------------------------------------------------------------- + # * Open Menu Screen + #-------------------------------------------------------------------------- + def command_351 + return if $game_party.in_battle + SceneManager.call(Scene_Menu) + Window_MenuCommand::init_command_position + Fiber.yield + end + #-------------------------------------------------------------------------- + # * Open Save Screen + #-------------------------------------------------------------------------- + def command_352 + return if $game_party.in_battle + SceneManager.call(Scene_Save) + Fiber.yield + end + #-------------------------------------------------------------------------- + # * Game Over + #-------------------------------------------------------------------------- + def command_353 + SceneManager.goto(Scene_Gameover) + Fiber.yield + end + #-------------------------------------------------------------------------- + # * Return to Title Screen + #-------------------------------------------------------------------------- + def command_354 + SceneManager.goto(Scene_Title) + Fiber.yield + end + #-------------------------------------------------------------------------- + # * Script + #-------------------------------------------------------------------------- + def command_355 + script = @list[@index].parameters[0] + "\n" + while next_event_code == 655 + @index += 1 + script += @list[@index].parameters[0] + "\n" + end + eval(script) + end +end diff --git a/Scripts/RPG/Game_Map.rb b/Scripts/RPG/Game_Map.rb new file mode 100644 index 0000000..64c1840 --- /dev/null +++ b/Scripts/RPG/Game_Map.rb @@ -0,0 +1,705 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Map +#------------------------------------------------------------------------------ +# This class handles maps. It includes scrolling and passage determination +# functions. The instance of this class is referenced by $game_map. +#============================================================================== + +class Game_Map + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :screen # map screen state + attr_reader :interpreter # map event interpreter + attr_reader :events # events + attr_reader :display_x # display X coordinate + attr_reader :display_y # display Y coordinate + attr_reader :parallax_name # parallax background filename + attr_reader :vehicles # vehicle + attr_reader :battleback1_name # battle background (floor) filename + attr_reader :battleback2_name # battle background (wall) filename + attr_accessor :name_display # map name display flag + attr_accessor :need_refresh # refresh request flag + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @screen = Game_Screen.new + @interpreter = Game_Interpreter.new + @map_id = 0 + @events = {} + @display_x = 0 + @display_y = 0 + create_vehicles + @name_display = true + end + #-------------------------------------------------------------------------- + # * Setup + #-------------------------------------------------------------------------- + def setup(map_id) + @map_id = map_id + @map = load_data(sprintf("Data/Map%03d.rvdata2", @map_id)) + @tileset_id = @map.tileset_id + @display_x = 0 + @display_y = 0 + referesh_vehicles + setup_events + setup_scroll + setup_parallax + setup_battleback + @need_refresh = false + end + #-------------------------------------------------------------------------- + # * Create Vehicles + #-------------------------------------------------------------------------- + def create_vehicles + @vehicles = [] + @vehicles[0] = Game_Vehicle.new(:boat) + @vehicles[1] = Game_Vehicle.new(:ship) + @vehicles[2] = Game_Vehicle.new(:airship) + end + #-------------------------------------------------------------------------- + # * Refresh Vehicles + #-------------------------------------------------------------------------- + def referesh_vehicles + @vehicles.each {|vehicle| vehicle.refresh } + end + #-------------------------------------------------------------------------- + # * Get Vehicle + #-------------------------------------------------------------------------- + def vehicle(type) + return @vehicles[0] if type == :boat + return @vehicles[1] if type == :ship + return @vehicles[2] if type == :airship + return nil + end + #-------------------------------------------------------------------------- + # * Get Boat + #-------------------------------------------------------------------------- + def boat + @vehicles[0] + end + #-------------------------------------------------------------------------- + # * Get Ship + #-------------------------------------------------------------------------- + def ship + @vehicles[1] + end + #-------------------------------------------------------------------------- + # * Get Airship + #-------------------------------------------------------------------------- + def airship + @vehicles[2] + end + #-------------------------------------------------------------------------- + # * Event Setup + #-------------------------------------------------------------------------- + def setup_events + @events = {} + @map.events.each do |i, event| + @events[i] = Game_Event.new(@map_id, event) + end + @common_events = parallel_common_events.collect do |common_event| + Game_CommonEvent.new(common_event.id) + end + refresh_tile_events + end + #-------------------------------------------------------------------------- + # * Get Array of Parallel Common Events + #-------------------------------------------------------------------------- + def parallel_common_events + $data_common_events.select {|event| event && event.parallel? } + end + #-------------------------------------------------------------------------- + # * Scroll Setup + #-------------------------------------------------------------------------- + def setup_scroll + @scroll_direction = 2 + @scroll_rest = 0 + @scroll_speed = 4 + end + #-------------------------------------------------------------------------- + # * Parallax Background Setup + #-------------------------------------------------------------------------- + def setup_parallax + @parallax_name = @map.parallax_name + @parallax_loop_x = @map.parallax_loop_x + @parallax_loop_y = @map.parallax_loop_y + @parallax_sx = @map.parallax_sx + @parallax_sy = @map.parallax_sy + @parallax_x = 0 + @parallax_y = 0 + end + #-------------------------------------------------------------------------- + # * Set Up Battle Background + #-------------------------------------------------------------------------- + def setup_battleback + if @map.specify_battleback + @battleback1_name = @map.battleback1_name + @battleback2_name = @map.battleback2_name + else + @battleback1_name = nil + @battleback2_name = nil + end + end + #-------------------------------------------------------------------------- + # * Set Display Position + #-------------------------------------------------------------------------- + def set_display_pos(x, y) + x = [0, [x, width - screen_tile_x].min].max unless loop_horizontal? + y = [0, [y, height - screen_tile_y].min].max unless loop_vertical? + @display_x = (x + width) % width + @display_y = (y + height) % height + @parallax_x = x + @parallax_y = y + end + #-------------------------------------------------------------------------- + # * Calculate X Coordinate of Parallax Display Origin + #-------------------------------------------------------------------------- + def parallax_ox(bitmap) + if @parallax_loop_x + @parallax_x * 16 + else + w1 = [bitmap.width - Graphics.width, 0].max + w2 = [width * 32 - Graphics.width, 1].max + @parallax_x * 16 * w1 / w2 + end + end + #-------------------------------------------------------------------------- + # * Calculate Y Coordinate of Parallax Display Origin + #-------------------------------------------------------------------------- + def parallax_oy(bitmap) + if @parallax_loop_y + @parallax_y * 16 + else + h1 = [bitmap.height - Graphics.height, 0].max + h2 = [height * 32 - Graphics.height, 1].max + @parallax_y * 16 * h1 / h2 + end + end + #-------------------------------------------------------------------------- + # * Get Map ID + #-------------------------------------------------------------------------- + def map_id + @map_id + end + #-------------------------------------------------------------------------- + # * Get Tileset + #-------------------------------------------------------------------------- + def tileset + $data_tilesets[@tileset_id] + end + #-------------------------------------------------------------------------- + # * Get Display Name + #-------------------------------------------------------------------------- + def display_name + @map.display_name + end + #-------------------------------------------------------------------------- + # * Get Width + #-------------------------------------------------------------------------- + def width + @map.width + end + #-------------------------------------------------------------------------- + # * Get Height + #-------------------------------------------------------------------------- + def height + @map.height + end + #-------------------------------------------------------------------------- + # * Loop Horizontally? + #-------------------------------------------------------------------------- + def loop_horizontal? + @map.scroll_type == 2 || @map.scroll_type == 3 + end + #-------------------------------------------------------------------------- + # * Loop Vertically? + #-------------------------------------------------------------------------- + def loop_vertical? + @map.scroll_type == 1 || @map.scroll_type == 3 + end + #-------------------------------------------------------------------------- + # * Get Whether Dash is Disabled + #-------------------------------------------------------------------------- + def disable_dash? + @map.disable_dashing + end + #-------------------------------------------------------------------------- + # * Get Encounter List + #-------------------------------------------------------------------------- + def encounter_list + @map.encounter_list + end + #-------------------------------------------------------------------------- + # * Get Encounter Steps + #-------------------------------------------------------------------------- + def encounter_step + @map.encounter_step + end + #-------------------------------------------------------------------------- + # * Get Map Data + #-------------------------------------------------------------------------- + def data + @map.data + end + #-------------------------------------------------------------------------- + # * Determine if Field Type + #-------------------------------------------------------------------------- + def overworld? + tileset.mode == 0 + end + #-------------------------------------------------------------------------- + # * Number of Horizontal Tiles on Screen + #-------------------------------------------------------------------------- + def screen_tile_x + Graphics.width / 32 + end + #-------------------------------------------------------------------------- + # * Number of Vertical Tiles on Screen + #-------------------------------------------------------------------------- + def screen_tile_y + Graphics.height / 32 + end + #-------------------------------------------------------------------------- + # * Calculate X Coordinate, Minus Display Coordinate + #-------------------------------------------------------------------------- + def adjust_x(x) + if loop_horizontal? && x < @display_x - (width - screen_tile_x) / 2 + x - @display_x + @map.width + else + x - @display_x + end + end + #-------------------------------------------------------------------------- + # * Calculate Y Coordinate, Minus Display Coordinate + #-------------------------------------------------------------------------- + def adjust_y(y) + if loop_vertical? && y < @display_y - (height - screen_tile_y) / 2 + y - @display_y + @map.height + else + y - @display_y + end + end + #-------------------------------------------------------------------------- + # * Calculate X Coordinate After Loop Adjustment + #-------------------------------------------------------------------------- + def round_x(x) + loop_horizontal? ? (x + width) % width : x + end + #-------------------------------------------------------------------------- + # * Calculate Y Coordinate After Loop Adjustment + #-------------------------------------------------------------------------- + def round_y(y) + loop_vertical? ? (y + height) % height : y + end + #-------------------------------------------------------------------------- + # * Calculate X Coordinate Shifted One Tile in Specific Direction + # (No Loop Adjustment) + #-------------------------------------------------------------------------- + def x_with_direction(x, d) + x + (d == 6 ? 1 : d == 4 ? -1 : 0) + end + #-------------------------------------------------------------------------- + # * Calculate Y Coordinate Shifted One Tile in Specific Direction + # (No Loop Adjustment) + #-------------------------------------------------------------------------- + def y_with_direction(y, d) + y + (d == 2 ? 1 : d == 8 ? -1 : 0) + end + #-------------------------------------------------------------------------- + # * Calculate X Coordinate Shifted One Tile in Specific Direction + # (With Loop Adjustment) + #-------------------------------------------------------------------------- + def round_x_with_direction(x, d) + round_x(x + (d == 6 ? 1 : d == 4 ? -1 : 0)) + end + #-------------------------------------------------------------------------- + # * Calculate Y Coordinate Shifted One Tile in Specific Direction + # (With Loop Adjustment) + #-------------------------------------------------------------------------- + def round_y_with_direction(y, d) + round_y(y + (d == 2 ? 1 : d == 8 ? -1 : 0)) + end + #-------------------------------------------------------------------------- + # * Automatically Switch BGM and BGS + #-------------------------------------------------------------------------- + def autoplay + @map.bgm.play if @map.autoplay_bgm + @map.bgs.play if @map.autoplay_bgs + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + @events.each_value {|event| event.refresh } + @common_events.each {|event| event.refresh } + refresh_tile_events + @need_refresh = false + end + #-------------------------------------------------------------------------- + # * Refresh Array of Tile-Handling Events + #-------------------------------------------------------------------------- + def refresh_tile_events + @tile_events = @events.values.select {|event| event.tile? } + end + #-------------------------------------------------------------------------- + # * Get Array of Events at Designated Coordinates + #-------------------------------------------------------------------------- + def events_xy(x, y) + @events.values.select {|event| event.pos?(x, y) } + end + #-------------------------------------------------------------------------- + # * Get Array of Events at Designated Coordinates (Except Pass-Through) + #-------------------------------------------------------------------------- + def events_xy_nt(x, y) + @events.values.select {|event| event.pos_nt?(x, y) } + end + #-------------------------------------------------------------------------- + # * Get Array of Tile-Handling Events at Designated Coordinates + # (Except Pass-Through) + #-------------------------------------------------------------------------- + def tile_events_xy(x, y) + @tile_events.select {|event| event.pos_nt?(x, y) } + end + #-------------------------------------------------------------------------- + # * Get ID of Events at Designated Coordinates (One Only) + #-------------------------------------------------------------------------- + def event_id_xy(x, y) + list = events_xy(x, y) + list.empty? ? 0 : list[0].id + end + #-------------------------------------------------------------------------- + # * Scroll Down + #-------------------------------------------------------------------------- + def scroll_down(distance) + if loop_vertical? + @display_y += distance + @display_y %= @map.height + @parallax_y += distance if @parallax_loop_y + else + last_y = @display_y + @display_y = [@display_y + distance, height - screen_tile_y].min + @parallax_y += @display_y - last_y + end + end + #-------------------------------------------------------------------------- + # * Scroll Left + #-------------------------------------------------------------------------- + def scroll_left(distance) + if loop_horizontal? + @display_x += @map.width - distance + @display_x %= @map.width + @parallax_x -= distance if @parallax_loop_x + else + last_x = @display_x + @display_x = [@display_x - distance, 0].max + @parallax_x += @display_x - last_x + end + end + #-------------------------------------------------------------------------- + # * Scroll Right + #-------------------------------------------------------------------------- + def scroll_right(distance) + if loop_horizontal? + @display_x += distance + @display_x %= @map.width + @parallax_x += distance if @parallax_loop_x + else + last_x = @display_x + @display_x = [@display_x + distance, (width - screen_tile_x)].min + @parallax_x += @display_x - last_x + end + end + #-------------------------------------------------------------------------- + # * Scroll Up + #-------------------------------------------------------------------------- + def scroll_up(distance) + if loop_vertical? + @display_y += @map.height - distance + @display_y %= @map.height + @parallax_y -= distance if @parallax_loop_y + else + last_y = @display_y + @display_y = [@display_y - distance, 0].max + @parallax_y += @display_y - last_y + end + end + #-------------------------------------------------------------------------- + # * Determine Valid Coordinates + #-------------------------------------------------------------------------- + def valid?(x, y) + x >= 0 && x < width && y >= 0 && y < height + end + #-------------------------------------------------------------------------- + # * Check Passage + # bit: Inhibit passage check bit + #-------------------------------------------------------------------------- + def check_passage(x, y, bit) + all_tiles(x, y).each do |tile_id| + flag = tileset.flags[tile_id] + next if flag & 0x10 != 0 # [☆]: No effect on passage + return true if flag & bit == 0 # [○] : Passable + return false if flag & bit == bit # [×] : Impassable + end + return false # Impassable + end + #-------------------------------------------------------------------------- + # * Get Tile ID at Specified Coordinates + #-------------------------------------------------------------------------- + def tile_id(x, y, z) + @map.data[x, y, z] || 0 + end + #-------------------------------------------------------------------------- + # * Get Array of All Layer Tiles (Top to Bottom) at Specified Coordinates + #-------------------------------------------------------------------------- + def layered_tiles(x, y) + [2, 1, 0].collect {|z| tile_id(x, y, z) } + end + #-------------------------------------------------------------------------- + # * Get Array of All Tiles (Including Events) at Specified Coordinates + #-------------------------------------------------------------------------- + def all_tiles(x, y) + tile_events_xy(x, y).collect {|ev| ev.tile_id } + layered_tiles(x, y) + end + #-------------------------------------------------------------------------- + # * Get Type of Auto Tile at Specified Coordinates + #-------------------------------------------------------------------------- + def autotile_type(x, y, z) + tile_id(x, y, z) >= 2048 ? (tile_id(x, y, z) - 2048) / 48 : -1 + end + #-------------------------------------------------------------------------- + # * Determine Passability of Normal Character + # d: direction (2,4,6,8) + # Determines whether the tile at the specified coordinates is passable + # in the specified direction. + #-------------------------------------------------------------------------- + def passable?(x, y, d) + check_passage(x, y, (1 << (d / 2 - 1)) & 0x0f) + end + #-------------------------------------------------------------------------- + # * Determine if Passable by Boat + #-------------------------------------------------------------------------- + def boat_passable?(x, y) + check_passage(x, y, 0x0200) + end + #-------------------------------------------------------------------------- + # * Determine if Passable by Ship + #-------------------------------------------------------------------------- + def ship_passable?(x, y) + check_passage(x, y, 0x0400) + end + #-------------------------------------------------------------------------- + # * Determine if Airship can Land + #-------------------------------------------------------------------------- + def airship_land_ok?(x, y) + check_passage(x, y, 0x0800) && check_passage(x, y, 0x0f) + end + #-------------------------------------------------------------------------- + # * Determine Flag for All Layers at Specified Coordinates + #-------------------------------------------------------------------------- + def layered_tiles_flag?(x, y, bit) + layered_tiles(x, y).any? {|tile_id| tileset.flags[tile_id] & bit != 0 } + end + #-------------------------------------------------------------------------- + # * Determine if Ladder + #-------------------------------------------------------------------------- + def ladder?(x, y) + valid?(x, y) && layered_tiles_flag?(x, y, 0x20) + end + #-------------------------------------------------------------------------- + # * Determine if Bush + #-------------------------------------------------------------------------- + def bush?(x, y) + valid?(x, y) && layered_tiles_flag?(x, y, 0x40) + end + #-------------------------------------------------------------------------- + # * Determine if Counter + #-------------------------------------------------------------------------- + def counter?(x, y) + valid?(x, y) && layered_tiles_flag?(x, y, 0x80) + end + #-------------------------------------------------------------------------- + # * Determine if Damage Floor + #-------------------------------------------------------------------------- + def damage_floor?(x, y) + valid?(x, y) && layered_tiles_flag?(x, y, 0x100) + end + #-------------------------------------------------------------------------- + # * Get Terrain Tag + #-------------------------------------------------------------------------- + def terrain_tag(x, y) + return 0 unless valid?(x, y) + layered_tiles(x, y).each do |tile_id| + tag = tileset.flags[tile_id] >> 12 + return tag if tag > 0 + end + return 0 + end + #-------------------------------------------------------------------------- + # * Get Region ID + #-------------------------------------------------------------------------- + def region_id(x, y) + valid?(x, y) ? @map.data[x, y, 3] >> 8 : 0 + end + #-------------------------------------------------------------------------- + # * Start Scroll + #-------------------------------------------------------------------------- + def start_scroll(direction, distance, speed) + @scroll_direction = direction + @scroll_rest = distance + @scroll_speed = speed + end + #-------------------------------------------------------------------------- + # * Determine if Scrolling + #-------------------------------------------------------------------------- + def scrolling? + @scroll_rest > 0 + end + #-------------------------------------------------------------------------- + # * Frame Update + # main: Interpreter update flag + #-------------------------------------------------------------------------- + def update(main = false) + refresh if @need_refresh + update_interpreter if main + update_scroll + update_events + update_vehicles + update_parallax + @screen.update + end + #-------------------------------------------------------------------------- + # * Update Scroll + #-------------------------------------------------------------------------- + def update_scroll + return unless scrolling? + last_x = @display_x + last_y = @display_y + do_scroll(@scroll_direction, scroll_distance) + if @display_x == last_x && @display_y == last_y + @scroll_rest = 0 + else + @scroll_rest -= scroll_distance + end + end + #-------------------------------------------------------------------------- + # * Calculate Scroll Distance + #-------------------------------------------------------------------------- + def scroll_distance + 2 ** @scroll_speed / 256.0 + end + #-------------------------------------------------------------------------- + # * Execute Scroll + #-------------------------------------------------------------------------- + def do_scroll(direction, distance) + case direction + when 2; scroll_down (distance) + when 4; scroll_left (distance) + when 6; scroll_right(distance) + when 8; scroll_up (distance) + end + end + #-------------------------------------------------------------------------- + # * Update Events + #-------------------------------------------------------------------------- + def update_events + @events.each_value {|event| event.update } + @common_events.each {|event| event.update } + end + #-------------------------------------------------------------------------- + # * Update Vehicles + #-------------------------------------------------------------------------- + def update_vehicles + @vehicles.each {|vehicle| vehicle.update } + end + #-------------------------------------------------------------------------- + # * Update Parallax + #-------------------------------------------------------------------------- + def update_parallax + @parallax_x += @parallax_sx / 64.0 if @parallax_loop_x + @parallax_y += @parallax_sy / 64.0 if @parallax_loop_y + end + #-------------------------------------------------------------------------- + # * Change Tileset + #-------------------------------------------------------------------------- + def change_tileset(tileset_id) + @tileset_id = tileset_id + refresh + end + #-------------------------------------------------------------------------- + # * Change Battle Background + #-------------------------------------------------------------------------- + def change_battleback(battleback1_name, battleback2_name) + @battleback1_name = battleback1_name + @battleback2_name = battleback2_name + end + #-------------------------------------------------------------------------- + # * Change Parallax Background + #-------------------------------------------------------------------------- + def change_parallax(name, loop_x, loop_y, sx, sy) + @parallax_name = name + @parallax_x = 0 if @parallax_loop_x && !loop_x + @parallax_y = 0 if @parallax_loop_y && !loop_y + @parallax_loop_x = loop_x + @parallax_loop_y = loop_y + @parallax_sx = sx + @parallax_sy = sy + end + #-------------------------------------------------------------------------- + # * Update Interpreter + #-------------------------------------------------------------------------- + def update_interpreter + loop do + @interpreter.update + return if @interpreter.running? + if @interpreter.event_id > 0 + unlock_event(@interpreter.event_id) + @interpreter.clear + end + return unless setup_starting_event + end + end + #-------------------------------------------------------------------------- + # * Unlock Event + #-------------------------------------------------------------------------- + def unlock_event(event_id) + @events[event_id].unlock if @events[event_id] + end + #-------------------------------------------------------------------------- + # * Starting Event Setup + #-------------------------------------------------------------------------- + def setup_starting_event + refresh if @need_refresh + return true if @interpreter.setup_reserved_common_event + return true if setup_starting_map_event + return true if setup_autorun_common_event + return false + end + #-------------------------------------------------------------------------- + # * Determine Existence of Starting Map Event + #-------------------------------------------------------------------------- + def any_event_starting? + @events.values.any? {|event| event.starting } + end + #-------------------------------------------------------------------------- + # * Detect/Set Up Starting Map Event + #-------------------------------------------------------------------------- + def setup_starting_map_event + event = @events.values.find {|event| event.starting } + event.clear_starting_flag if event + @interpreter.setup(event.list, event.id) if event + event + end + #-------------------------------------------------------------------------- + # * Detect/Set Up Autorun Common Event + #-------------------------------------------------------------------------- + def setup_autorun_common_event + event = $data_common_events.find do |event| + event && event.autorun? && $game_switches[event.switch_id] + end + @interpreter.setup(event.list) if event + event + end +end diff --git a/Scripts/RPG/Game_Message.rb b/Scripts/RPG/Game_Message.rb new file mode 100644 index 0000000..7786457 --- /dev/null +++ b/Scripts/RPG/Game_Message.rb @@ -0,0 +1,102 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Message +#------------------------------------------------------------------------------ +# This class handles the state of the message window that displays text or +# selections, etc. The instance of this class is referenced by $game_message. +#============================================================================== + +class Game_Message + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :texts # text array (in rows) + attr_reader :choices # choice array + attr_accessor :face_name # face graphic filename + attr_accessor :face_index # face graphic index + attr_accessor :background # background type + attr_accessor :position # display position + attr_accessor :choice_proc # show choices: call back (Proc) + attr_accessor :choice_cancel_type # show choices: cancel + attr_accessor :num_input_variable_id # input number: variable ID + attr_accessor :num_input_digits_max # input number: digit count + attr_accessor :item_choice_variable_id # item selection: variable ID + attr_accessor :scroll_mode # scroll text flag + attr_accessor :scroll_speed # scroll text: speed + attr_accessor :scroll_no_fast # scroll text: disable fast forward + attr_accessor :visible # displaying a message + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + clear + @visible = false + end + #-------------------------------------------------------------------------- + # * Clear + #-------------------------------------------------------------------------- + def clear + @texts = [] + @choices = [] + @face_name = "" + @face_index = 0 + @background = 0 + @position = 2 + @choice_cancel_type = 0 + @choice_proc = nil + @num_input_variable_id = 0 + @num_input_digits_max = 0 + @item_choice_variable_id = 0 + @scroll_mode = false + @scroll_speed = 2 + @scroll_no_fast = false + end + #-------------------------------------------------------------------------- + # * Add Text + #-------------------------------------------------------------------------- + def add(text) + @texts.push(text) + end + #-------------------------------------------------------------------------- + # * Determine Existence of Text + #-------------------------------------------------------------------------- + def has_text? + @texts.size > 0 + end + #-------------------------------------------------------------------------- + # * Determine if Choices Mode + #-------------------------------------------------------------------------- + def choice? + @choices.size > 0 + end + #-------------------------------------------------------------------------- + # * Determine if Number Input Mode + #-------------------------------------------------------------------------- + def num_input? + @num_input_variable_id > 0 + end + #-------------------------------------------------------------------------- + # * Determine if Item Selection Mode + #-------------------------------------------------------------------------- + def item_choice? + @item_choice_variable_id > 0 + end + #-------------------------------------------------------------------------- + # * Determine if Busy + #-------------------------------------------------------------------------- + def busy? + has_text? || choice? || num_input? || item_choice? + end + #-------------------------------------------------------------------------- + # * New Page + #-------------------------------------------------------------------------- + def new_page + @texts[-1] += "\f" if @texts.size > 0 + end + #-------------------------------------------------------------------------- + # * Get All Text Including New Lines + #-------------------------------------------------------------------------- + def all_text + @texts.inject("") {|r, text| r += text + "\n" } + end +end diff --git a/Scripts/RPG/Game_Party.rb b/Scripts/RPG/Game_Party.rb new file mode 100644 index 0000000..d607eea --- /dev/null +++ b/Scripts/RPG/Game_Party.rb @@ -0,0 +1,419 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Party +#------------------------------------------------------------------------------ +# This class handles parties. Information such as gold and items is included. +# Instances of this class are referenced by $game_party. +#============================================================================== + +class Game_Party < Game_Unit + #-------------------------------------------------------------------------- + # * Constants + #-------------------------------------------------------------------------- + ABILITY_ENCOUNTER_HALF = 0 # halve encounters + ABILITY_ENCOUNTER_NONE = 1 # disable encounters + ABILITY_CANCEL_SURPRISE = 2 # disable surprise + ABILITY_RAISE_PREEMPTIVE = 3 # increase preemptive strike rate + ABILITY_GOLD_DOUBLE = 4 # double money earned + ABILITY_DROP_ITEM_DOUBLE = 5 # double item acquisition rate + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :gold # party's gold + attr_reader :steps # number of steps + attr_reader :last_item # for cursor memorization: item + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super + @gold = 0 + @steps = 0 + @last_item = Game_BaseItem.new + @menu_actor_id = 0 + @target_actor_id = 0 + @actors = [] + init_all_items + end + #-------------------------------------------------------------------------- + # * Initialize All Item Lists + #-------------------------------------------------------------------------- + def init_all_items + @items = {} + @weapons = {} + @armors = {} + end + #-------------------------------------------------------------------------- + # * Determine Existence + #-------------------------------------------------------------------------- + def exists + !@actors.empty? + end + #-------------------------------------------------------------------------- + # * Get Members + #-------------------------------------------------------------------------- + def members + in_battle ? battle_members : all_members + end + #-------------------------------------------------------------------------- + # * Get All Members + #-------------------------------------------------------------------------- + def all_members + @actors.collect {|id| $game_actors[id] } + end + #-------------------------------------------------------------------------- + # * Get Battle Members + #-------------------------------------------------------------------------- + def battle_members + all_members[0, max_battle_members].select {|actor| actor.exist? } + end + #-------------------------------------------------------------------------- + # * Get Maximum Number of Battle Members + #-------------------------------------------------------------------------- + def max_battle_members + return 4 + end + #-------------------------------------------------------------------------- + # * Get Leader + #-------------------------------------------------------------------------- + def leader + battle_members[0] + end + #-------------------------------------------------------------------------- + # * Get Item Object Array + #-------------------------------------------------------------------------- + def items + @items.keys.sort.collect {|id| $data_items[id] } + end + #-------------------------------------------------------------------------- + # * Get Weapon Object Array + #-------------------------------------------------------------------------- + def weapons + @weapons.keys.sort.collect {|id| $data_weapons[id] } + end + #-------------------------------------------------------------------------- + # * Get Armor Object Array + #-------------------------------------------------------------------------- + def armors + @armors.keys.sort.collect {|id| $data_armors[id] } + end + #-------------------------------------------------------------------------- + # * Get Array of All Equipment Objects + #-------------------------------------------------------------------------- + def equip_items + weapons + armors + end + #-------------------------------------------------------------------------- + # * Get Array of All Item Objects + #-------------------------------------------------------------------------- + def all_items + items + equip_items + end + #-------------------------------------------------------------------------- + # * Get Container Object Corresponding to Item Class + #-------------------------------------------------------------------------- + def item_container(item_class) + return @items if item_class == RPG::Item + return @weapons if item_class == RPG::Weapon + return @armors if item_class == RPG::Armor + return nil + end + #-------------------------------------------------------------------------- + # * Initial Party Setup + #-------------------------------------------------------------------------- + def setup_starting_members + @actors = $data_system.party_members.clone + end + #-------------------------------------------------------------------------- + # * Get Party Name + # If there is only one, returns the actor's name. + # If there are more, returns "XX's Party". + #-------------------------------------------------------------------------- + def name + return "" if battle_members.size == 0 + return leader.name if battle_members.size == 1 + return sprintf(Vocab::PartyName, leader.name) + end + #-------------------------------------------------------------------------- + # * Set Up Battle Test + #-------------------------------------------------------------------------- + def setup_battle_test + setup_battle_test_members + setup_battle_test_items + end + #-------------------------------------------------------------------------- + # * Battle Test Party Setup + #-------------------------------------------------------------------------- + def setup_battle_test_members + $data_system.test_battlers.each do |battler| + actor = $game_actors[battler.actor_id] + actor.change_level(battler.level, false) + actor.init_equips(battler.equips) + actor.recover_all + add_actor(actor.id) + end + end + #-------------------------------------------------------------------------- + # * Set Up Items for Battle Test + #-------------------------------------------------------------------------- + def setup_battle_test_items + $data_items.each do |item| + gain_item(item, max_item_number(item)) if item && !item.name.empty? + end + end + #-------------------------------------------------------------------------- + # * Get Highest Level of Party Members + #-------------------------------------------------------------------------- + def highest_level + lv = members.collect {|actor| actor.level }.max + end + #-------------------------------------------------------------------------- + # * Add an Actor + #-------------------------------------------------------------------------- + def add_actor(actor_id) + @actors.push(actor_id) unless @actors.include?(actor_id) + $game_player.refresh + $game_map.need_refresh = true + end + #-------------------------------------------------------------------------- + # * Remove Actor + #-------------------------------------------------------------------------- + def remove_actor(actor_id) + @actors.delete(actor_id) + $game_player.refresh + $game_map.need_refresh = true + end + #-------------------------------------------------------------------------- + # * Increase Gold + #-------------------------------------------------------------------------- + def gain_gold(amount) + @gold = [[@gold + amount, 0].max, max_gold].min + end + #-------------------------------------------------------------------------- + # * Decrease Gold + #-------------------------------------------------------------------------- + def lose_gold(amount) + gain_gold(-amount) + end + #-------------------------------------------------------------------------- + # * Get Maximum Value of Gold + #-------------------------------------------------------------------------- + def max_gold + return 99999999 + end + #-------------------------------------------------------------------------- + # * Increase Steps + #-------------------------------------------------------------------------- + def increase_steps + @steps += 1 + end + #-------------------------------------------------------------------------- + # * Get Number of Items Possessed + #-------------------------------------------------------------------------- + def item_number(item) + container = item_container(item.class) + container ? container[item.id] || 0 : 0 + end + #-------------------------------------------------------------------------- + # * Get Maximum Number of Items Possessed + #-------------------------------------------------------------------------- + def max_item_number(item) + return 99 + end + #-------------------------------------------------------------------------- + # * Determine if Maximum Number of Items Are Possessed + #-------------------------------------------------------------------------- + def item_max?(item) + item_number(item) >= max_item_number(item) + end + #-------------------------------------------------------------------------- + # * Determine Item Possession Status + # include_equip : Include equipped items + #-------------------------------------------------------------------------- + def has_item?(item, include_equip = false) + return true if item_number(item) > 0 + return include_equip ? members_equip_include?(item) : false + end + #-------------------------------------------------------------------------- + # * Determine if Specified Item Is Included in Members' Equipment + #-------------------------------------------------------------------------- + def members_equip_include?(item) + members.any? {|actor| actor.equips.include?(item) } + end + #-------------------------------------------------------------------------- + # * Increase/Decrease Items + # include_equip : Include equipped items + #-------------------------------------------------------------------------- + def gain_item(item, amount, include_equip = false) + container = item_container(item.class) + return unless container + last_number = item_number(item) + new_number = last_number + amount + container[item.id] = [[new_number, 0].max, max_item_number(item)].min + container.delete(item.id) if container[item.id] == 0 + if include_equip && new_number < 0 + discard_members_equip(item, -new_number) + end + $game_map.need_refresh = true + end + #-------------------------------------------------------------------------- + # * Discard Members' Equipment + #-------------------------------------------------------------------------- + def discard_members_equip(item, amount) + n = amount + members.each do |actor| + while n > 0 && actor.equips.include?(item) + actor.discard_equip(item) + n -= 1 + end + end + end + #-------------------------------------------------------------------------- + # * Lose Items + # include_equip : Include equipped items + #-------------------------------------------------------------------------- + def lose_item(item, amount, include_equip = false) + gain_item(item, -amount, include_equip) + end + #-------------------------------------------------------------------------- + # * Consume Items + # If the specified object is a consumable item, the number in investory + # will be reduced by 1. + #-------------------------------------------------------------------------- + def consume_item(item) + lose_item(item, 1) if item.is_a?(RPG::Item) && item.consumable + end + #-------------------------------------------------------------------------- + # * Determine Skill/Item Usability + #-------------------------------------------------------------------------- + def usable?(item) + members.any? {|actor| actor.usable?(item) } + end + #-------------------------------------------------------------------------- + # * Determine Command Inputability During Battle + #-------------------------------------------------------------------------- + def inputable? + members.any? {|actor| actor.inputable? } + end + #-------------------------------------------------------------------------- + # * Determine if Everyone is Dead + #-------------------------------------------------------------------------- + def all_dead? + super && ($game_party.in_battle || members.size > 0) + end + #-------------------------------------------------------------------------- + # * Processing Performed When Player Takes 1 Step + #-------------------------------------------------------------------------- + def on_player_walk + members.each {|actor| actor.on_player_walk } + end + #-------------------------------------------------------------------------- + # * Get Actor Selected on Menu Screen + #-------------------------------------------------------------------------- + def menu_actor + $game_actors[@menu_actor_id] || members[0] + end + #-------------------------------------------------------------------------- + # * Set Actor Selected on Menu Screen + #-------------------------------------------------------------------------- + def menu_actor=(actor) + @menu_actor_id = actor.id + end + #-------------------------------------------------------------------------- + # * Select Next Actor on Menu Screen + #-------------------------------------------------------------------------- + def menu_actor_next + index = members.index(menu_actor) || -1 + index = (index + 1) % members.size + self.menu_actor = members[index] + end + #-------------------------------------------------------------------------- + # * Select Previous Actor on Menu Screen + #-------------------------------------------------------------------------- + def menu_actor_prev + index = members.index(menu_actor) || 1 + index = (index + members.size - 1) % members.size + self.menu_actor = members[index] + end + #-------------------------------------------------------------------------- + # * Get Actor Targeted by Skill/Item Use + #-------------------------------------------------------------------------- + def target_actor + $game_actors[@target_actor_id] || members[0] + end + #-------------------------------------------------------------------------- + # * Set Actor Targeted by Skill/Item Use + #-------------------------------------------------------------------------- + def target_actor=(actor) + @target_actor_id = actor.id + end + #-------------------------------------------------------------------------- + # * Change Order + #-------------------------------------------------------------------------- + def swap_order(index1, index2) + @actors[index1], @actors[index2] = @actors[index2], @actors[index1] + $game_player.refresh + end + #-------------------------------------------------------------------------- + # * Character Image Information for Save File Display + #-------------------------------------------------------------------------- + def characters_for_savefile + battle_members.collect do |actor| + [actor.character_name, actor.character_index] + end + end + #-------------------------------------------------------------------------- + # * Determine Party Ability + #-------------------------------------------------------------------------- + def party_ability(ability_id) + battle_members.any? {|actor| actor.party_ability(ability_id) } + end + #-------------------------------------------------------------------------- + # * Halve Encounters? + #-------------------------------------------------------------------------- + def encounter_half? + party_ability(ABILITY_ENCOUNTER_HALF) + end + #-------------------------------------------------------------------------- + # * Disable Encounters? + #-------------------------------------------------------------------------- + def encounter_none? + party_ability(ABILITY_ENCOUNTER_NONE) + end + #-------------------------------------------------------------------------- + # * Disable Surprise? + #-------------------------------------------------------------------------- + def cancel_surprise? + party_ability(ABILITY_CANCEL_SURPRISE) + end + #-------------------------------------------------------------------------- + # * Increase Preemptive Strike Rate? + #-------------------------------------------------------------------------- + def raise_preemptive? + party_ability(ABILITY_RAISE_PREEMPTIVE) + end + #-------------------------------------------------------------------------- + # * Double Money Earned? + #-------------------------------------------------------------------------- + def gold_double? + party_ability(ABILITY_GOLD_DOUBLE) + end + #-------------------------------------------------------------------------- + # * Double Item Acquisition Rate? + #-------------------------------------------------------------------------- + def drop_item_double? + party_ability(ABILITY_DROP_ITEM_DOUBLE) + end + #-------------------------------------------------------------------------- + # * Calculate Probability of Preemptive Attack + #-------------------------------------------------------------------------- + def rate_preemptive(troop_agi) + (agi >= troop_agi ? 0.05 : 0.03) * (raise_preemptive? ? 4 : 1) + end + #-------------------------------------------------------------------------- + # * Calculate Probability of Surprise + #-------------------------------------------------------------------------- + def rate_surprise(troop_agi) + cancel_surprise? ? 0 : (agi >= troop_agi ? 0.03 : 0.05) + end +end diff --git a/Scripts/RPG/Game_Picture.rb b/Scripts/RPG/Game_Picture.rb new file mode 100644 index 0000000..625928c --- /dev/null +++ b/Scripts/RPG/Game_Picture.rb @@ -0,0 +1,162 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Picture +#------------------------------------------------------------------------------ +# This class handles pictures. It is created only when a picture of a specific +# number is required internally for the Game_Pictures class. +#============================================================================== + +class Game_Picture + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :number # picture index + attr_reader :name # filename + attr_reader :origin # starting point + attr_reader :x # x-coordinate + attr_reader :y # y-coordinate + attr_reader :zoom_x # x directional zoom rate + attr_reader :zoom_y # y directional zoom rate + attr_reader :opacity # opacity level + attr_reader :blend_type # blend method + attr_reader :tone # color tone + attr_reader :angle # rotation angle + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(number) + @number = number + init_basic + init_target + init_tone + init_rotate + end + #-------------------------------------------------------------------------- + # * Initialize Basic Variable + #-------------------------------------------------------------------------- + def init_basic + @name = "" + @origin = @x = @y = 0 + @zoom_x = @zoom_y = 100.0 + @opacity = 255.0 + @blend_type = 1 + end + #-------------------------------------------------------------------------- + # * Initialize Movement Target + #-------------------------------------------------------------------------- + def init_target + @target_x = @x + @target_y = @y + @target_zoom_x = @zoom_x + @target_zoom_y = @zoom_y + @target_opacity = @opacity + @duration = 0 + end + #-------------------------------------------------------------------------- + # * Initialize Color Tone + #-------------------------------------------------------------------------- + def init_tone + @tone = Tone.new + @tone_target = Tone.new + @tone_duration = 0 + end + #-------------------------------------------------------------------------- + # * Initialize Rotation + #-------------------------------------------------------------------------- + def init_rotate + @angle = 0 + @rotate_speed = 0 + end + #-------------------------------------------------------------------------- + # * Show Picture + #-------------------------------------------------------------------------- + def show(name, origin, x, y, zoom_x, zoom_y, opacity, blend_type) + @name = name + @origin = origin + @x = x.to_f + @y = y.to_f + @zoom_x = zoom_x.to_f + @zoom_y = zoom_y.to_f + @opacity = opacity.to_f + @blend_type = blend_type + init_target + init_tone + init_rotate + end + #-------------------------------------------------------------------------- + # * Move Picture + #-------------------------------------------------------------------------- + def move(origin, x, y, zoom_x, zoom_y, opacity, blend_type, duration) + @origin = origin + @target_x = x.to_f + @target_y = y.to_f + @target_zoom_x = zoom_x.to_f + @target_zoom_y = zoom_y.to_f + @target_opacity = opacity.to_f + @blend_type = blend_type + @duration = duration + end + #-------------------------------------------------------------------------- + # * Change Rotation Speed + #-------------------------------------------------------------------------- + def rotate(speed) + @rotate_speed = speed + end + #-------------------------------------------------------------------------- + # * Start Changing Color Tone + #-------------------------------------------------------------------------- + def start_tone_change(tone, duration) + @tone_target = tone.clone + @tone_duration = duration + @tone = @tone_target.clone if @tone_duration == 0 + end + #-------------------------------------------------------------------------- + # * Erase Picture + #-------------------------------------------------------------------------- + def erase + @name = "" + @origin = 0 + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + update_move + update_tone_change + update_rotate + end + #-------------------------------------------------------------------------- + # * Update Picture Move + #-------------------------------------------------------------------------- + def update_move + return if @duration == 0 + d = @duration + @x = (@x * (d - 1) + @target_x) / d + @y = (@y * (d - 1) + @target_y) / d + @zoom_x = (@zoom_x * (d - 1) + @target_zoom_x) / d + @zoom_y = (@zoom_y * (d - 1) + @target_zoom_y) / d + @opacity = (@opacity * (d - 1) + @target_opacity) / d + @duration -= 1 + end + #-------------------------------------------------------------------------- + # * Update Color Tone Change + #-------------------------------------------------------------------------- + def update_tone_change + return if @tone_duration == 0 + d = @tone_duration + @tone.red = (@tone.red * (d - 1) + @tone_target.red) / d + @tone.green = (@tone.green * (d - 1) + @tone_target.green) / d + @tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d + @tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d + @tone_duration -= 1 + end + #-------------------------------------------------------------------------- + # * Update Rotation + #-------------------------------------------------------------------------- + def update_rotate + return if @rotate_speed == 0 + @angle += @rotate_speed / 2.0 + @angle += 360 while @angle < 0 + @angle %= 360 + end +end diff --git a/Scripts/RPG/Game_Pictures.rb b/Scripts/RPG/Game_Pictures.rb new file mode 100644 index 0000000..df4cc43 --- /dev/null +++ b/Scripts/RPG/Game_Pictures.rb @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Pictures +#------------------------------------------------------------------------------ +# This is a wrapper for a picture array. This class is used within the +# Game_Screen class. Map screen pictures and battle screen pictures are +# handled separately. +#============================================================================== + +class Game_Pictures + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @data = [] + end + #-------------------------------------------------------------------------- + # * Get Picture + #-------------------------------------------------------------------------- + def [](number) + @data[number] ||= Game_Picture.new(number) + end + #-------------------------------------------------------------------------- + # * Iterator + #-------------------------------------------------------------------------- + def each + @data.compact.each {|picture| yield picture } if block_given? + end +end diff --git a/Scripts/RPG/Game_Player.rb b/Scripts/RPG/Game_Player.rb new file mode 100644 index 0000000..53492ad --- /dev/null +++ b/Scripts/RPG/Game_Player.rb @@ -0,0 +1,489 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Player +#------------------------------------------------------------------------------ +# This class handles the player. It includes event starting determinants and +# map scrolling functions. The instance of this class is referenced by +# $game_player. +#============================================================================== + +class Game_Player < Game_Character + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :followers # Followers (party members) + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super + @vehicle_type = :walk # Type of vehicle currently being ridden + @vehicle_getting_on = false # Boarding vehicle flag + @vehicle_getting_off = false # Getting off vehicle flag + @followers = Game_Followers.new(self) + @transparent = $data_system.opt_transparent + clear_transfer_info + end + #-------------------------------------------------------------------------- + # * Clear Transfer Player Information + #-------------------------------------------------------------------------- + def clear_transfer_info + @transferring = false # Player transfer flag + @new_map_id = 0 # Destination map ID + @new_x = 0 # Destination X coordinate + @new_y = 0 # Destination Y coordinate + @new_direction = 0 # Post-movement direction + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + @character_name = actor ? actor.character_name : "" + @character_index = actor ? actor.character_index : 0 + @followers.refresh + end + #-------------------------------------------------------------------------- + # * Get Corresponding Actor + #-------------------------------------------------------------------------- + def actor + $game_party.battle_members[0] + end + #-------------------------------------------------------------------------- + # * Determine if Stopping + #-------------------------------------------------------------------------- + def stopping? + return false if @vehicle_getting_on || @vehicle_getting_off + return super + end + #-------------------------------------------------------------------------- + # * Player Transfer Reservation + # d: Post move direction (2,4,6,8) + #-------------------------------------------------------------------------- + def reserve_transfer(map_id, x, y, d = 2) + @transferring = true + @new_map_id = map_id + @new_x = x + @new_y = y + @new_direction = d + end + #-------------------------------------------------------------------------- + # * Determine if Player Transfer is Reserved + #-------------------------------------------------------------------------- + def transfer? + @transferring + end + #-------------------------------------------------------------------------- + # * Execute Player Transfer + #-------------------------------------------------------------------------- + def perform_transfer + if transfer? + set_direction(@new_direction) + if @new_map_id != $game_map.map_id + $game_map.setup(@new_map_id) + $game_map.autoplay + end + moveto(@new_x, @new_y) + clear_transfer_info + end + end + #-------------------------------------------------------------------------- + # * Determine if Map is Passable + # d: Direction (2,4,6,8) + #-------------------------------------------------------------------------- + def map_passable?(x, y, d) + case @vehicle_type + when :boat + $game_map.boat_passable?(x, y) + when :ship + $game_map.ship_passable?(x, y) + when :airship + true + else + super + end + end + #-------------------------------------------------------------------------- + # * Get Vehicle Currently Being Ridden + #-------------------------------------------------------------------------- + def vehicle + $game_map.vehicle(@vehicle_type) + end + #-------------------------------------------------------------------------- + # * Determine if on Boat + #-------------------------------------------------------------------------- + def in_boat? + @vehicle_type == :boat + end + #-------------------------------------------------------------------------- + # * Determine if on Ship + #-------------------------------------------------------------------------- + def in_ship? + @vehicle_type == :ship + end + #-------------------------------------------------------------------------- + # * Determine if Riding in Airship + #-------------------------------------------------------------------------- + def in_airship? + @vehicle_type == :airship + end + #-------------------------------------------------------------------------- + # * Determine if Walking Normally + #-------------------------------------------------------------------------- + def normal_walk? + @vehicle_type == :walk && !@move_route_forcing + end + #-------------------------------------------------------------------------- + # * Determine if Dashing + #-------------------------------------------------------------------------- + def dash? + return false if @move_route_forcing + return false if $game_map.disable_dash? + return false if vehicle + return Input.press?(:A) + end + #-------------------------------------------------------------------------- + # * Determine if Debug Pass-through State + #-------------------------------------------------------------------------- + def debug_through? + $TEST && Input.press?(:CTRL) + end + #-------------------------------------------------------------------------- + # * Detect Collision (Including Followers) + #-------------------------------------------------------------------------- + def collide?(x, y) + !@through && (pos?(x, y) || followers.collide?(x, y)) + end + #-------------------------------------------------------------------------- + # * X Coordinate of Screen Center + #-------------------------------------------------------------------------- + def center_x + (Graphics.width / 32 - 1) / 2.0 + end + #-------------------------------------------------------------------------- + # * Y Coordinate of Screen Center + #-------------------------------------------------------------------------- + def center_y + (Graphics.height / 32 - 1) / 2.0 + end + #-------------------------------------------------------------------------- + # * Set Map Display Position to Center of Screen + #-------------------------------------------------------------------------- + def center(x, y) + $game_map.set_display_pos(x - center_x, y - center_y) + end + #-------------------------------------------------------------------------- + # * Move to Designated Position + #-------------------------------------------------------------------------- + def moveto(x, y) + super + center(x, y) + make_encounter_count + vehicle.refresh if vehicle + @followers.synchronize(x, y, direction) + end + #-------------------------------------------------------------------------- + # * Increase Steps + #-------------------------------------------------------------------------- + def increase_steps + super + $game_party.increase_steps if normal_walk? + end + #-------------------------------------------------------------------------- + # * Create Encounter Count + #-------------------------------------------------------------------------- + def make_encounter_count + n = $game_map.encounter_step + @encounter_count = rand(n) + rand(n) + 1 + end + #-------------------------------------------------------------------------- + # * Create Group ID for Troop Encountered + #-------------------------------------------------------------------------- + def make_encounter_troop_id + encounter_list = [] + weight_sum = 0 + $game_map.encounter_list.each do |encounter| + next unless encounter_ok?(encounter) + encounter_list.push(encounter) + weight_sum += encounter.weight + end + if weight_sum > 0 + value = rand(weight_sum) + encounter_list.each do |encounter| + value -= encounter.weight + return encounter.troop_id if value < 0 + end + end + return 0 + end + #-------------------------------------------------------------------------- + # * Determine Usability of Encounter Item + #-------------------------------------------------------------------------- + def encounter_ok?(encounter) + return true if encounter.region_set.empty? + return true if encounter.region_set.include?(region_id) + return false + end + #-------------------------------------------------------------------------- + # * Execute Encounter Processing + #-------------------------------------------------------------------------- + def encounter + return false if $game_map.interpreter.running? + return false if $game_system.encounter_disabled + return false if @encounter_count > 0 + make_encounter_count + troop_id = make_encounter_troop_id + return false unless $data_troops[troop_id] + BattleManager.setup(troop_id) + BattleManager.on_encounter + return true + end + #-------------------------------------------------------------------------- + # * Trigger Map Event + # triggers : Trigger array + # normal : Is priority set to [Same as Characters] ? + #-------------------------------------------------------------------------- + def start_map_event(x, y, triggers, normal) + return if $game_map.interpreter.running? + $game_map.events_xy(x, y).each do |event| + if event.trigger_in?(triggers) && event.normal_priority? == normal + event.start + end + end + end + #-------------------------------------------------------------------------- + # * Determine if Same Position Event is Triggered + #-------------------------------------------------------------------------- + def check_event_trigger_here(triggers) + start_map_event(@x, @y, triggers, false) + end + #-------------------------------------------------------------------------- + # * Determine if Front Event is Triggered + #-------------------------------------------------------------------------- + def check_event_trigger_there(triggers) + x2 = $game_map.round_x_with_direction(@x, @direction) + y2 = $game_map.round_y_with_direction(@y, @direction) + start_map_event(x2, y2, triggers, true) + return if $game_map.any_event_starting? + return unless $game_map.counter?(x2, y2) + x3 = $game_map.round_x_with_direction(x2, @direction) + y3 = $game_map.round_y_with_direction(y2, @direction) + start_map_event(x3, y3, triggers, true) + end + #-------------------------------------------------------------------------- + # * Determine if Touch Event is Triggered + #-------------------------------------------------------------------------- + def check_event_trigger_touch(x, y) + start_map_event(x, y, [1,2], true) + end + #-------------------------------------------------------------------------- + # * Processing of Movement via Input from Directional Buttons + #-------------------------------------------------------------------------- + def move_by_input + return if !movable? || $game_map.interpreter.running? + move_straight(Input.dir4) if Input.dir4 > 0 + end + #-------------------------------------------------------------------------- + # * Determine if Movement is Possible + #-------------------------------------------------------------------------- + def movable? + return false if moving? + return false if @move_route_forcing || @followers.gathering? + return false if @vehicle_getting_on || @vehicle_getting_off + return false if $game_message.busy? || $game_message.visible + return false if vehicle && !vehicle.movable? + return true + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + last_real_x = @real_x + last_real_y = @real_y + last_moving = moving? + move_by_input + super + update_scroll(last_real_x, last_real_y) + update_vehicle + update_nonmoving(last_moving) unless moving? + @followers.update + end + #-------------------------------------------------------------------------- + # * Scroll Processing + #-------------------------------------------------------------------------- + def update_scroll(last_real_x, last_real_y) + ax1 = $game_map.adjust_x(last_real_x) + ay1 = $game_map.adjust_y(last_real_y) + ax2 = $game_map.adjust_x(@real_x) + ay2 = $game_map.adjust_y(@real_y) + $game_map.scroll_down (ay2 - ay1) if ay2 > ay1 && ay2 > center_y + $game_map.scroll_left (ax1 - ax2) if ax2 < ax1 && ax2 < center_x + $game_map.scroll_right(ax2 - ax1) if ax2 > ax1 && ax2 > center_x + $game_map.scroll_up (ay1 - ay2) if ay2 < ay1 && ay2 < center_y + end + #-------------------------------------------------------------------------- + # * Vehicle Processing + #-------------------------------------------------------------------------- + def update_vehicle + return if @followers.gathering? + return unless vehicle + if @vehicle_getting_on + update_vehicle_get_on + elsif @vehicle_getting_off + update_vehicle_get_off + else + vehicle.sync_with_player + end + end + #-------------------------------------------------------------------------- + # * Update Boarding onto Vehicle + #-------------------------------------------------------------------------- + def update_vehicle_get_on + if !@followers.gathering? && !moving? + @direction = vehicle.direction + @move_speed = vehicle.speed + @vehicle_getting_on = false + @transparent = true + @through = true if in_airship? + vehicle.get_on + end + end + #-------------------------------------------------------------------------- + # * Update Disembarking from Vehicle + #-------------------------------------------------------------------------- + def update_vehicle_get_off + if !@followers.gathering? && vehicle.altitude == 0 + @vehicle_getting_off = false + @vehicle_type = :walk + @transparent = false + end + end + #-------------------------------------------------------------------------- + # * Processing When Not Moving + # last_moving : Was it moving previously? + #-------------------------------------------------------------------------- + def update_nonmoving(last_moving) + return if $game_map.interpreter.running? + if last_moving + $game_party.on_player_walk + return if check_touch_event + end + if movable? && Input.trigger?(:C) + return if get_on_off_vehicle + return if check_action_event + end + update_encounter if last_moving + end + #-------------------------------------------------------------------------- + # * Update Encounter + #-------------------------------------------------------------------------- + def update_encounter + return if $TEST && Input.press?(:CTRL) + return if $game_party.encounter_none? + return if in_airship? + return if @move_route_forcing + @encounter_count -= encounter_progress_value + end + #-------------------------------------------------------------------------- + # * Get Encounter Progress Value + #-------------------------------------------------------------------------- + def encounter_progress_value + value = $game_map.bush?(@x, @y) ? 2 : 1 + value *= 0.5 if $game_party.encounter_half? + value *= 0.5 if in_ship? + value + end + #-------------------------------------------------------------------------- + # * Determine if Event Start Caused by Touch (Overlap) + #-------------------------------------------------------------------------- + def check_touch_event + return false if in_airship? + check_event_trigger_here([1,2]) + $game_map.setup_starting_event + end + #-------------------------------------------------------------------------- + # * Determine if Event Start Caused by [OK] Button + #-------------------------------------------------------------------------- + def check_action_event + return false if in_airship? + check_event_trigger_here([0]) + return true if $game_map.setup_starting_event + check_event_trigger_there([0,1,2]) + $game_map.setup_starting_event + end + #-------------------------------------------------------------------------- + # * Getting On and Off Vehicles + #-------------------------------------------------------------------------- + def get_on_off_vehicle + if vehicle + get_off_vehicle + else + get_on_vehicle + end + end + #-------------------------------------------------------------------------- + # * Board Vehicle + # Assumes that the player is not currently in a vehicle. + #-------------------------------------------------------------------------- + def get_on_vehicle + front_x = $game_map.round_x_with_direction(@x, @direction) + front_y = $game_map.round_y_with_direction(@y, @direction) + @vehicle_type = :boat if $game_map.boat.pos?(front_x, front_y) + @vehicle_type = :ship if $game_map.ship.pos?(front_x, front_y) + @vehicle_type = :airship if $game_map.airship.pos?(@x, @y) + if vehicle + @vehicle_getting_on = true + force_move_forward unless in_airship? + @followers.gather + end + @vehicle_getting_on + end + #-------------------------------------------------------------------------- + # * Get Off Vehicle + # Assumes that the player is currently riding in a vehicle. + #-------------------------------------------------------------------------- + def get_off_vehicle + if vehicle.land_ok?(@x, @y, @direction) + set_direction(2) if in_airship? + @followers.synchronize(@x, @y, @direction) + vehicle.get_off + unless in_airship? + force_move_forward + @transparent = false + end + @vehicle_getting_off = true + @move_speed = 4 + @through = false + make_encounter_count + @followers.gather + end + @vehicle_getting_off + end + #-------------------------------------------------------------------------- + # * Force One Step Forward + #-------------------------------------------------------------------------- + def force_move_forward + @through = true + move_forward + @through = false + end + #-------------------------------------------------------------------------- + # * Determine if Damage Floor + #-------------------------------------------------------------------------- + def on_damage_floor? + $game_map.damage_floor?(@x, @y) && !in_airship? + end + #-------------------------------------------------------------------------- + # * Move Straight + #-------------------------------------------------------------------------- + def move_straight(d, turn_ok = true) + @followers.move if passable?(@x, @y, d) + super + end + #-------------------------------------------------------------------------- + # * Move Diagonally + #-------------------------------------------------------------------------- + def move_diagonal(horz, vert) + @followers.move if diagonal_passable?(@x, @y, horz, vert) + super + end +end diff --git a/Scripts/RPG/Game_Screen.rb b/Scripts/RPG/Game_Screen.rb new file mode 100644 index 0000000..a6cc06f --- /dev/null +++ b/Scripts/RPG/Game_Screen.rb @@ -0,0 +1,235 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Screen +#------------------------------------------------------------------------------ +# This class handles screen maintenance data, such as changes in color tone, +# flashes, etc. It's used within the Game_Map and Game_Troop classes. +#============================================================================== + +class Game_Screen + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :brightness # brightness + attr_reader :tone # color tone + attr_reader :flash_color # flash color + attr_reader :pictures # pictures + attr_reader :shake # shake positioning + attr_reader :weather_type # weather type + attr_reader :weather_power # weather intensity (Float) + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @pictures = Game_Pictures.new + clear + end + #-------------------------------------------------------------------------- + # * Clear + #-------------------------------------------------------------------------- + def clear + clear_fade + clear_tone + clear_flash + clear_shake + clear_weather + clear_pictures + end + #-------------------------------------------------------------------------- + # * Clear Fade In/Out + #-------------------------------------------------------------------------- + def clear_fade + @brightness = 255 + @fadeout_duration = 0 + @fadein_duration = 0 + end + #-------------------------------------------------------------------------- + # * Clear Color Tone + #-------------------------------------------------------------------------- + def clear_tone + @tone = Tone.new + @tone_target = Tone.new + @tone_duration = 0 + end + #-------------------------------------------------------------------------- + # * Clear Flash + #-------------------------------------------------------------------------- + def clear_flash + @flash_color = Color.new + @flash_duration = 0 + end + #-------------------------------------------------------------------------- + # * Clear Shake + #-------------------------------------------------------------------------- + def clear_shake + @shake_power = 0 + @shake_speed = 0 + @shake_duration = 0 + @shake_direction = 1 + @shake = 0 + end + #-------------------------------------------------------------------------- + # * Clear Weather + #-------------------------------------------------------------------------- + def clear_weather + @weather_type = :none + @weather_power = 0 + @weather_power_target = 0 + @weather_duration = 0 + end + #-------------------------------------------------------------------------- + # * Clear Picture + #-------------------------------------------------------------------------- + def clear_pictures + @pictures.each {|picture| picture.erase } + end + #-------------------------------------------------------------------------- + # * Start Fadeout + #-------------------------------------------------------------------------- + def start_fadeout(duration) + @fadeout_duration = duration + @fadein_duration = 0 + end + #-------------------------------------------------------------------------- + # * Start Fadein + #-------------------------------------------------------------------------- + def start_fadein(duration) + @fadein_duration = duration + @fadeout_duration = 0 + end + #-------------------------------------------------------------------------- + # * Start Changing Color Tone + #-------------------------------------------------------------------------- + def start_tone_change(tone, duration) + @tone_target = tone.clone + @tone_duration = duration + @tone = @tone_target.clone if @tone_duration == 0 + end + #-------------------------------------------------------------------------- + # * Start Flashing + #-------------------------------------------------------------------------- + def start_flash(color, duration) + @flash_color = color.clone + @flash_duration = duration + end + #-------------------------------------------------------------------------- + # * Start Shaking + # power: intensity + # speed: speed + #-------------------------------------------------------------------------- + def start_shake(power, speed, duration) + @shake_power = power + @shake_speed = speed + @shake_duration = duration + end + #-------------------------------------------------------------------------- + # * Change Weather + # type : type (:none, :rain, :storm, :snow) + # power: intensity + # If weather type is none (:none), set @weather_power_target (target + # value of intensity) to 0 to represent gradual stopping of rain, but + # only in this case. + #-------------------------------------------------------------------------- + def change_weather(type, power, duration) + @weather_type = type if type != :none || duration == 0 + @weather_power_target = type == :none ? 0.0 : power.to_f + @weather_duration = duration + @weather_power = @weather_power_target if duration == 0 + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + update_fadeout + update_fadein + update_tone + update_flash + update_shake + update_weather + update_pictures + end + #-------------------------------------------------------------------------- + # * Update Fadeout + #-------------------------------------------------------------------------- + def update_fadeout + if @fadeout_duration > 0 + d = @fadeout_duration + @brightness = (@brightness * (d - 1)) / d + @fadeout_duration -= 1 + end + end + #-------------------------------------------------------------------------- + # * Update Fadein + #-------------------------------------------------------------------------- + def update_fadein + if @fadein_duration > 0 + d = @fadein_duration + @brightness = (@brightness * (d - 1) + 255) / d + @fadein_duration -= 1 + end + end + #-------------------------------------------------------------------------- + # * Update Tone + #-------------------------------------------------------------------------- + def update_tone + if @tone_duration > 0 + d = @tone_duration + @tone.red = (@tone.red * (d - 1) + @tone_target.red) / d + @tone.green = (@tone.green * (d - 1) + @tone_target.green) / d + @tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d + @tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d + @tone_duration -= 1 + end + end + #-------------------------------------------------------------------------- + # * Update Flash + #-------------------------------------------------------------------------- + def update_flash + if @flash_duration > 0 + d = @flash_duration + @flash_color.alpha = @flash_color.alpha * (d - 1) / d + @flash_duration -= 1 + end + end + #-------------------------------------------------------------------------- + # * Update Shake + #-------------------------------------------------------------------------- + def update_shake + if @shake_duration > 0 || @shake != 0 + delta = (@shake_power * @shake_speed * @shake_direction) / 10.0 + if @shake_duration <= 1 && @shake * (@shake + delta) < 0 + @shake = 0 + else + @shake += delta + end + @shake_direction = -1 if @shake > @shake_power * 2 + @shake_direction = 1 if @shake < - @shake_power * 2 + @shake_duration -= 1 + end + end + #-------------------------------------------------------------------------- + # * Update Weather + #-------------------------------------------------------------------------- + def update_weather + if @weather_duration > 0 + d = @weather_duration + @weather_power = (@weather_power * (d - 1) + @weather_power_target) / d + @weather_duration -= 1 + if @weather_duration == 0 && @weather_power_target == 0 + @weather_type = :none + end + end + end + #-------------------------------------------------------------------------- + # * Update Pictures + #-------------------------------------------------------------------------- + def update_pictures + @pictures.each {|picture| picture.update } + end + #-------------------------------------------------------------------------- + # * Start Flash (for Poison/Damage Floor) + #-------------------------------------------------------------------------- + def start_flash_for_damage + start_flash(Color.new(255,0,0,128), 8) + end +end diff --git a/Scripts/RPG/Game_SelfSwitches.rb b/Scripts/RPG/Game_SelfSwitches.rb new file mode 100644 index 0000000..e3b72e1 --- /dev/null +++ b/Scripts/RPG/Game_SelfSwitches.rb @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_SelfSwitches +#------------------------------------------------------------------------------ +# This class handles self switches. It's a wrapper for the built-in class +# "Hash." The instance of this class is referenced by $game_self_switches. +#============================================================================== + +class Game_SelfSwitches + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @data = {} + end + #-------------------------------------------------------------------------- + # * Get Self Switch + #-------------------------------------------------------------------------- + def [](key) + @data[key] == true + end + #-------------------------------------------------------------------------- + # * Set Self Switch + # value : ON (true) / OFF (false) + #-------------------------------------------------------------------------- + def []=(key, value) + @data[key] = value + on_change + end + #-------------------------------------------------------------------------- + # * Processing When Setting Self Switches + #-------------------------------------------------------------------------- + def on_change + $game_map.need_refresh = true + end +end diff --git a/Scripts/RPG/Game_Switches.rb b/Scripts/RPG/Game_Switches.rb new file mode 100644 index 0000000..cd3116b --- /dev/null +++ b/Scripts/RPG/Game_Switches.rb @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Switches +#------------------------------------------------------------------------------ +# This class handles switches. It's a wrapper for the built-in class "Array." +# The instance of this class is referenced by $game_switches. +#============================================================================== + +class Game_Switches + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @data = [] + end + #-------------------------------------------------------------------------- + # * Get Switch + #-------------------------------------------------------------------------- + def [](switch_id) + @data[switch_id] || false + end + #-------------------------------------------------------------------------- + # * Set Switch + # value : ON (true) / OFF (false) + #-------------------------------------------------------------------------- + def []=(switch_id, value) + @data[switch_id] = value + on_change + end + #-------------------------------------------------------------------------- + # * Processing When Setting Switches + #-------------------------------------------------------------------------- + def on_change + $game_map.need_refresh = true + end +end diff --git a/Scripts/RPG/Game_System.rb b/Scripts/RPG/Game_System.rb new file mode 100644 index 0000000..0b4fd6c --- /dev/null +++ b/Scripts/RPG/Game_System.rb @@ -0,0 +1,123 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_System +#------------------------------------------------------------------------------ +# This class handles system data. It saves the disable state of saving and +# menus. Instances of this class are referenced by $game_system. +#============================================================================== + +class Game_System + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_accessor :save_disabled # save forbidden + attr_accessor :menu_disabled # menu forbidden + attr_accessor :encounter_disabled # encounter forbidden + attr_accessor :formation_disabled # formation change forbidden + attr_accessor :battle_count # battle count + attr_reader :save_count # save count + attr_reader :version_id # game version ID + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @save_disabled = false + @menu_disabled = false + @encounter_disabled = false + @formation_disabled = false + @battle_count = 0 + @save_count = 0 + @version_id = 0 + @window_tone = nil + @battle_bgm = nil + @battle_end_me = nil + @saved_bgm = nil + end + #-------------------------------------------------------------------------- + # * Determine if Japanese Mode + #-------------------------------------------------------------------------- + def japanese? + $data_system.japanese + end + #-------------------------------------------------------------------------- + # * Get Window Color + #-------------------------------------------------------------------------- + def window_tone + @window_tone || $data_system.window_tone + end + #-------------------------------------------------------------------------- + # * Set Window Color + #-------------------------------------------------------------------------- + def window_tone=(window_tone) + @window_tone = window_tone + end + #-------------------------------------------------------------------------- + # * Get Battle BGM + #-------------------------------------------------------------------------- + def battle_bgm + @battle_bgm || $data_system.battle_bgm + end + #-------------------------------------------------------------------------- + # * Set Battle BGM + #-------------------------------------------------------------------------- + def battle_bgm=(battle_bgm) + @battle_bgm = battle_bgm + end + #-------------------------------------------------------------------------- + # * Get Battle End ME + #-------------------------------------------------------------------------- + def battle_end_me + @battle_end_me || $data_system.battle_end_me + end + #-------------------------------------------------------------------------- + # * Set Battle End ME + #-------------------------------------------------------------------------- + def battle_end_me=(battle_end_me) + @battle_end_me = battle_end_me + end + #-------------------------------------------------------------------------- + # * Pre-Save Processing + #-------------------------------------------------------------------------- + def on_before_save + @save_count += 1 + @version_id = $data_system.version_id + @frames_on_save = Graphics.frame_count + @bgm_on_save = RPG::BGM.last + @bgs_on_save = RPG::BGS.last + end + #-------------------------------------------------------------------------- + # * Post-Load Processing + #-------------------------------------------------------------------------- + def on_after_load + Graphics.frame_count = @frames_on_save + @bgm_on_save.play + @bgs_on_save.play + end + #-------------------------------------------------------------------------- + # * Get Play Time in Seconds + #-------------------------------------------------------------------------- + def playtime + Graphics.frame_count / Graphics.frame_rate + end + #-------------------------------------------------------------------------- + # * Get Play Time in Character String + #-------------------------------------------------------------------------- + def playtime_s + hour = playtime / 60 / 60 + min = playtime / 60 % 60 + sec = playtime % 60 + sprintf("%02d:%02d:%02d", hour, min, sec) + end + #-------------------------------------------------------------------------- + # * Save BGM + #-------------------------------------------------------------------------- + def save_bgm + @saved_bgm = RPG::BGM.last + end + #-------------------------------------------------------------------------- + # * Resume BGM + #-------------------------------------------------------------------------- + def replay_bgm + @saved_bgm.replay if @saved_bgm + end +end diff --git a/Scripts/RPG/Game_Temp.rb b/Scripts/RPG/Game_Temp.rb new file mode 100644 index 0000000..c4b15e0 --- /dev/null +++ b/Scripts/RPG/Game_Temp.rb @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Temp +#------------------------------------------------------------------------------ +# This class handles temporary data that is not included with save data. +# The instance of this class is referenced by $game_temp. +#============================================================================== + +class Game_Temp + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :common_event_id # Common Event ID + attr_accessor :fade_type # Fade Type at Player Transfer + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @common_event_id = 0 + @fade_type = 0 + end + #-------------------------------------------------------------------------- + # * Reserve Common Event Call + #-------------------------------------------------------------------------- + def reserve_common_event(common_event_id) + @common_event_id = common_event_id + end + #-------------------------------------------------------------------------- + # * Clear Common Event Call Reservation + #-------------------------------------------------------------------------- + def clear_common_event + @common_event_id = 0 + end + #-------------------------------------------------------------------------- + # * Determine Reservation of Common Event Call + #-------------------------------------------------------------------------- + def common_event_reserved? + @common_event_id > 0 + end + #-------------------------------------------------------------------------- + # * Get Reserved Common Event + #-------------------------------------------------------------------------- + def reserved_common_event + $data_common_events[@common_event_id] + end +end diff --git a/Scripts/RPG/Game_Timer.rb b/Scripts/RPG/Game_Timer.rb new file mode 100644 index 0000000..f204814 --- /dev/null +++ b/Scripts/RPG/Game_Timer.rb @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Timer +#------------------------------------------------------------------------------ +# This class handles timers. Instances of this class are referenced by +# $game_timer. +#============================================================================== + +class Game_Timer + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @count = 0 + @working = false + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + if @working && @count > 0 + @count -= 1 + on_expire if @count == 0 + end + end + #-------------------------------------------------------------------------- + # * Start + #-------------------------------------------------------------------------- + def start(count) + @count = count + @working = true + end + #-------------------------------------------------------------------------- + # * Stop + #-------------------------------------------------------------------------- + def stop + @working = false + end + #-------------------------------------------------------------------------- + # * Determine if Working + #-------------------------------------------------------------------------- + def working? + @working + end + #-------------------------------------------------------------------------- + # * Get Seconds + #-------------------------------------------------------------------------- + def sec + @count / Graphics.frame_rate + end + #-------------------------------------------------------------------------- + # * Processing When Timer Reaches 0 + #-------------------------------------------------------------------------- + def on_expire + BattleManager.abort + end +end diff --git a/Scripts/RPG/Game_Troop.rb b/Scripts/RPG/Game_Troop.rb new file mode 100644 index 0000000..b8423c1 --- /dev/null +++ b/Scripts/RPG/Game_Troop.rb @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- + +#============================================================================== +# ** Game_Troop +#------------------------------------------------------------------------------ +# This class handles enemy groups and battle-related data. Also performs +# battle events. The instance of this class is referenced by $game_troop. +#============================================================================== + +class Game_Troop < Game_Unit + #-------------------------------------------------------------------------- + # * Characters to be added to the end of enemy names + #-------------------------------------------------------------------------- + LETTER_TABLE_HALF = [' A',' B',' C',' D',' E',' F',' G',' H',' I',' J', + ' K',' L',' M',' N',' O',' P',' Q',' R',' S',' T', + ' U',' V',' W',' X',' Y',' Z'] + LETTER_TABLE_FULL = ['A','B','C','D','E','F','G','H','I','J', + 'K','L','M','N','O','P','Q','R','S','T', + 'U','V','W','X','Y','Z'] + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :screen # battle screen state + attr_reader :interpreter # battle event interpreter + attr_reader :event_flags # battle event executed flag + attr_reader :turn_count # number of turns + attr_reader :name_counts # hash for enemy name appearance + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super + @screen = Game_Screen.new + @interpreter = Game_Interpreter.new + @event_flags = {} + clear + end + #-------------------------------------------------------------------------- + # * Get Members + #-------------------------------------------------------------------------- + def members + @enemies + end + #-------------------------------------------------------------------------- + # * Clear + #-------------------------------------------------------------------------- + def clear + @screen.clear + @interpreter.clear + @event_flags.clear + @enemies = [] + @turn_count = 0 + @names_count = {} + end + #-------------------------------------------------------------------------- + # * Get Troop Objects + #-------------------------------------------------------------------------- + def troop + $data_troops[@troop_id] + end + #-------------------------------------------------------------------------- + # * Setup + #-------------------------------------------------------------------------- + def setup(troop_id) + clear + @troop_id = troop_id + @enemies = [] + troop.members.each do |member| + next unless $data_enemies[member.enemy_id] + enemy = Game_Enemy.new(@enemies.size, member.enemy_id) + enemy.hide if member.hidden + enemy.screen_x = member.x + enemy.screen_y = member.y + @enemies.push(enemy) + end + init_screen_tone + make_unique_names + end + #-------------------------------------------------------------------------- + # * Initialize Screen Tone + #-------------------------------------------------------------------------- + def init_screen_tone + @screen.start_tone_change($game_map.screen.tone, 0) if $game_map + end + #-------------------------------------------------------------------------- + # * Add letters (ABC, etc) to enemy characters with the same name + #-------------------------------------------------------------------------- + def make_unique_names + members.each do |enemy| + next unless enemy.alive? + next unless enemy.letter.empty? + n = @names_count[enemy.original_name] || 0 + enemy.letter = letter_table[n % letter_table.size] + @names_count[enemy.original_name] = n + 1 + end + members.each do |enemy| + n = @names_count[enemy.original_name] || 0 + enemy.plural = true if n >= 2 + end + end + #-------------------------------------------------------------------------- + # * Get Text Table to Place Behind Enemy Name + #-------------------------------------------------------------------------- + def letter_table + $game_system.japanese? ? LETTER_TABLE_FULL : LETTER_TABLE_HALF + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + @screen.update + end + #-------------------------------------------------------------------------- + # * Get Enemy Name Array + # For display at start of battle. Overlapping names are removed. + #-------------------------------------------------------------------------- + def enemy_names + names = [] + members.each do |enemy| + next unless enemy.alive? + next if names.include?(enemy.original_name) + names.push(enemy.original_name) + end + names + end + #-------------------------------------------------------------------------- + # * Determine if Battle Event (Page) Conditions Are Met + #-------------------------------------------------------------------------- + def conditions_met?(page) + c = page.condition + if !c.turn_ending && !c.turn_valid && !c.enemy_valid && + !c.actor_valid && !c.switch_valid + return false # Conditions not set: not executed + end + if @event_flags[page] + return false # Executed + end + if c.turn_ending # At turn end + return false unless BattleManager.turn_end? + end + if c.turn_valid # Number of turns + n = @turn_count + a = c.turn_a + b = c.turn_b + return false if (b == 0 && n != a) + return false if (b > 0 && (n < 1 || n < a || n % b != a % b)) + end + if c.enemy_valid # Enemy + enemy = $game_troop.members[c.enemy_index] + return false if enemy == nil + return false if enemy.hp_rate * 100 > c.enemy_hp + end + if c.actor_valid # Actor + actor = $game_actors[c.actor_id] + return false if actor == nil + return false if actor.hp_rate * 100 > c.actor_hp + end + if c.switch_valid # Switch + return false if !$game_switches[c.switch_id] + end + return true # Condition met + end + #-------------------------------------------------------------------------- + # * Battle Event Setup + #-------------------------------------------------------------------------- + def setup_battle_event + return if @interpreter.running? + return if @interpreter.setup_reserved_common_event + troop.pages.each do |page| + next unless conditions_met?(page) + @interpreter.setup(page.list) + @event_flags[page] = true if page.span <= 1 + return + end + end + #-------------------------------------------------------------------------- + # * Increase Turns + #-------------------------------------------------------------------------- + def increase_turn + troop.pages.each {|page| @event_flags[page] = false if page.span == 1 } + @turn_count += 1 + end + #-------------------------------------------------------------------------- + # * Calculate Total Experience + #-------------------------------------------------------------------------- + def exp_total + dead_members.inject(0) {|r, enemy| r += enemy.exp } + end + #-------------------------------------------------------------------------- + # * Calculate Total Gold + #-------------------------------------------------------------------------- + def gold_total + dead_members.inject(0) {|r, enemy| r += enemy.gold } * gold_rate + end + #-------------------------------------------------------------------------- + # * Get Multiplier for Gold + #-------------------------------------------------------------------------- + def gold_rate + $game_party.gold_double? ? 2 : 1 + end + #-------------------------------------------------------------------------- + # * Create Array of Dropped Items + #-------------------------------------------------------------------------- + def make_drop_items + dead_members.inject([]) {|r, enemy| r += enemy.make_drop_items } + end +end diff --git a/Scripts/RPG/Game_Troop.rb~ b/Scripts/RPG/Game_Troop.rb~ new file mode 100644 index 0000000..563f7f3 --- /dev/null +++ b/Scripts/RPG/Game_Troop.rb~ @@ -0,0 +1,207 @@ +# encoding: UTF8 + +#============================================================================== +# ** Game_Troop +#------------------------------------------------------------------------------ +# This class handles enemy groups and battle-related data. Also performs +# battle events. The instance of this class is referenced by $game_troop. +#============================================================================== + +class Game_Troop < Game_Unit + #-------------------------------------------------------------------------- + # * Characters to be added to the end of enemy names + #-------------------------------------------------------------------------- + LETTER_TABLE_HALF = [' A',' B',' C',' D',' E',' F',' G',' H',' I',' J', + ' K',' L',' M',' N',' O',' P',' Q',' R',' S',' T', + ' U',' V',' W',' X',' Y',' Z'] + LETTER_TABLE_FULL = ['A','B','C','D','E','F','G','H','I','J', + 'K','L','M','N','O','P','Q','R','S','T', + 'U','V','W','X','Y','Z'] + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :screen # battle screen state + attr_reader :interpreter # battle event interpreter + attr_reader :event_flags # battle event executed flag + attr_reader :turn_count # number of turns + attr_reader :name_counts # hash for enemy name appearance + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super + @screen = Game_Screen.new + @interpreter = Game_Interpreter.new + @event_flags = {} + clear + end + #-------------------------------------------------------------------------- + # * Get Members + #-------------------------------------------------------------------------- + def members + @enemies + end + #-------------------------------------------------------------------------- + # * Clear + #-------------------------------------------------------------------------- + def clear + @screen.clear + @interpreter.clear + @event_flags.clear + @enemies = [] + @turn_count = 0 + @names_count = {} + end + #-------------------------------------------------------------------------- + # * Get Troop Objects + #-------------------------------------------------------------------------- + def troop + $data_troops[@troop_id] + end + #-------------------------------------------------------------------------- + # * Setup + #-------------------------------------------------------------------------- + def setup(troop_id) + clear + @troop_id = troop_id + @enemies = [] + troop.members.each do |member| + next unless $data_enemies[member.enemy_id] + enemy = Game_Enemy.new(@enemies.size, member.enemy_id) + enemy.hide if member.hidden + enemy.screen_x = member.x + enemy.screen_y = member.y + @enemies.push(enemy) + end + init_screen_tone + make_unique_names + end + #-------------------------------------------------------------------------- + # * Initialize Screen Tone + #-------------------------------------------------------------------------- + def init_screen_tone + @screen.start_tone_change($game_map.screen.tone, 0) if $game_map + end + #-------------------------------------------------------------------------- + # * Add letters (ABC, etc) to enemy characters with the same name + #-------------------------------------------------------------------------- + def make_unique_names + members.each do |enemy| + next unless enemy.alive? + next unless enemy.letter.empty? + n = @names_count[enemy.original_name] || 0 + enemy.letter = letter_table[n % letter_table.size] + @names_count[enemy.original_name] = n + 1 + end + members.each do |enemy| + n = @names_count[enemy.original_name] || 0 + enemy.plural = true if n >= 2 + end + end + #-------------------------------------------------------------------------- + # * Get Text Table to Place Behind Enemy Name + #-------------------------------------------------------------------------- + def letter_table + $game_system.japanese? ? LETTER_TABLE_FULL : LETTER_TABLE_HALF + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + @screen.update + end + #-------------------------------------------------------------------------- + # * Get Enemy Name Array + # For display at start of battle. Overlapping names are removed. + #-------------------------------------------------------------------------- + def enemy_names + names = [] + members.each do |enemy| + next unless enemy.alive? + next if names.include?(enemy.original_name) + names.push(enemy.original_name) + end + names + end + #-------------------------------------------------------------------------- + # * Determine if Battle Event (Page) Conditions Are Met + #-------------------------------------------------------------------------- + def conditions_met?(page) + c = page.condition + if !c.turn_ending && !c.turn_valid && !c.enemy_valid && + !c.actor_valid && !c.switch_valid + return false # Conditions not set: not executed + end + if @event_flags[page] + return false # Executed + end + if c.turn_ending # At turn end + return false unless BattleManager.turn_end? + end + if c.turn_valid # Number of turns + n = @turn_count + a = c.turn_a + b = c.turn_b + return false if (b == 0 && n != a) + return false if (b > 0 && (n < 1 || n < a || n % b != a % b)) + end + if c.enemy_valid # Enemy + enemy = $game_troop.members[c.enemy_index] + return false if enemy == nil + return false if enemy.hp_rate * 100 > c.enemy_hp + end + if c.actor_valid # Actor + actor = $game_actors[c.actor_id] + return false if actor == nil + return false if actor.hp_rate * 100 > c.actor_hp + end + if c.switch_valid # Switch + return false if !$game_switches[c.switch_id] + end + return true # Condition met + end + #-------------------------------------------------------------------------- + # * Battle Event Setup + #-------------------------------------------------------------------------- + def setup_battle_event + return if @interpreter.running? + return if @interpreter.setup_reserved_common_event + troop.pages.each do |page| + next unless conditions_met?(page) + @interpreter.setup(page.list) + @event_flags[page] = true if page.span <= 1 + return + end + end + #-------------------------------------------------------------------------- + # * Increase Turns + #-------------------------------------------------------------------------- + def increase_turn + troop.pages.each {|page| @event_flags[page] = false if page.span == 1 } + @turn_count += 1 + end + #-------------------------------------------------------------------------- + # * Calculate Total Experience + #-------------------------------------------------------------------------- + def exp_total + dead_members.inject(0) {|r, enemy| r += enemy.exp } + end + #-------------------------------------------------------------------------- + # * Calculate Total Gold + #-------------------------------------------------------------------------- + def gold_total + dead_members.inject(0) {|r, enemy| r += enemy.gold } * gold_rate + end + #-------------------------------------------------------------------------- + # * Get Multiplier for Gold + #-------------------------------------------------------------------------- + def gold_rate + $game_party.gold_double? ? 2 : 1 + end + #-------------------------------------------------------------------------- + # * Create Array of Dropped Items + #-------------------------------------------------------------------------- + def make_drop_items + dead_members.inject([]) {|r, enemy| r += enemy.make_drop_items } + end +end diff --git a/Scripts/RPG/Game_Unit.rb b/Scripts/RPG/Game_Unit.rb new file mode 100644 index 0000000..874c397 --- /dev/null +++ b/Scripts/RPG/Game_Unit.rb @@ -0,0 +1,132 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Unit +#------------------------------------------------------------------------------ +# This class handles units. It's used as a superclass of the Game_Party and +# and Game_Troop classes. +#============================================================================== + +class Game_Unit + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :in_battle # in battle flag + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @in_battle = false + end + #-------------------------------------------------------------------------- + # * Get Members + #-------------------------------------------------------------------------- + def members + return [] + end + #-------------------------------------------------------------------------- + # * Get Array of Living Members + #-------------------------------------------------------------------------- + def alive_members + members.select {|member| member.alive? } + end + #-------------------------------------------------------------------------- + # * Get Array of Incapacitated Members + #-------------------------------------------------------------------------- + def dead_members + members.select {|member| member.dead? } + end + #-------------------------------------------------------------------------- + # * Get Array of Movable Members + #-------------------------------------------------------------------------- + def movable_members + members.select {|member| member.movable? } + end + #-------------------------------------------------------------------------- + # * Clear all Members' Battle Actions + #-------------------------------------------------------------------------- + def clear_actions + members.each {|member| member.clear_actions } + end + #-------------------------------------------------------------------------- + # * Calculate Average Value of Agility + #-------------------------------------------------------------------------- + def agi + return 1 if members.size == 0 + members.inject(0) {|r, member| r += member.agi } / members.size + end + #-------------------------------------------------------------------------- + # * Calculate Total Target Rate + #-------------------------------------------------------------------------- + def tgr_sum + alive_members.inject(0) {|r, member| r + member.tgr } + end + #-------------------------------------------------------------------------- + # * Random Selection of Target + #-------------------------------------------------------------------------- + def random_target + tgr_rand = rand * tgr_sum + alive_members.each do |member| + tgr_rand -= member.tgr + return member if tgr_rand < 0 + end + alive_members[0] + end + #-------------------------------------------------------------------------- + # * Randomly Determine Target (K.O.) + #-------------------------------------------------------------------------- + def random_dead_target + dead_members.empty? ? nil : dead_members[rand(dead_members.size)] + end + #-------------------------------------------------------------------------- + # * Smooth Selection of Target + #-------------------------------------------------------------------------- + def smooth_target(index) + member = members[index] + (member && member.alive?) ? member : alive_members[0] + end + #-------------------------------------------------------------------------- + # * Smooth Selection of Target (K.O.) + #-------------------------------------------------------------------------- + def smooth_dead_target(index) + member = members[index] + (member && member.dead?) ? member : dead_members[0] + end + #-------------------------------------------------------------------------- + # * Clear Action Results + #-------------------------------------------------------------------------- + def clear_results + members.select {|member| member.result.clear } + end + #-------------------------------------------------------------------------- + # * Processing at Start of Battle + #-------------------------------------------------------------------------- + def on_battle_start + members.each {|member| member.on_battle_start } + @in_battle = true + end + #-------------------------------------------------------------------------- + # * Processing at End of Battle + #-------------------------------------------------------------------------- + def on_battle_end + @in_battle = false + members.each {|member| member.on_battle_end } + end + #-------------------------------------------------------------------------- + # * Create Battle Action + #-------------------------------------------------------------------------- + def make_actions + members.each {|member| member.make_actions } + end + #-------------------------------------------------------------------------- + # * Determine Everyone is Dead + #-------------------------------------------------------------------------- + def all_dead? + alive_members.empty? + end + #-------------------------------------------------------------------------- + # * Get Substitute Battler + #-------------------------------------------------------------------------- + def substitute_battler + members.find {|member| member.substitute? } + end +end diff --git a/Scripts/RPG/Game_Variables.rb b/Scripts/RPG/Game_Variables.rb new file mode 100644 index 0000000..693e3b5 --- /dev/null +++ b/Scripts/RPG/Game_Variables.rb @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Variables +#------------------------------------------------------------------------------ +# This class handles variables. It's a wrapper for the built-in class "Array." +# The instance of this class is referenced by $game_variables. +#============================================================================== + +class Game_Variables + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + @data = [] + end + #-------------------------------------------------------------------------- + # * Get Variable + #-------------------------------------------------------------------------- + def [](variable_id) + @data[variable_id] || 0 + end + #-------------------------------------------------------------------------- + # * Set Variable + #-------------------------------------------------------------------------- + def []=(variable_id, value) + @data[variable_id] = value + on_change + end + #-------------------------------------------------------------------------- + # * Processing When Setting Variables + #-------------------------------------------------------------------------- + def on_change + $game_map.need_refresh = true + end +end diff --git a/Scripts/RPG/Game_Vehicle.rb b/Scripts/RPG/Game_Vehicle.rb new file mode 100644 index 0000000..7160132 --- /dev/null +++ b/Scripts/RPG/Game_Vehicle.rb @@ -0,0 +1,194 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Game_Vehicle +#------------------------------------------------------------------------------ +# This class handles vehicles. It's used within the Game_Map class. If there +# are no vehicles on the current map, the coordinates are set to (-1,-1). +#============================================================================== + +class Game_Vehicle < Game_Character + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :altitude # altitude (for airships) + attr_reader :driving # driving flag + #-------------------------------------------------------------------------- + # * Object Initialization + # type: vehicle type (:boat, :ship, :airship) + #-------------------------------------------------------------------------- + def initialize(type) + super() + @type = type + @altitude = 0 + @driving = false + @direction = 4 + @walk_anime = false + @step_anime = false + @walking_bgm = nil + init_move_speed + load_system_settings + end + #-------------------------------------------------------------------------- + # * Initialize Move Speed + #-------------------------------------------------------------------------- + def init_move_speed + @move_speed = 4 if @type == :boat + @move_speed = 5 if @type == :ship + @move_speed = 6 if @type == :airship + end + #-------------------------------------------------------------------------- + # * Get System Settings + #-------------------------------------------------------------------------- + def system_vehicle + return $data_system.boat if @type == :boat + return $data_system.ship if @type == :ship + return $data_system.airship if @type == :airship + return nil + end + #-------------------------------------------------------------------------- + # * Load System Settings + #-------------------------------------------------------------------------- + def load_system_settings + @map_id = system_vehicle.start_map_id + @x = system_vehicle.start_x + @y = system_vehicle.start_y + @character_name = system_vehicle.character_name + @character_index = system_vehicle.character_index + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + if @driving + @map_id = $game_map.map_id + sync_with_player + elsif @map_id == $game_map.map_id + moveto(@x, @y) + end + if @type == :airship + @priority_type = @driving ? 2 : 0 + else + @priority_type = 1 + end + @walk_anime = @step_anime = @driving + end + #-------------------------------------------------------------------------- + # * Change Position + #-------------------------------------------------------------------------- + def set_location(map_id, x, y) + @map_id = map_id + @x = x + @y = y + refresh + end + #-------------------------------------------------------------------------- + # * Determine Coordinate Match + #-------------------------------------------------------------------------- + def pos?(x, y) + @map_id == $game_map.map_id && super(x, y) + end + #-------------------------------------------------------------------------- + # * Determine Transparency + #-------------------------------------------------------------------------- + def transparent + @map_id != $game_map.map_id || super + end + #-------------------------------------------------------------------------- + # * Board Vehicle + #-------------------------------------------------------------------------- + def get_on + @driving = true + @walk_anime = true + @step_anime = true + @walking_bgm = RPG::BGM.last + system_vehicle.bgm.play + end + #-------------------------------------------------------------------------- + # * Get Off Vehicle + #-------------------------------------------------------------------------- + def get_off + @driving = false + @walk_anime = false + @step_anime = false + @direction = 4 + @walking_bgm.play + end + #-------------------------------------------------------------------------- + # * Synchronize With Player + #-------------------------------------------------------------------------- + def sync_with_player + @x = $game_player.x + @y = $game_player.y + @real_x = $game_player.real_x + @real_y = $game_player.real_y + @direction = $game_player.direction + update_bush_depth + end + #-------------------------------------------------------------------------- + # * Get Move Speed + #-------------------------------------------------------------------------- + def speed + @move_speed + end + #-------------------------------------------------------------------------- + # * Get Screen Y-Coordinates + #-------------------------------------------------------------------------- + def screen_y + super - altitude + end + #-------------------------------------------------------------------------- + # * Determine if Movement is Possible + #-------------------------------------------------------------------------- + def movable? + !moving? && !(@type == :airship && @altitude < max_altitude) + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + update_airship_altitude if @type == :airship + end + #-------------------------------------------------------------------------- + # * Update Airship Altitude + #-------------------------------------------------------------------------- + def update_airship_altitude + if @driving + @altitude += 1 if @altitude < max_altitude && takeoff_ok? + elsif @altitude > 0 + @altitude -= 1 + @priority_type = 0 if @altitude == 0 + end + @step_anime = (@altitude == max_altitude) + @priority_type = 2 if @altitude > 0 + end + #-------------------------------------------------------------------------- + # * Get Maximum Altitude of Airship + #-------------------------------------------------------------------------- + def max_altitude + return 32 + end + #-------------------------------------------------------------------------- + # * Determine if Takeoff Is Possible + #-------------------------------------------------------------------------- + def takeoff_ok? + $game_player.followers.gather? + end + #-------------------------------------------------------------------------- + # * Determine if Docking/Landing Is Possible + # d: Direction (2,4,6,8) + #-------------------------------------------------------------------------- + def land_ok?(x, y, d) + if @type == :airship + return false unless $game_map.airship_land_ok?(x, y) + return false unless $game_map.events_xy(x, y).empty? + else + x2 = $game_map.round_x_with_direction(x, d) + y2 = $game_map.round_y_with_direction(y, d) + return false unless $game_map.valid?(x2, y2) + return false unless $game_map.passable?(x2, y2, reverse_dir(d)) + return false if collide_with_characters?(x2, y2) + end + return true + end +end diff --git a/Scripts/RPG/Just_a_test.rb b/Scripts/RPG/Just_a_test.rb new file mode 100644 index 0000000..238f3eb --- /dev/null +++ b/Scripts/RPG/Just_a_test.rb @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +This is just a test \ No newline at end of file diff --git a/Scripts/RPG/Just_another_test.rb b/Scripts/RPG/Just_another_test.rb new file mode 100644 index 0000000..f020aec --- /dev/null +++ b/Scripts/RPG/Just_another_test.rb @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +Just another test \ No newline at end of file diff --git a/Scripts/RPG/Main.rb b/Scripts/RPG/Main.rb new file mode 100644 index 0000000..716b934 --- /dev/null +++ b/Scripts/RPG/Main.rb @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Main +#------------------------------------------------------------------------------ +# This processing is executed after module and class definition is finished. +#============================================================================== + +rgss_main { SceneManager.run } diff --git a/Scripts/RPG/SceneManager.rb b/Scripts/RPG/SceneManager.rb new file mode 100644 index 0000000..82db875 --- /dev/null +++ b/Scripts/RPG/SceneManager.rb @@ -0,0 +1,95 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** SceneManager +#------------------------------------------------------------------------------ +# This module manages scene transitions. For example, it can handle +# hierarchical structures such as calling the item screen from the main menu +# or returning from the item screen to the main menu. +#============================================================================== + +module SceneManager + #-------------------------------------------------------------------------- + # * Module Instance Variables + #-------------------------------------------------------------------------- + @scene = nil # current scene object + @stack = [] # stack for hierarchical transitions + @background_bitmap = nil # background bitmap + #-------------------------------------------------------------------------- + # * Execute + #-------------------------------------------------------------------------- + def self.run + DataManager.init + Audio.setup_midi if use_midi? + @scene = first_scene_class.new + @scene.main while @scene + end + #-------------------------------------------------------------------------- + # * Get First Scene Class + #-------------------------------------------------------------------------- + def self.first_scene_class + $BTEST ? Scene_Battle : Scene_Title + end + #-------------------------------------------------------------------------- + # * Use MIDI? + #-------------------------------------------------------------------------- + def self.use_midi? + $data_system.opt_use_midi + end + #-------------------------------------------------------------------------- + # * Get Current Scene + #-------------------------------------------------------------------------- + def self.scene + @scene + end + #-------------------------------------------------------------------------- + # * Determine Current Scene Class + #-------------------------------------------------------------------------- + def self.scene_is?(scene_class) + @scene.instance_of?(scene_class) + end + #-------------------------------------------------------------------------- + # * Direct Transition + #-------------------------------------------------------------------------- + def self.goto(scene_class) + @scene = scene_class.new + end + #-------------------------------------------------------------------------- + # * Call + #-------------------------------------------------------------------------- + def self.call(scene_class) + @stack.push(@scene) + @scene = scene_class.new + end + #-------------------------------------------------------------------------- + # * Return to Caller + #-------------------------------------------------------------------------- + def self.return + @scene = @stack.pop + end + #-------------------------------------------------------------------------- + # * Clear Call Stack + #-------------------------------------------------------------------------- + def self.clear + @stack.clear + end + #-------------------------------------------------------------------------- + # * Exit Game + #-------------------------------------------------------------------------- + def self.exit + @scene = nil + end + #-------------------------------------------------------------------------- + # * Create Snapshot to Use as Background + #-------------------------------------------------------------------------- + def self.snapshot_for_background + @background_bitmap.dispose if @background_bitmap + @background_bitmap = Graphics.snap_to_bitmap + @background_bitmap.blur + end + #-------------------------------------------------------------------------- + # * Get Background Bitmap + #-------------------------------------------------------------------------- + def self.background_bitmap + @background_bitmap + end +end diff --git a/Scripts/RPG/Scene_Base.rb b/Scripts/RPG/Scene_Base.rb new file mode 100644 index 0000000..785d93f --- /dev/null +++ b/Scripts/RPG/Scene_Base.rb @@ -0,0 +1,133 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Base +#------------------------------------------------------------------------------ +# This is a super class of all scenes within the game. +#============================================================================== + +class Scene_Base + #-------------------------------------------------------------------------- + # * Main + #-------------------------------------------------------------------------- + def main + start + post_start + update until scene_changing? + pre_terminate + terminate + end + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + create_main_viewport + end + #-------------------------------------------------------------------------- + # * Post-Start Processing + #-------------------------------------------------------------------------- + def post_start + perform_transition + Input.update + end + #-------------------------------------------------------------------------- + # * Determine if Scene Is Changing + #-------------------------------------------------------------------------- + def scene_changing? + SceneManager.scene != self + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + update_basic + end + #-------------------------------------------------------------------------- + # * Update Frame (Basic) + #-------------------------------------------------------------------------- + def update_basic + Graphics.update + Input.update + update_all_windows + end + #-------------------------------------------------------------------------- + # * Pre-Termination Processing + #-------------------------------------------------------------------------- + def pre_terminate + end + #-------------------------------------------------------------------------- + # * Termination Processing + #-------------------------------------------------------------------------- + def terminate + Graphics.freeze + dispose_all_windows + dispose_main_viewport + end + #-------------------------------------------------------------------------- + # * Execute Transition + #-------------------------------------------------------------------------- + def perform_transition + Graphics.transition(transition_speed) + end + #-------------------------------------------------------------------------- + # * Get Transition Speed + #-------------------------------------------------------------------------- + def transition_speed + return 10 + end + #-------------------------------------------------------------------------- + # * Create Viewport + #-------------------------------------------------------------------------- + def create_main_viewport + @viewport = Viewport.new + @viewport.z = 200 + end + #-------------------------------------------------------------------------- + # * Free Viewport + #-------------------------------------------------------------------------- + def dispose_main_viewport + @viewport.dispose + end + #-------------------------------------------------------------------------- + # * Update All Windows + #-------------------------------------------------------------------------- + def update_all_windows + instance_variables.each do |varname| + ivar = instance_variable_get(varname) + ivar.update if ivar.is_a?(Window) + end + end + #-------------------------------------------------------------------------- + # * Free All Windows + #-------------------------------------------------------------------------- + def dispose_all_windows + instance_variables.each do |varname| + ivar = instance_variable_get(varname) + ivar.dispose if ivar.is_a?(Window) + end + end + #-------------------------------------------------------------------------- + # * Return to Calling Scene + #-------------------------------------------------------------------------- + def return_scene + SceneManager.return + end + #-------------------------------------------------------------------------- + # * Fade Out All Sounds and Graphics + #-------------------------------------------------------------------------- + def fadeout_all(time = 1000) + RPG::BGM.fade(time) + RPG::BGS.fade(time) + RPG::ME.fade(time) + Graphics.fadeout(time * Graphics.frame_rate / 1000) + RPG::BGM.stop + RPG::BGS.stop + RPG::ME.stop + end + #-------------------------------------------------------------------------- + # * Determine if Game Is Over + # Transition to the game over screen if the entire party is dead. + #-------------------------------------------------------------------------- + def check_gameover + SceneManager.goto(Scene_Gameover) if $game_party.all_dead? + end +end diff --git a/Scripts/RPG/Scene_Battle.rb b/Scripts/RPG/Scene_Battle.rb new file mode 100644 index 0000000..daba584 --- /dev/null +++ b/Scripts/RPG/Scene_Battle.rb @@ -0,0 +1,694 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Battle +#------------------------------------------------------------------------------ +# This class performs battle screen processing. +#============================================================================== + +class Scene_Battle < Scene_Base + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + create_spriteset + create_all_windows + BattleManager.method_wait_for_message = method(:wait_for_message) + end + #-------------------------------------------------------------------------- + # * Post-Start Processing + #-------------------------------------------------------------------------- + def post_start + super + battle_start + end + #-------------------------------------------------------------------------- + # * Pre-Termination Processing + #-------------------------------------------------------------------------- + def pre_terminate + super + Graphics.fadeout(30) if SceneManager.scene_is?(Scene_Map) + Graphics.fadeout(60) if SceneManager.scene_is?(Scene_Title) + end + #-------------------------------------------------------------------------- + # * Termination Processing + #-------------------------------------------------------------------------- + def terminate + super + dispose_spriteset + @info_viewport.dispose + RPG::ME.stop + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + if BattleManager.in_turn? + process_event + process_action + end + BattleManager.judge_win_loss + end + #-------------------------------------------------------------------------- + # * Update Frame (Basic) + #-------------------------------------------------------------------------- + def update_basic + super + $game_timer.update + $game_troop.update + @spriteset.update + update_info_viewport + update_message_open + end + #-------------------------------------------------------------------------- + # * Update Frame (for Wait) + #-------------------------------------------------------------------------- + def update_for_wait + update_basic + end + #-------------------------------------------------------------------------- + # * Wait + #-------------------------------------------------------------------------- + def wait(duration) + duration.times {|i| update_for_wait if i < duration / 2 || !show_fast? } + end + #-------------------------------------------------------------------------- + # * Determine if Fast Forward + #-------------------------------------------------------------------------- + def show_fast? + Input.press?(:A) || Input.press?(:C) + end + #-------------------------------------------------------------------------- + # * Wait (No Fast Forward) + #-------------------------------------------------------------------------- + def abs_wait(duration) + duration.times {|i| update_for_wait } + end + #-------------------------------------------------------------------------- + # * Short Wait (No Fast Forward) + #-------------------------------------------------------------------------- + def abs_wait_short + abs_wait(15) + end + #-------------------------------------------------------------------------- + # * Wait Until Message Display has Finished + #-------------------------------------------------------------------------- + def wait_for_message + @message_window.update + update_for_wait while $game_message.visible + end + #-------------------------------------------------------------------------- + # * Wait Until Animation Display has Finished + #-------------------------------------------------------------------------- + def wait_for_animation + update_for_wait + update_for_wait while @spriteset.animation? + end + #-------------------------------------------------------------------------- + # * Wait Until Effect Execution Ends + #-------------------------------------------------------------------------- + def wait_for_effect + update_for_wait + update_for_wait while @spriteset.effect? + end + #-------------------------------------------------------------------------- + # * Update Information Display Viewport + #-------------------------------------------------------------------------- + def update_info_viewport + move_info_viewport(0) if @party_command_window.active + move_info_viewport(128) if @actor_command_window.active + move_info_viewport(64) if BattleManager.in_turn? + end + #-------------------------------------------------------------------------- + # * Move Information Display Viewport + #-------------------------------------------------------------------------- + def move_info_viewport(ox) + current_ox = @info_viewport.ox + @info_viewport.ox = [ox, current_ox + 16].min if current_ox < ox + @info_viewport.ox = [ox, current_ox - 16].max if current_ox > ox + end + #-------------------------------------------------------------------------- + # * Update Processing for Opening Message Window + # Set openness to 0 until the status window and so on are finished closing. + #-------------------------------------------------------------------------- + def update_message_open + if $game_message.busy? && !@status_window.close? + @message_window.openness = 0 + @status_window.close + @party_command_window.close + @actor_command_window.close + end + end + #-------------------------------------------------------------------------- + # * Create Sprite Set + #-------------------------------------------------------------------------- + def create_spriteset + @spriteset = Spriteset_Battle.new + end + #-------------------------------------------------------------------------- + # * Free Sprite Set + #-------------------------------------------------------------------------- + def dispose_spriteset + @spriteset.dispose + end + #-------------------------------------------------------------------------- + # * Create All Windows + #-------------------------------------------------------------------------- + def create_all_windows + create_message_window + create_scroll_text_window + create_log_window + create_status_window + create_info_viewport + create_party_command_window + create_actor_command_window + create_help_window + create_skill_window + create_item_window + create_actor_window + create_enemy_window + end + #-------------------------------------------------------------------------- + # * Create Message Window + #-------------------------------------------------------------------------- + def create_message_window + @message_window = Window_Message.new + end + #-------------------------------------------------------------------------- + # * Create Scrolling Text Window + #-------------------------------------------------------------------------- + def create_scroll_text_window + @scroll_text_window = Window_ScrollText.new + end + #-------------------------------------------------------------------------- + # * Create Log Window + #-------------------------------------------------------------------------- + def create_log_window + @log_window = Window_BattleLog.new + @log_window.method_wait = method(:wait) + @log_window.method_wait_for_effect = method(:wait_for_effect) + end + #-------------------------------------------------------------------------- + # * Create Status Window + #-------------------------------------------------------------------------- + def create_status_window + @status_window = Window_BattleStatus.new + @status_window.x = 128 + end + #-------------------------------------------------------------------------- + # * Create Information Display Viewport + #-------------------------------------------------------------------------- + def create_info_viewport + @info_viewport = Viewport.new + @info_viewport.rect.y = Graphics.height - @status_window.height + @info_viewport.rect.height = @status_window.height + @info_viewport.z = 100 + @info_viewport.ox = 64 + @status_window.viewport = @info_viewport + end + #-------------------------------------------------------------------------- + # * Create Party Commands Window + #-------------------------------------------------------------------------- + def create_party_command_window + @party_command_window = Window_PartyCommand.new + @party_command_window.viewport = @info_viewport + @party_command_window.set_handler(:fight, method(:command_fight)) + @party_command_window.set_handler(:escape, method(:command_escape)) + @party_command_window.unselect + end + #-------------------------------------------------------------------------- + # * Create Actor Commands Window + #-------------------------------------------------------------------------- + def create_actor_command_window + @actor_command_window = Window_ActorCommand.new + @actor_command_window.viewport = @info_viewport + @actor_command_window.set_handler(:attack, method(:command_attack)) + @actor_command_window.set_handler(:skill, method(:command_skill)) + @actor_command_window.set_handler(:guard, method(:command_guard)) + @actor_command_window.set_handler(:item, method(:command_item)) + @actor_command_window.set_handler(:cancel, method(:prior_command)) + @actor_command_window.x = Graphics.width + end + #-------------------------------------------------------------------------- + # * Create Help Window + #-------------------------------------------------------------------------- + def create_help_window + @help_window = Window_Help.new + @help_window.visible = false + end + #-------------------------------------------------------------------------- + # * Create Skill Window + #-------------------------------------------------------------------------- + def create_skill_window + @skill_window = Window_BattleSkill.new(@help_window, @info_viewport) + @skill_window.set_handler(:ok, method(:on_skill_ok)) + @skill_window.set_handler(:cancel, method(:on_skill_cancel)) + end + #-------------------------------------------------------------------------- + # * Create Item Window + #-------------------------------------------------------------------------- + def create_item_window + @item_window = Window_BattleItem.new(@help_window, @info_viewport) + @item_window.set_handler(:ok, method(:on_item_ok)) + @item_window.set_handler(:cancel, method(:on_item_cancel)) + end + #-------------------------------------------------------------------------- + # * Create Actor Window + #-------------------------------------------------------------------------- + def create_actor_window + @actor_window = Window_BattleActor.new(@info_viewport) + @actor_window.set_handler(:ok, method(:on_actor_ok)) + @actor_window.set_handler(:cancel, method(:on_actor_cancel)) + end + #-------------------------------------------------------------------------- + # * Create Enemy Window + #-------------------------------------------------------------------------- + def create_enemy_window + @enemy_window = Window_BattleEnemy.new(@info_viewport) + @enemy_window.set_handler(:ok, method(:on_enemy_ok)) + @enemy_window.set_handler(:cancel, method(:on_enemy_cancel)) + end + #-------------------------------------------------------------------------- + # * Update Status Window Information + #-------------------------------------------------------------------------- + def refresh_status + @status_window.refresh + end + #-------------------------------------------------------------------------- + # * To Next Command Input + #-------------------------------------------------------------------------- + def next_command + if BattleManager.next_command + start_actor_command_selection + else + turn_start + end + end + #-------------------------------------------------------------------------- + # * To Previous Command Input + #-------------------------------------------------------------------------- + def prior_command + if BattleManager.prior_command + start_actor_command_selection + else + start_party_command_selection + end + end + #-------------------------------------------------------------------------- + # * Start Party Command Selection + #-------------------------------------------------------------------------- + def start_party_command_selection + unless scene_changing? + refresh_status + @status_window.unselect + @status_window.open + if BattleManager.input_start + @actor_command_window.close + @party_command_window.setup + else + @party_command_window.deactivate + turn_start + end + end + end + #-------------------------------------------------------------------------- + # * [Fight] Command + #-------------------------------------------------------------------------- + def command_fight + next_command + end + #-------------------------------------------------------------------------- + # * [Escape] Command + #-------------------------------------------------------------------------- + def command_escape + turn_start unless BattleManager.process_escape + end + #-------------------------------------------------------------------------- + # * Start Actor Command Selection + #-------------------------------------------------------------------------- + def start_actor_command_selection + @status_window.select(BattleManager.actor.index) + @party_command_window.close + @actor_command_window.setup(BattleManager.actor) + end + #-------------------------------------------------------------------------- + # * [Attack] Command + #-------------------------------------------------------------------------- + def command_attack + BattleManager.actor.input.set_attack + select_enemy_selection + end + #-------------------------------------------------------------------------- + # * [Skill] Command + #-------------------------------------------------------------------------- + def command_skill + @skill_window.actor = BattleManager.actor + @skill_window.stype_id = @actor_command_window.current_ext + @skill_window.refresh + @skill_window.show.activate + end + #-------------------------------------------------------------------------- + # * [Guard] Command + #-------------------------------------------------------------------------- + def command_guard + BattleManager.actor.input.set_guard + next_command + end + #-------------------------------------------------------------------------- + # * [Item] Command + #-------------------------------------------------------------------------- + def command_item + @item_window.refresh + @item_window.show.activate + end + #-------------------------------------------------------------------------- + # * Start Actor Selection + #-------------------------------------------------------------------------- + def select_actor_selection + @actor_window.refresh + @actor_window.show.activate + end + #-------------------------------------------------------------------------- + # * Actor [OK] + #-------------------------------------------------------------------------- + def on_actor_ok + BattleManager.actor.input.target_index = @actor_window.index + @actor_window.hide + @skill_window.hide + @item_window.hide + next_command + end + #-------------------------------------------------------------------------- + # * Actor [Cancel] + #-------------------------------------------------------------------------- + def on_actor_cancel + @actor_window.hide + case @actor_command_window.current_symbol + when :skill + @skill_window.activate + when :item + @item_window.activate + end + end + #-------------------------------------------------------------------------- + # * Start Enemy Selection + #-------------------------------------------------------------------------- + def select_enemy_selection + @enemy_window.refresh + @enemy_window.show.activate + end + #-------------------------------------------------------------------------- + # * Enemy [OK] + #-------------------------------------------------------------------------- + def on_enemy_ok + BattleManager.actor.input.target_index = @enemy_window.enemy.index + @enemy_window.hide + @skill_window.hide + @item_window.hide + next_command + end + #-------------------------------------------------------------------------- + # * Enemy [Cancel] + #-------------------------------------------------------------------------- + def on_enemy_cancel + @enemy_window.hide + case @actor_command_window.current_symbol + when :attack + @actor_command_window.activate + when :skill + @skill_window.activate + when :item + @item_window.activate + end + end + #-------------------------------------------------------------------------- + # * Skill [OK] + #-------------------------------------------------------------------------- + def on_skill_ok + @skill = @skill_window.item + BattleManager.actor.input.set_skill(@skill.id) + BattleManager.actor.last_skill.object = @skill + if !@skill.need_selection? + @skill_window.hide + next_command + elsif @skill.for_opponent? + select_enemy_selection + else + select_actor_selection + end + end + #-------------------------------------------------------------------------- + # * Skill [Cancel] + #-------------------------------------------------------------------------- + def on_skill_cancel + @skill_window.hide + @actor_command_window.activate + end + #-------------------------------------------------------------------------- + # * Item [OK] + #-------------------------------------------------------------------------- + def on_item_ok + @item = @item_window.item + BattleManager.actor.input.set_item(@item.id) + if !@item.need_selection? + @item_window.hide + next_command + elsif @item.for_opponent? + select_enemy_selection + else + select_actor_selection + end + $game_party.last_item.object = @item + end + #-------------------------------------------------------------------------- + # * Item [Cancel] + #-------------------------------------------------------------------------- + def on_item_cancel + @item_window.hide + @actor_command_window.activate + end + #-------------------------------------------------------------------------- + # * Battle Start + #-------------------------------------------------------------------------- + def battle_start + BattleManager.battle_start + process_event + start_party_command_selection + end + #-------------------------------------------------------------------------- + # * Start Turn + #-------------------------------------------------------------------------- + def turn_start + @party_command_window.close + @actor_command_window.close + @status_window.unselect + @subject = nil + BattleManager.turn_start + @log_window.wait + @log_window.clear + end + #-------------------------------------------------------------------------- + # * End Turn + #-------------------------------------------------------------------------- + def turn_end + all_battle_members.each do |battler| + battler.on_turn_end + refresh_status + @log_window.display_auto_affected_status(battler) + @log_window.wait_and_clear + end + BattleManager.turn_end + process_event + start_party_command_selection + end + #-------------------------------------------------------------------------- + # * Get All Battle Members Including Enemies and Allies + #-------------------------------------------------------------------------- + def all_battle_members + $game_party.members + $game_troop.members + end + #-------------------------------------------------------------------------- + # * Event Processing + #-------------------------------------------------------------------------- + def process_event + while !scene_changing? + $game_troop.interpreter.update + $game_troop.setup_battle_event + wait_for_message + wait_for_effect if $game_troop.all_dead? + process_forced_action + BattleManager.judge_win_loss + break unless $game_troop.interpreter.running? + update_for_wait + end + end + #-------------------------------------------------------------------------- + # * Forced Action Processing + #-------------------------------------------------------------------------- + def process_forced_action + if BattleManager.action_forced? + last_subject = @subject + @subject = BattleManager.action_forced_battler + BattleManager.clear_action_force + process_action + @subject = last_subject + end + end + #-------------------------------------------------------------------------- + # * Battle Action Processing + #-------------------------------------------------------------------------- + def process_action + return if scene_changing? + if !@subject || !@subject.current_action + @subject = BattleManager.next_subject + end + return turn_end unless @subject + if @subject.current_action + @subject.current_action.prepare + if @subject.current_action.valid? + @status_window.open + execute_action + end + @subject.remove_current_action + end + process_action_end unless @subject.current_action + end + #-------------------------------------------------------------------------- + # * Processing at End of Action + #-------------------------------------------------------------------------- + def process_action_end + @subject.on_action_end + refresh_status + @log_window.display_auto_affected_status(@subject) + @log_window.wait_and_clear + @log_window.display_current_state(@subject) + @log_window.wait_and_clear + BattleManager.judge_win_loss + end + #-------------------------------------------------------------------------- + # * Execute Battle Actions + #-------------------------------------------------------------------------- + def execute_action + @subject.sprite_effect_type = :whiten + use_item + @log_window.wait_and_clear + end + #-------------------------------------------------------------------------- + # * Use Skill/Item + #-------------------------------------------------------------------------- + def use_item + item = @subject.current_action.item + @log_window.display_use_item(@subject, item) + @subject.use_item(item) + refresh_status + targets = @subject.current_action.make_targets.compact + show_animation(targets, item.animation_id) + targets.each {|target| item.repeats.times { invoke_item(target, item) } } + end + #-------------------------------------------------------------------------- + # * Invoke Skill/Item + #-------------------------------------------------------------------------- + def invoke_item(target, item) + if rand < target.item_cnt(@subject, item) + invoke_counter_attack(target, item) + elsif rand < target.item_mrf(@subject, item) + invoke_magic_reflection(target, item) + else + apply_item_effects(apply_substitute(target, item), item) + end + @subject.last_target_index = target.index + end + #-------------------------------------------------------------------------- + # * Apply Skill/Item Effect + #-------------------------------------------------------------------------- + def apply_item_effects(target, item) + target.item_apply(@subject, item) + refresh_status + @log_window.display_action_results(target, item) + end + #-------------------------------------------------------------------------- + # * Invoke Counterattack + #-------------------------------------------------------------------------- + def invoke_counter_attack(target, item) + @log_window.display_counter(target, item) + attack_skill = $data_skills[target.attack_skill_id] + @subject.item_apply(target, attack_skill) + refresh_status + @log_window.display_action_results(@subject, attack_skill) + end + #-------------------------------------------------------------------------- + # * Invoke Magic Reflection + #-------------------------------------------------------------------------- + def invoke_magic_reflection(target, item) + @subject.magic_reflection = true + @log_window.display_reflection(target, item) + apply_item_effects(@subject, item) + @subject.magic_reflection = false + end + #-------------------------------------------------------------------------- + # * Apply Substitute + #-------------------------------------------------------------------------- + def apply_substitute(target, item) + if check_substitute(target, item) + substitute = target.friends_unit.substitute_battler + if substitute && target != substitute + @log_window.display_substitute(substitute, target) + return substitute + end + end + target + end + #-------------------------------------------------------------------------- + # * Check Substitute Condition + #-------------------------------------------------------------------------- + def check_substitute(target, item) + target.hp < target.mhp / 4 && (!item || !item.certain?) + end + #-------------------------------------------------------------------------- + # * Show Animation + # targets : Target array + # animation_id : Animation ID (-1: Same as normal attack) + #-------------------------------------------------------------------------- + def show_animation(targets, animation_id) + if animation_id < 0 + show_attack_animation(targets) + else + show_normal_animation(targets, animation_id) + end + @log_window.wait + wait_for_animation + end + #-------------------------------------------------------------------------- + # * Show Attack Animation + # targets : Target array + # Account for dual wield in the case of an actor (flip left hand weapon + # display). If enemy, play the [Enemy Attack] SE and wait briefly. + #-------------------------------------------------------------------------- + def show_attack_animation(targets) + if @subject.actor? + show_normal_animation(targets, @subject.atk_animation_id1, false) + show_normal_animation(targets, @subject.atk_animation_id2, true) + else + Sound.play_enemy_attack + abs_wait_short + end + end + #-------------------------------------------------------------------------- + # * Show Normal Animation + # targets : Target array + # animation_id : Animation ID + # mirror : Flip horizontal + #-------------------------------------------------------------------------- + def show_normal_animation(targets, animation_id, mirror = false) + animation = $data_animations[animation_id] + if animation + targets.each do |target| + target.animation_id = animation_id + target.animation_mirror = mirror + abs_wait_short unless animation.to_screen? + end + abs_wait_short if animation.to_screen? + end + end +end diff --git a/Scripts/RPG/Scene_Debug.rb b/Scripts/RPG/Scene_Debug.rb new file mode 100644 index 0000000..fa35037 --- /dev/null +++ b/Scripts/RPG/Scene_Debug.rb @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Debug +#------------------------------------------------------------------------------ +# This class performs debug screen processing. +#============================================================================== + +class Scene_Debug < Scene_MenuBase + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + create_left_window + create_right_window + create_debug_help_window + end + #-------------------------------------------------------------------------- + # * Termination Processing + #-------------------------------------------------------------------------- + def terminate + super + #$game_map.refresh + end + #-------------------------------------------------------------------------- + # * Create Left Window + #-------------------------------------------------------------------------- + def create_left_window + @left_window = Window_DebugLeft.new(0, 0) + @left_window.set_handler(:ok, method(:on_left_ok)) + @left_window.set_handler(:cancel, method(:return_scene)) + end + #-------------------------------------------------------------------------- + # * Create Right Window + #-------------------------------------------------------------------------- + def create_right_window + wx = @left_window.width + ww = Graphics.width - wx + @right_window = Window_DebugRight.new(wx, 0, ww) + @right_window.set_handler(:cancel, method(:on_right_cancel)) + @left_window.right_window = @right_window + end + #-------------------------------------------------------------------------- + # * Create Help Window + #-------------------------------------------------------------------------- + def create_debug_help_window + wx = @right_window.x + wy = @right_window.height + ww = @right_window.width + wh = Graphics.height - wy + @debug_help_window = Window_Base.new(wx, wy, ww, wh) + end + #-------------------------------------------------------------------------- + # * Left [OK] + #-------------------------------------------------------------------------- + def on_left_ok + refresh_help_window + @right_window.activate + @right_window.select(0) + end + #-------------------------------------------------------------------------- + # * Right [Cancel] + #-------------------------------------------------------------------------- + def on_right_cancel + @left_window.activate + @right_window.unselect + @debug_help_window.contents.clear + end + #-------------------------------------------------------------------------- + # * Refresh Help Window + #-------------------------------------------------------------------------- + def refresh_help_window + @debug_help_window.draw_text_ex(4, 0, help_text) + end + #-------------------------------------------------------------------------- + # * Get Help Text + #-------------------------------------------------------------------------- + def help_text + if @left_window.mode == :switch + "C (Enter) : ON / OFF" + else + "← (Left) : -1\n" + + "→ (Right) : +1\n" + + "L (Pageup) : -10\n" + + "R (Pagedown) : +10" + end + end +end diff --git a/Scripts/RPG/Scene_End.rb b/Scripts/RPG/Scene_End.rb new file mode 100644 index 0000000..a4a063d --- /dev/null +++ b/Scripts/RPG/Scene_End.rb @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_End +#------------------------------------------------------------------------------ +# This class performs game over screen processing. +#============================================================================== + +class Scene_End < Scene_MenuBase + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + create_command_window + end + #-------------------------------------------------------------------------- + # * Pre-Termination Processing + #-------------------------------------------------------------------------- + def pre_terminate + super + close_command_window + end + #-------------------------------------------------------------------------- + # * Create Background + #-------------------------------------------------------------------------- + def create_background + super + @background_sprite.tone.set(0, 0, 0, 128) + end + #-------------------------------------------------------------------------- + # * Create Command Window + #-------------------------------------------------------------------------- + def create_command_window + @command_window = Window_GameEnd.new + @command_window.set_handler(:to_title, method(:command_to_title)) + @command_window.set_handler(:shutdown, method(:command_shutdown)) + @command_window.set_handler(:cancel, method(:return_scene)) + end + #-------------------------------------------------------------------------- + # * Close Command Window + #-------------------------------------------------------------------------- + def close_command_window + @command_window.close + update until @command_window.close? + end + #-------------------------------------------------------------------------- + # * [Go to Title] Command + #-------------------------------------------------------------------------- + def command_to_title + close_command_window + fadeout_all + SceneManager.goto(Scene_Title) + end + #-------------------------------------------------------------------------- + # * [Shut Down] Command + #-------------------------------------------------------------------------- + def command_shutdown + close_command_window + fadeout_all + SceneManager.exit + end +end diff --git a/Scripts/RPG/Scene_Equip.rb b/Scripts/RPG/Scene_Equip.rb new file mode 100644 index 0000000..e17fb4f --- /dev/null +++ b/Scripts/RPG/Scene_Equip.rb @@ -0,0 +1,145 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Equip +#------------------------------------------------------------------------------ +# This class performs the equipment screen processing. +#============================================================================== + +class Scene_Equip < Scene_MenuBase + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + create_help_window + create_status_window + create_command_window + create_slot_window + create_item_window + end + #-------------------------------------------------------------------------- + # * Create Status Window + #-------------------------------------------------------------------------- + def create_status_window + @status_window = Window_EquipStatus.new(0, @help_window.height) + @status_window.viewport = @viewport + @status_window.actor = @actor + end + #-------------------------------------------------------------------------- + # * Create Command Window + #-------------------------------------------------------------------------- + def create_command_window + wx = @status_window.width + wy = @help_window.height + ww = Graphics.width - @status_window.width + @command_window = Window_EquipCommand.new(wx, wy, ww) + @command_window.viewport = @viewport + @command_window.help_window = @help_window + @command_window.set_handler(:equip, method(:command_equip)) + @command_window.set_handler(:optimize, method(:command_optimize)) + @command_window.set_handler(:clear, method(:command_clear)) + @command_window.set_handler(:cancel, method(:return_scene)) + @command_window.set_handler(:pagedown, method(:next_actor)) + @command_window.set_handler(:pageup, method(:prev_actor)) + end + #-------------------------------------------------------------------------- + # * Create Slot Window + #-------------------------------------------------------------------------- + def create_slot_window + wx = @status_window.width + wy = @command_window.y + @command_window.height + ww = Graphics.width - @status_window.width + @slot_window = Window_EquipSlot.new(wx, wy, ww) + @slot_window.viewport = @viewport + @slot_window.help_window = @help_window + @slot_window.status_window = @status_window + @slot_window.actor = @actor + @slot_window.set_handler(:ok, method(:on_slot_ok)) + @slot_window.set_handler(:cancel, method(:on_slot_cancel)) + end + #-------------------------------------------------------------------------- + # * Create Item Window + #-------------------------------------------------------------------------- + def create_item_window + wx = 0 + wy = @slot_window.y + @slot_window.height + ww = Graphics.width + wh = Graphics.height - wy + @item_window = Window_EquipItem.new(wx, wy, ww, wh) + @item_window.viewport = @viewport + @item_window.help_window = @help_window + @item_window.status_window = @status_window + @item_window.actor = @actor + @item_window.set_handler(:ok, method(:on_item_ok)) + @item_window.set_handler(:cancel, method(:on_item_cancel)) + @slot_window.item_window = @item_window + end + #-------------------------------------------------------------------------- + # * [Change Equipment] Command + #-------------------------------------------------------------------------- + def command_equip + @slot_window.activate + @slot_window.select(0) + end + #-------------------------------------------------------------------------- + # * [Ultimate Equipment] Command + #-------------------------------------------------------------------------- + def command_optimize + Sound.play_equip + @actor.optimize_equipments + @status_window.refresh + @slot_window.refresh + @command_window.activate + end + #-------------------------------------------------------------------------- + # * [Remove All] Command + #-------------------------------------------------------------------------- + def command_clear + Sound.play_equip + @actor.clear_equipments + @status_window.refresh + @slot_window.refresh + @command_window.activate + end + #-------------------------------------------------------------------------- + # * Slot [OK] + #-------------------------------------------------------------------------- + def on_slot_ok + @item_window.activate + @item_window.select(0) + end + #-------------------------------------------------------------------------- + # * Slot [Cancel] + #-------------------------------------------------------------------------- + def on_slot_cancel + @slot_window.unselect + @command_window.activate + end + #-------------------------------------------------------------------------- + # * Item [OK] + #-------------------------------------------------------------------------- + def on_item_ok + Sound.play_equip + @actor.change_equip(@slot_window.index, @item_window.item) + @slot_window.activate + @slot_window.refresh + @item_window.unselect + @item_window.refresh + end + #-------------------------------------------------------------------------- + # * Item [Cancel] + #-------------------------------------------------------------------------- + def on_item_cancel + @slot_window.activate + @item_window.unselect + end + #-------------------------------------------------------------------------- + # * Change Actors + #-------------------------------------------------------------------------- + def on_actor_change + @status_window.actor = @actor + @slot_window.actor = @actor + @item_window.actor = @actor + @command_window.activate + end +end diff --git a/Scripts/RPG/Scene_File.rb b/Scripts/RPG/Scene_File.rb new file mode 100644 index 0000000..c5fb52e --- /dev/null +++ b/Scripts/RPG/Scene_File.rb @@ -0,0 +1,204 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_File +#------------------------------------------------------------------------------ +# This class performs common processing for the save screen and load screen. +#============================================================================== + +class Scene_File < Scene_MenuBase + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + create_help_window + create_savefile_viewport + create_savefile_windows + init_selection + end + #-------------------------------------------------------------------------- + # * Termination Processing + #-------------------------------------------------------------------------- + def terminate + super + @savefile_viewport.dispose + @savefile_windows.each {|window| window.dispose } + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + @savefile_windows.each {|window| window.update } + update_savefile_selection + end + #-------------------------------------------------------------------------- + # * Create Help Window + #-------------------------------------------------------------------------- + def create_help_window + @help_window = Window_Help.new(1) + @help_window.set_text(help_window_text) + end + #-------------------------------------------------------------------------- + # * Get Help Window Text + #-------------------------------------------------------------------------- + def help_window_text + return "" + end + #-------------------------------------------------------------------------- + # * Create Save File Viewport + #-------------------------------------------------------------------------- + def create_savefile_viewport + @savefile_viewport = Viewport.new + @savefile_viewport.rect.y = @help_window.height + @savefile_viewport.rect.height -= @help_window.height + end + #-------------------------------------------------------------------------- + # * Create Save File Window + #-------------------------------------------------------------------------- + def create_savefile_windows + @savefile_windows = Array.new(item_max) do |i| + Window_SaveFile.new(savefile_height, i) + end + @savefile_windows.each {|window| window.viewport = @savefile_viewport } + end + #-------------------------------------------------------------------------- + # * Initialize Selection State + #-------------------------------------------------------------------------- + def init_selection + @index = first_savefile_index + @savefile_windows[@index].selected = true + self.top_index = @index - visible_max / 2 + ensure_cursor_visible + end + #-------------------------------------------------------------------------- + # * Get Number of Items + #-------------------------------------------------------------------------- + def item_max + DataManager.savefile_max + end + #-------------------------------------------------------------------------- + # * Get Number of Save Files to Show on Screen + #-------------------------------------------------------------------------- + def visible_max + return 4 + end + #-------------------------------------------------------------------------- + # * Get Height of Save File Window + #-------------------------------------------------------------------------- + def savefile_height + @savefile_viewport.rect.height / visible_max + end + #-------------------------------------------------------------------------- + # * Get File Index to Select First + #-------------------------------------------------------------------------- + def first_savefile_index + return 0 + end + #-------------------------------------------------------------------------- + # * Get Current Index + #-------------------------------------------------------------------------- + def index + @index + end + #-------------------------------------------------------------------------- + # * Get Top Index + #-------------------------------------------------------------------------- + def top_index + @savefile_viewport.oy / savefile_height + end + #-------------------------------------------------------------------------- + # * Set Top Index + #-------------------------------------------------------------------------- + def top_index=(index) + index = 0 if index < 0 + index = item_max - visible_max if index > item_max - visible_max + @savefile_viewport.oy = index * savefile_height + end + #-------------------------------------------------------------------------- + # * Get Bottom Index + #-------------------------------------------------------------------------- + def bottom_index + top_index + visible_max - 1 + end + #-------------------------------------------------------------------------- + # * Set Bottom Index + #-------------------------------------------------------------------------- + def bottom_index=(index) + self.top_index = index - (visible_max - 1) + end + #-------------------------------------------------------------------------- + # * Update Save File Selection + #-------------------------------------------------------------------------- + def update_savefile_selection + return on_savefile_ok if Input.trigger?(:C) + return on_savefile_cancel if Input.trigger?(:B) + update_cursor + end + #-------------------------------------------------------------------------- + # * Save File [OK] + #-------------------------------------------------------------------------- + def on_savefile_ok + end + #-------------------------------------------------------------------------- + # * Save File [Cancel] + #-------------------------------------------------------------------------- + def on_savefile_cancel + Sound.play_cancel + return_scene + end + #-------------------------------------------------------------------------- + # * Update Cursor + #-------------------------------------------------------------------------- + def update_cursor + last_index = @index + cursor_down (Input.trigger?(:DOWN)) if Input.repeat?(:DOWN) + cursor_up (Input.trigger?(:UP)) if Input.repeat?(:UP) + cursor_pagedown if Input.trigger?(:R) + cursor_pageup if Input.trigger?(:L) + if @index != last_index + Sound.play_cursor + @savefile_windows[last_index].selected = false + @savefile_windows[@index].selected = true + end + end + #-------------------------------------------------------------------------- + # * Move Cursor Down + #-------------------------------------------------------------------------- + def cursor_down(wrap) + @index = (@index + 1) % item_max if @index < item_max - 1 || wrap + ensure_cursor_visible + end + #-------------------------------------------------------------------------- + # * Move Cursor Up + #-------------------------------------------------------------------------- + def cursor_up(wrap) + @index = (@index - 1 + item_max) % item_max if @index > 0 || wrap + ensure_cursor_visible + end + #-------------------------------------------------------------------------- + # * Move Cursor One Page Down + #-------------------------------------------------------------------------- + def cursor_pagedown + if top_index + visible_max < item_max + self.top_index += visible_max + @index = [@index + visible_max, item_max - 1].min + end + end + #-------------------------------------------------------------------------- + # * Move Cursor One Page Up + #-------------------------------------------------------------------------- + def cursor_pageup + if top_index > 0 + self.top_index -= visible_max + @index = [@index - visible_max, 0].max + end + end + #-------------------------------------------------------------------------- + # * Scroll Cursor to Position Within Screen + #-------------------------------------------------------------------------- + def ensure_cursor_visible + self.top_index = index if index < top_index + self.bottom_index = index if index > bottom_index + end +end diff --git a/Scripts/RPG/Scene_Gameover.rb b/Scripts/RPG/Scene_Gameover.rb new file mode 100644 index 0000000..5a2abab --- /dev/null +++ b/Scripts/RPG/Scene_Gameover.rb @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Gameover +#------------------------------------------------------------------------------ +# This class performs game over screen processing. +#============================================================================== + +class Scene_Gameover < Scene_Base + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + play_gameover_music + fadeout_frozen_graphics + create_background + end + #-------------------------------------------------------------------------- + # * Termination Processing + #-------------------------------------------------------------------------- + def terminate + super + dispose_background + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + goto_title if Input.trigger?(:C) + end + #-------------------------------------------------------------------------- + # * Execute Transition + #-------------------------------------------------------------------------- + def perform_transition + Graphics.transition(fadein_speed) + end + #-------------------------------------------------------------------------- + # * Play Music on Game Over Screen + #-------------------------------------------------------------------------- + def play_gameover_music + RPG::BGM.stop + RPG::BGS.stop + $data_system.gameover_me.play + end + #-------------------------------------------------------------------------- + # * Fade Out Frozen Graphics + #-------------------------------------------------------------------------- + def fadeout_frozen_graphics + Graphics.transition(fadeout_speed) + Graphics.freeze + end + #-------------------------------------------------------------------------- + # * Create Background + #-------------------------------------------------------------------------- + def create_background + @sprite = Sprite.new + @sprite.bitmap = Cache.system("GameOver") + end + #-------------------------------------------------------------------------- + # * Free Background + #-------------------------------------------------------------------------- + def dispose_background + @sprite.bitmap.dispose + @sprite.dispose + end + #-------------------------------------------------------------------------- + # * Get Fade Out Speed + #-------------------------------------------------------------------------- + def fadeout_speed + return 60 + end + #-------------------------------------------------------------------------- + # * Get Fade In Speed + #-------------------------------------------------------------------------- + def fadein_speed + return 120 + end + #-------------------------------------------------------------------------- + # * Transition to Title Screen + #-------------------------------------------------------------------------- + def goto_title + fadeout_all + SceneManager.goto(Scene_Title) + end +end diff --git a/Scripts/RPG/Scene_Item.rb b/Scripts/RPG/Scene_Item.rb new file mode 100644 index 0000000..5058c15 --- /dev/null +++ b/Scripts/RPG/Scene_Item.rb @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Item +#------------------------------------------------------------------------------ +# This class performs the item screen processing. +#============================================================================== + +class Scene_Item < Scene_ItemBase + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + create_help_window + create_category_window + create_item_window + end + #-------------------------------------------------------------------------- + # * Create Category Window + #-------------------------------------------------------------------------- + def create_category_window + @category_window = Window_ItemCategory.new + @category_window.viewport = @viewport + @category_window.help_window = @help_window + @category_window.y = @help_window.height + @category_window.set_handler(:ok, method(:on_category_ok)) + @category_window.set_handler(:cancel, method(:return_scene)) + end + #-------------------------------------------------------------------------- + # * Create Item Window + #-------------------------------------------------------------------------- + def create_item_window + wy = @category_window.y + @category_window.height + wh = Graphics.height - wy + @item_window = Window_ItemList.new(0, wy, Graphics.width, wh) + @item_window.viewport = @viewport + @item_window.help_window = @help_window + @item_window.set_handler(:ok, method(:on_item_ok)) + @item_window.set_handler(:cancel, method(:on_item_cancel)) + @category_window.item_window = @item_window + end + #-------------------------------------------------------------------------- + # * Category [OK] + #-------------------------------------------------------------------------- + def on_category_ok + @item_window.activate + @item_window.select_last + end + #-------------------------------------------------------------------------- + # * Item [OK] + #-------------------------------------------------------------------------- + def on_item_ok + $game_party.last_item.object = item + determine_item + end + #-------------------------------------------------------------------------- + # * Item [Cancel] + #-------------------------------------------------------------------------- + def on_item_cancel + @item_window.unselect + @category_window.activate + end + #-------------------------------------------------------------------------- + # * Play SE When Using Item + #-------------------------------------------------------------------------- + def play_se_for_item + Sound.play_use_item + end + #-------------------------------------------------------------------------- + # * Use Item + #-------------------------------------------------------------------------- + def use_item + super + @item_window.redraw_current_item + end +end diff --git a/Scripts/RPG/Scene_ItemBase.rb b/Scripts/RPG/Scene_ItemBase.rb new file mode 100644 index 0000000..2e002f7 --- /dev/null +++ b/Scripts/RPG/Scene_ItemBase.rb @@ -0,0 +1,148 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_ItemBase +#------------------------------------------------------------------------------ +# This class performs common processing for the item screen and skill screen. +#============================================================================== + +class Scene_ItemBase < Scene_MenuBase + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + create_actor_window + end + #-------------------------------------------------------------------------- + # * Create Actor Window + #-------------------------------------------------------------------------- + def create_actor_window + @actor_window = Window_MenuActor.new + @actor_window.set_handler(:ok, method(:on_actor_ok)) + @actor_window.set_handler(:cancel, method(:on_actor_cancel)) + end + #-------------------------------------------------------------------------- + # * Get Currently Selected Item + #-------------------------------------------------------------------------- + def item + @item_window.item + end + #-------------------------------------------------------------------------- + # * Get Item's User + #-------------------------------------------------------------------------- + def user + $game_party.movable_members.max_by {|member| member.pha } + end + #-------------------------------------------------------------------------- + # * Determine if Cursor Is in Left Column + #-------------------------------------------------------------------------- + def cursor_left? + @item_window.index % 2 == 0 + end + #-------------------------------------------------------------------------- + # * Show Subwindow + #-------------------------------------------------------------------------- + def show_sub_window(window) + width_remain = Graphics.width - window.width + window.x = cursor_left? ? width_remain : 0 + @viewport.rect.x = @viewport.ox = cursor_left? ? 0 : window.width + @viewport.rect.width = width_remain + window.show.activate + end + #-------------------------------------------------------------------------- + # * Hide Subwindow + #-------------------------------------------------------------------------- + def hide_sub_window(window) + @viewport.rect.x = @viewport.ox = 0 + @viewport.rect.width = Graphics.width + window.hide.deactivate + activate_item_window + end + #-------------------------------------------------------------------------- + # * Actor [OK] + #-------------------------------------------------------------------------- + def on_actor_ok + if item_usable? + use_item + else + Sound.play_buzzer + end + end + #-------------------------------------------------------------------------- + # * Actor [Cancel] + #-------------------------------------------------------------------------- + def on_actor_cancel + hide_sub_window(@actor_window) + end + #-------------------------------------------------------------------------- + # * Confirm Item + #-------------------------------------------------------------------------- + def determine_item + if item.for_friend? + show_sub_window(@actor_window) + @actor_window.select_for_item(item) + else + use_item + activate_item_window + end + end + #-------------------------------------------------------------------------- + # * Activate Item Window + #-------------------------------------------------------------------------- + def activate_item_window + @item_window.refresh + @item_window.activate + end + #-------------------------------------------------------------------------- + # * Get Array of Actors Targeted by Item Use + #-------------------------------------------------------------------------- + def item_target_actors + if !item.for_friend? + [] + elsif item.for_all? + $game_party.members + else + [$game_party.members[@actor_window.index]] + end + end + #-------------------------------------------------------------------------- + # * Determine if Item is Usable + #-------------------------------------------------------------------------- + def item_usable? + user.usable?(item) && item_effects_valid? + end + #-------------------------------------------------------------------------- + # * Determine if Item Is Effective + #-------------------------------------------------------------------------- + def item_effects_valid? + item_target_actors.any? do |target| + target.item_test(user, item) + end + end + #-------------------------------------------------------------------------- + # * Use Item on Actor + #-------------------------------------------------------------------------- + def use_item_to_actors + item_target_actors.each do |target| + item.repeats.times { target.item_apply(user, item) } + end + end + #-------------------------------------------------------------------------- + # * Use Item + #-------------------------------------------------------------------------- + def use_item + play_se_for_item + user.use_item(item) + use_item_to_actors + check_common_event + check_gameover + @actor_window.refresh + end + #-------------------------------------------------------------------------- + # * Determine if Common Event Is Reserved + # Transition to the map screen if the event call is reserved. + #-------------------------------------------------------------------------- + def check_common_event + SceneManager.goto(Scene_Map) if $game_temp.common_event_reserved? + end +end diff --git a/Scripts/RPG/Scene_Load.rb b/Scripts/RPG/Scene_Load.rb new file mode 100644 index 0000000..815dfcd --- /dev/null +++ b/Scripts/RPG/Scene_Load.rb @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Load +#------------------------------------------------------------------------------ +# This class performs load screen processing. +#============================================================================== + +class Scene_Load < Scene_File + #-------------------------------------------------------------------------- + # * Get Help Window Text + #-------------------------------------------------------------------------- + def help_window_text + Vocab::LoadMessage + end + #-------------------------------------------------------------------------- + # * Get File Index to Select First + #-------------------------------------------------------------------------- + def first_savefile_index + DataManager.latest_savefile_index + end + #-------------------------------------------------------------------------- + # * Confirm Save File + #-------------------------------------------------------------------------- + def on_savefile_ok + super + if DataManager.load_game(@index) + on_load_success + else + Sound.play_buzzer + end + end + #-------------------------------------------------------------------------- + # * Processing When Load Is Successful + #-------------------------------------------------------------------------- + def on_load_success + Sound.play_load + fadeout_all + $game_system.on_after_load + SceneManager.goto(Scene_Map) + end +end diff --git a/Scripts/RPG/Scene_Map.rb b/Scripts/RPG/Scene_Map.rb new file mode 100644 index 0000000..577f553 --- /dev/null +++ b/Scripts/RPG/Scene_Map.rb @@ -0,0 +1,277 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Map +#------------------------------------------------------------------------------ +# This class performs the map screen processing. +#============================================================================== + +class Scene_Map < Scene_Base + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + SceneManager.clear + $game_player.straighten + $game_map.refresh + $game_message.visible = false + create_spriteset + create_all_windows + @menu_calling = false + end + #-------------------------------------------------------------------------- + # * Execute Transition + # Performs a fade in when the screen has been blacked out, such as + # immediately after a battle or load. + #-------------------------------------------------------------------------- + def perform_transition + if Graphics.brightness == 0 + Graphics.transition(0) + fadein(fadein_speed) + else + super + end + end + #-------------------------------------------------------------------------- + # * Get Transition Speed + #-------------------------------------------------------------------------- + def transition_speed + return 15 + end + #-------------------------------------------------------------------------- + # * Pre-Termination Processing + #-------------------------------------------------------------------------- + def pre_terminate + super + pre_battle_scene if SceneManager.scene_is?(Scene_Battle) + pre_title_scene if SceneManager.scene_is?(Scene_Title) + end + #-------------------------------------------------------------------------- + # * Termination Processing + #-------------------------------------------------------------------------- + def terminate + super + SceneManager.snapshot_for_background + dispose_spriteset + perform_battle_transition if SceneManager.scene_is?(Scene_Battle) + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + $game_map.update(true) + $game_player.update + $game_timer.update + @spriteset.update + update_scene if scene_change_ok? + end + #-------------------------------------------------------------------------- + # * Determine if Scene Transition Is Possible + #-------------------------------------------------------------------------- + def scene_change_ok? + !$game_message.busy? && !$game_message.visible + end + #-------------------------------------------------------------------------- + # * Update Scene Transition + #-------------------------------------------------------------------------- + def update_scene + check_gameover + update_transfer_player unless scene_changing? + update_encounter unless scene_changing? + update_call_menu unless scene_changing? + update_call_debug unless scene_changing? + end + #-------------------------------------------------------------------------- + # * Update Frame (for Fade In) + #-------------------------------------------------------------------------- + def update_for_fade + update_basic + $game_map.update(false) + @spriteset.update + end + #-------------------------------------------------------------------------- + # * General-Purpose Fade Processing + #-------------------------------------------------------------------------- + def fade_loop(duration) + duration.times do |i| + yield 255 * (i + 1) / duration + update_for_fade + end + end + #-------------------------------------------------------------------------- + # * Fadein Screen + #-------------------------------------------------------------------------- + def fadein(duration) + fade_loop(duration) {|v| Graphics.brightness = v } + end + #-------------------------------------------------------------------------- + # * Fadeout Screen + #-------------------------------------------------------------------------- + def fadeout(duration) + fade_loop(duration) {|v| Graphics.brightness = 255 - v } + end + #-------------------------------------------------------------------------- + # * Screen Fade In (White) + #-------------------------------------------------------------------------- + def white_fadein(duration) + fade_loop(duration) {|v| @viewport.color.set(255, 255, 255, 255 - v) } + end + #-------------------------------------------------------------------------- + # * Screen Fade Out (White) + #-------------------------------------------------------------------------- + def white_fadeout(duration) + fade_loop(duration) {|v| @viewport.color.set(255, 255, 255, v) } + end + #-------------------------------------------------------------------------- + # * Create Sprite Set + #-------------------------------------------------------------------------- + def create_spriteset + @spriteset = Spriteset_Map.new + end + #-------------------------------------------------------------------------- + # * Free Sprite Set + #-------------------------------------------------------------------------- + def dispose_spriteset + @spriteset.dispose + end + #-------------------------------------------------------------------------- + # * Create All Windows + #-------------------------------------------------------------------------- + def create_all_windows + create_message_window + create_scroll_text_window + create_location_window + end + #-------------------------------------------------------------------------- + # * Create Message Window + #-------------------------------------------------------------------------- + def create_message_window + @message_window = Window_Message.new + end + #-------------------------------------------------------------------------- + # * Create Scrolling Text Window + #-------------------------------------------------------------------------- + def create_scroll_text_window + @scroll_text_window = Window_ScrollText.new + end + #-------------------------------------------------------------------------- + # * Create Map Name Window + #-------------------------------------------------------------------------- + def create_location_window + @map_name_window = Window_MapName.new + end + #-------------------------------------------------------------------------- + # * Update Player Transfer + #-------------------------------------------------------------------------- + def update_transfer_player + perform_transfer if $game_player.transfer? + end + #-------------------------------------------------------------------------- + # * Update Encounter + #-------------------------------------------------------------------------- + def update_encounter + SceneManager.call(Scene_Battle) if $game_player.encounter + end + #-------------------------------------------------------------------------- + # * Determine if Menu is Called due to Cancel Button + #-------------------------------------------------------------------------- + def update_call_menu + if $game_system.menu_disabled || $game_map.interpreter.running? + @menu_calling = false + else + @menu_calling ||= Input.trigger?(:B) + call_menu if @menu_calling && !$game_player.moving? + end + end + #-------------------------------------------------------------------------- + # * Call Menu Screen + #-------------------------------------------------------------------------- + def call_menu + Sound.play_ok + SceneManager.call(Scene_Menu) + Window_MenuCommand::init_command_position + end + #-------------------------------------------------------------------------- + # * Determine if Debug Call by F9 key + #-------------------------------------------------------------------------- + def update_call_debug + SceneManager.call(Scene_Debug) if $TEST && Input.press?(:F9) + end + #-------------------------------------------------------------------------- + # * Player Transfer Processing + #-------------------------------------------------------------------------- + def perform_transfer + pre_transfer + $game_player.perform_transfer + post_transfer + end + #-------------------------------------------------------------------------- + # * Preprocessing for Transferring Player + #-------------------------------------------------------------------------- + def pre_transfer + @map_name_window.close + case $game_temp.fade_type + when 0 + fadeout(fadeout_speed) + when 1 + white_fadeout(fadeout_speed) + end + end + #-------------------------------------------------------------------------- + # * Post Processing for Transferring Player + #-------------------------------------------------------------------------- + def post_transfer + case $game_temp.fade_type + when 0 + Graphics.wait(fadein_speed / 2) + fadein(fadein_speed) + when 1 + Graphics.wait(fadein_speed / 2) + white_fadein(fadein_speed) + end + @map_name_window.open + end + #-------------------------------------------------------------------------- + # * Preprocessing for Battle Screen Transition + #-------------------------------------------------------------------------- + def pre_battle_scene + Graphics.update + Graphics.freeze + @spriteset.dispose_characters + BattleManager.save_bgm_and_bgs + BattleManager.play_battle_bgm + Sound.play_battle_start + end + #-------------------------------------------------------------------------- + # * Preprocessing for Title Screen Transition + #-------------------------------------------------------------------------- + def pre_title_scene + fadeout(fadeout_speed_to_title) + end + #-------------------------------------------------------------------------- + # * Execute Pre-Battle Transition + #-------------------------------------------------------------------------- + def perform_battle_transition + Graphics.transition(60, "Graphics/System/BattleStart", 100) + Graphics.freeze + end + #-------------------------------------------------------------------------- + # * Get Fade Out Speed + #-------------------------------------------------------------------------- + def fadeout_speed + return 30 + end + #-------------------------------------------------------------------------- + # * Get Fade In Speed + #-------------------------------------------------------------------------- + def fadein_speed + return 30 + end + #-------------------------------------------------------------------------- + # * Get Fade Out Speed for Title Screen Transition + #-------------------------------------------------------------------------- + def fadeout_speed_to_title + return 60 + end +end diff --git a/Scripts/RPG/Scene_Menu.rb b/Scripts/RPG/Scene_Menu.rb new file mode 100644 index 0000000..ae7cf15 --- /dev/null +++ b/Scripts/RPG/Scene_Menu.rb @@ -0,0 +1,128 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Menu +#------------------------------------------------------------------------------ +# This class performs the menu screen processing. +#============================================================================== + +class Scene_Menu < Scene_MenuBase + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + create_command_window + create_gold_window + create_status_window + end + #-------------------------------------------------------------------------- + # * Create Command Window + #-------------------------------------------------------------------------- + def create_command_window + @command_window = Window_MenuCommand.new + @command_window.set_handler(:item, method(:command_item)) + @command_window.set_handler(:skill, method(:command_personal)) + @command_window.set_handler(:equip, method(:command_personal)) + @command_window.set_handler(:status, method(:command_personal)) + @command_window.set_handler(:formation, method(:command_formation)) + @command_window.set_handler(:save, method(:command_save)) + @command_window.set_handler(:game_end, method(:command_game_end)) + @command_window.set_handler(:cancel, method(:return_scene)) + end + #-------------------------------------------------------------------------- + # * Create Gold Window + #-------------------------------------------------------------------------- + def create_gold_window + @gold_window = Window_Gold.new + @gold_window.x = 0 + @gold_window.y = Graphics.height - @gold_window.height + end + #-------------------------------------------------------------------------- + # * Create Status Window + #-------------------------------------------------------------------------- + def create_status_window + @status_window = Window_MenuStatus.new(@command_window.width, 0) + end + #-------------------------------------------------------------------------- + # * [Item] Command + #-------------------------------------------------------------------------- + def command_item + SceneManager.call(Scene_Item) + end + #-------------------------------------------------------------------------- + # * [Skill], [Equipment] and [Status] Commands + #-------------------------------------------------------------------------- + def command_personal + @status_window.select_last + @status_window.activate + @status_window.set_handler(:ok, method(:on_personal_ok)) + @status_window.set_handler(:cancel, method(:on_personal_cancel)) + end + #-------------------------------------------------------------------------- + # * [Formation] Command + #-------------------------------------------------------------------------- + def command_formation + @status_window.select_last + @status_window.activate + @status_window.set_handler(:ok, method(:on_formation_ok)) + @status_window.set_handler(:cancel, method(:on_formation_cancel)) + end + #-------------------------------------------------------------------------- + # * [Save] Command + #-------------------------------------------------------------------------- + def command_save + SceneManager.call(Scene_Save) + end + #-------------------------------------------------------------------------- + # * [Exit Game] Command + #-------------------------------------------------------------------------- + def command_game_end + SceneManager.call(Scene_End) + end + #-------------------------------------------------------------------------- + # * [OK] Personal Command + #-------------------------------------------------------------------------- + def on_personal_ok + case @command_window.current_symbol + when :skill + SceneManager.call(Scene_Skill) + when :equip + SceneManager.call(Scene_Equip) + when :status + SceneManager.call(Scene_Status) + end + end + #-------------------------------------------------------------------------- + # * [Cancel] Personal Command + #-------------------------------------------------------------------------- + def on_personal_cancel + @status_window.unselect + @command_window.activate + end + #-------------------------------------------------------------------------- + # * Formation [OK] + #-------------------------------------------------------------------------- + def on_formation_ok + if @status_window.pending_index >= 0 + $game_party.swap_order(@status_window.index, + @status_window.pending_index) + @status_window.pending_index = -1 + @status_window.redraw_item(@status_window.index) + else + @status_window.pending_index = @status_window.index + end + @status_window.activate + end + #-------------------------------------------------------------------------- + # * Formation [Cancel] + #-------------------------------------------------------------------------- + def on_formation_cancel + if @status_window.pending_index >= 0 + @status_window.pending_index = -1 + @status_window.activate + else + @status_window.unselect + @command_window.activate + end + end +end diff --git a/Scripts/RPG/Scene_MenuBase.rb b/Scripts/RPG/Scene_MenuBase.rb new file mode 100644 index 0000000..98efd6b --- /dev/null +++ b/Scripts/RPG/Scene_MenuBase.rb @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_MenuBase +#------------------------------------------------------------------------------ +# This class performs basic processing related to the menu screen. +#============================================================================== + +class Scene_MenuBase < Scene_Base + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + create_background + @actor = $game_party.menu_actor + end + #-------------------------------------------------------------------------- + # * Termination Processing + #-------------------------------------------------------------------------- + def terminate + super + dispose_background + end + #-------------------------------------------------------------------------- + # * Create Background + #-------------------------------------------------------------------------- + def create_background + @background_sprite = Sprite.new + @background_sprite.bitmap = SceneManager.background_bitmap + @background_sprite.color.set(16, 16, 16, 128) + end + #-------------------------------------------------------------------------- + # * Free Background + #-------------------------------------------------------------------------- + def dispose_background + @background_sprite.dispose + end + #-------------------------------------------------------------------------- + # * Create Help Window + #-------------------------------------------------------------------------- + def create_help_window + @help_window = Window_Help.new + @help_window.viewport = @viewport + end + #-------------------------------------------------------------------------- + # * Switch to Next Actor + #-------------------------------------------------------------------------- + def next_actor + @actor = $game_party.menu_actor_next + on_actor_change + end + #-------------------------------------------------------------------------- + # * Switch to Previous Actor + #-------------------------------------------------------------------------- + def prev_actor + @actor = $game_party.menu_actor_prev + on_actor_change + end + #-------------------------------------------------------------------------- + # * Change Actors + #-------------------------------------------------------------------------- + def on_actor_change + end +end diff --git a/Scripts/RPG/Scene_Name.rb b/Scripts/RPG/Scene_Name.rb new file mode 100644 index 0000000..0208f37 --- /dev/null +++ b/Scripts/RPG/Scene_Name.rb @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Name +#------------------------------------------------------------------------------ +# This class performs name input screen processing. +#============================================================================== + +class Scene_Name < Scene_MenuBase + #-------------------------------------------------------------------------- + # * Prepare + #-------------------------------------------------------------------------- + def prepare(actor_id, max_char) + @actor_id = actor_id + @max_char = max_char + end + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + @actor = $game_actors[@actor_id] + @edit_window = Window_NameEdit.new(@actor, @max_char) + @input_window = Window_NameInput.new(@edit_window) + @input_window.set_handler(:ok, method(:on_input_ok)) + end + #-------------------------------------------------------------------------- + # * Input [OK] + #-------------------------------------------------------------------------- + def on_input_ok + @actor.name = @edit_window.name + return_scene + end +end diff --git a/Scripts/RPG/Scene_Save.rb b/Scripts/RPG/Scene_Save.rb new file mode 100644 index 0000000..60a44ba --- /dev/null +++ b/Scripts/RPG/Scene_Save.rb @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Save +#------------------------------------------------------------------------------ +# This class performs save screen processing. +#============================================================================== + +class Scene_Save < Scene_File + #-------------------------------------------------------------------------- + # * Get Help Window Text + #-------------------------------------------------------------------------- + def help_window_text + Vocab::SaveMessage + end + #-------------------------------------------------------------------------- + # * Get File Index to Select First + #-------------------------------------------------------------------------- + def first_savefile_index + DataManager.last_savefile_index + end + #-------------------------------------------------------------------------- + # * Confirm Save File + #-------------------------------------------------------------------------- + def on_savefile_ok + super + if DataManager.save_game(@index) + on_save_success + else + Sound.play_buzzer + end + end + #-------------------------------------------------------------------------- + # * Processing When Save Is Successful + #-------------------------------------------------------------------------- + def on_save_success + Sound.play_save + return_scene + end +end diff --git a/Scripts/RPG/Scene_Shop.rb b/Scripts/RPG/Scene_Shop.rb new file mode 100644 index 0000000..0662419 --- /dev/null +++ b/Scripts/RPG/Scene_Shop.rb @@ -0,0 +1,300 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Shop +#------------------------------------------------------------------------------ +# This class performs shop screen processing. +#============================================================================== + +class Scene_Shop < Scene_MenuBase + #-------------------------------------------------------------------------- + # * Prepare + #-------------------------------------------------------------------------- + def prepare(goods, purchase_only) + @goods = goods + @purchase_only = purchase_only + end + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + create_help_window + create_gold_window + create_command_window + create_dummy_window + create_number_window + create_status_window + create_buy_window + create_category_window + create_sell_window + end + #-------------------------------------------------------------------------- + # * Create Gold Window + #-------------------------------------------------------------------------- + def create_gold_window + @gold_window = Window_Gold.new + @gold_window.viewport = @viewport + @gold_window.x = Graphics.width - @gold_window.width + @gold_window.y = @help_window.height + end + #-------------------------------------------------------------------------- + # * Create Command Window + #-------------------------------------------------------------------------- + def create_command_window + @command_window = Window_ShopCommand.new(@gold_window.x, @purchase_only) + @command_window.viewport = @viewport + @command_window.y = @help_window.height + @command_window.set_handler(:buy, method(:command_buy)) + @command_window.set_handler(:sell, method(:command_sell)) + @command_window.set_handler(:cancel, method(:return_scene)) + end + #-------------------------------------------------------------------------- + # * Create Dummy Window + #-------------------------------------------------------------------------- + def create_dummy_window + wy = @command_window.y + @command_window.height + wh = Graphics.height - wy + @dummy_window = Window_Base.new(0, wy, Graphics.width, wh) + @dummy_window.viewport = @viewport + end + #-------------------------------------------------------------------------- + # * Create Quantity Input Window + #-------------------------------------------------------------------------- + def create_number_window + wy = @dummy_window.y + wh = @dummy_window.height + @number_window = Window_ShopNumber.new(0, wy, wh) + @number_window.viewport = @viewport + @number_window.hide + @number_window.set_handler(:ok, method(:on_number_ok)) + @number_window.set_handler(:cancel, method(:on_number_cancel)) + end + #-------------------------------------------------------------------------- + # * Create Status Window + #-------------------------------------------------------------------------- + def create_status_window + wx = @number_window.width + wy = @dummy_window.y + ww = Graphics.width - wx + wh = @dummy_window.height + @status_window = Window_ShopStatus.new(wx, wy, ww, wh) + @status_window.viewport = @viewport + @status_window.hide + end + #-------------------------------------------------------------------------- + # * Create Purchase Window + #-------------------------------------------------------------------------- + def create_buy_window + wy = @dummy_window.y + wh = @dummy_window.height + @buy_window = Window_ShopBuy.new(0, wy, wh, @goods) + @buy_window.viewport = @viewport + @buy_window.help_window = @help_window + @buy_window.status_window = @status_window + @buy_window.hide + @buy_window.set_handler(:ok, method(:on_buy_ok)) + @buy_window.set_handler(:cancel, method(:on_buy_cancel)) + end + #-------------------------------------------------------------------------- + # * Create Category Window + #-------------------------------------------------------------------------- + def create_category_window + @category_window = Window_ItemCategory.new + @category_window.viewport = @viewport + @category_window.help_window = @help_window + @category_window.y = @dummy_window.y + @category_window.hide.deactivate + @category_window.set_handler(:ok, method(:on_category_ok)) + @category_window.set_handler(:cancel, method(:on_category_cancel)) + end + #-------------------------------------------------------------------------- + # * Create Sell Window + #-------------------------------------------------------------------------- + def create_sell_window + wy = @category_window.y + @category_window.height + wh = Graphics.height - wy + @sell_window = Window_ShopSell.new(0, wy, Graphics.width, wh) + @sell_window.viewport = @viewport + @sell_window.help_window = @help_window + @sell_window.hide + @sell_window.set_handler(:ok, method(:on_sell_ok)) + @sell_window.set_handler(:cancel, method(:on_sell_cancel)) + @category_window.item_window = @sell_window + end + #-------------------------------------------------------------------------- + # * Activate Purchase Window + #-------------------------------------------------------------------------- + def activate_buy_window + @buy_window.money = money + @buy_window.show.activate + @status_window.show + end + #-------------------------------------------------------------------------- + # * Activate Sell Window + #-------------------------------------------------------------------------- + def activate_sell_window + @category_window.show + @sell_window.refresh + @sell_window.show.activate + @status_window.hide + end + #-------------------------------------------------------------------------- + # * [Buy] Command + #-------------------------------------------------------------------------- + def command_buy + @dummy_window.hide + activate_buy_window + end + #-------------------------------------------------------------------------- + # * [Sell] Command + #-------------------------------------------------------------------------- + def command_sell + @dummy_window.hide + @category_window.show.activate + @sell_window.show + @sell_window.unselect + @sell_window.refresh + end + #-------------------------------------------------------------------------- + # * Buy [OK] + #-------------------------------------------------------------------------- + def on_buy_ok + @item = @buy_window.item + @buy_window.hide + @number_window.set(@item, max_buy, buying_price, currency_unit) + @number_window.show.activate + end + #-------------------------------------------------------------------------- + # * Buy [Cancel] + #-------------------------------------------------------------------------- + def on_buy_cancel + @command_window.activate + @dummy_window.show + @buy_window.hide + @status_window.hide + @status_window.item = nil + @help_window.clear + end + #-------------------------------------------------------------------------- + # * Category [OK] + #-------------------------------------------------------------------------- + def on_category_ok + activate_sell_window + @sell_window.select(0) + end + #-------------------------------------------------------------------------- + # * Category [Cancel] + #-------------------------------------------------------------------------- + def on_category_cancel + @command_window.activate + @dummy_window.show + @category_window.hide + @sell_window.hide + end + #-------------------------------------------------------------------------- + # * Sell [OK] + #-------------------------------------------------------------------------- + def on_sell_ok + @item = @sell_window.item + @status_window.item = @item + @category_window.hide + @sell_window.hide + @number_window.set(@item, max_sell, selling_price, currency_unit) + @number_window.show.activate + @status_window.show + end + #-------------------------------------------------------------------------- + # * Sell [Cancel] + #-------------------------------------------------------------------------- + def on_sell_cancel + @sell_window.unselect + @category_window.activate + @status_window.item = nil + @help_window.clear + end + #-------------------------------------------------------------------------- + # * Quantity Input [OK] + #-------------------------------------------------------------------------- + def on_number_ok + Sound.play_shop + case @command_window.current_symbol + when :buy + do_buy(@number_window.number) + when :sell + do_sell(@number_window.number) + end + end_number_input + @gold_window.refresh + @status_window.refresh + end + #-------------------------------------------------------------------------- + # * Quantity Input [Cancel] + #-------------------------------------------------------------------------- + def on_number_cancel + Sound.play_cancel + end_number_input + end + #-------------------------------------------------------------------------- + # * Execute Purchase + #-------------------------------------------------------------------------- + def do_buy(number) + $game_party.lose_gold(number * buying_price) + $game_party.gain_item(@item, number) + end + #-------------------------------------------------------------------------- + # * Execute Sale + #-------------------------------------------------------------------------- + def do_sell(number) + $game_party.gain_gold(number * selling_price) + $game_party.lose_item(@item, number) + end + #-------------------------------------------------------------------------- + # * Exit Quantity Input + #-------------------------------------------------------------------------- + def end_number_input + @number_window.hide + case @command_window.current_symbol + when :buy + activate_buy_window + when :sell + activate_sell_window + end + end + #-------------------------------------------------------------------------- + # * Get Maximum Quantity Buyable + #-------------------------------------------------------------------------- + def max_buy + max = $game_party.max_item_number(@item) - $game_party.item_number(@item) + buying_price == 0 ? max : [max, money / buying_price].min + end + #-------------------------------------------------------------------------- + # * Get Maximum Quantity Sellable + #-------------------------------------------------------------------------- + def max_sell + $game_party.item_number(@item) + end + #-------------------------------------------------------------------------- + # * Get Party Gold + #-------------------------------------------------------------------------- + def money + @gold_window.value + end + #-------------------------------------------------------------------------- + # Get Currency Unit + #-------------------------------------------------------------------------- + def currency_unit + @gold_window.currency_unit + end + #-------------------------------------------------------------------------- + # * Get Purchase Price + #-------------------------------------------------------------------------- + def buying_price + @buy_window.price(@item) + end + #-------------------------------------------------------------------------- + # * Get Sale Price + #-------------------------------------------------------------------------- + def selling_price + @item.price / 2 + end +end diff --git a/Scripts/RPG/Scene_Skill.rb b/Scripts/RPG/Scene_Skill.rb new file mode 100644 index 0000000..6f9682d --- /dev/null +++ b/Scripts/RPG/Scene_Skill.rb @@ -0,0 +1,109 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Skill +#------------------------------------------------------------------------------ +# This class performs skill screen processing. Skills are handled as items for +# the sake of process sharing. +#============================================================================== + +class Scene_Skill < Scene_ItemBase + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + create_help_window + create_command_window + create_status_window + create_item_window + end + #-------------------------------------------------------------------------- + # * Create Command Window + #-------------------------------------------------------------------------- + def create_command_window + wy = @help_window.height + @command_window = Window_SkillCommand.new(0, wy) + @command_window.viewport = @viewport + @command_window.help_window = @help_window + @command_window.actor = @actor + @command_window.set_handler(:skill, method(:command_skill)) + @command_window.set_handler(:cancel, method(:return_scene)) + @command_window.set_handler(:pagedown, method(:next_actor)) + @command_window.set_handler(:pageup, method(:prev_actor)) + end + #-------------------------------------------------------------------------- + # * Create Status Window + #-------------------------------------------------------------------------- + def create_status_window + y = @help_window.height + @status_window = Window_SkillStatus.new(@command_window.width, y) + @status_window.viewport = @viewport + @status_window.actor = @actor + end + #-------------------------------------------------------------------------- + # * Create Item Window + #-------------------------------------------------------------------------- + def create_item_window + wx = 0 + wy = @status_window.y + @status_window.height + ww = Graphics.width + wh = Graphics.height - wy + @item_window = Window_SkillList.new(wx, wy, ww, wh) + @item_window.actor = @actor + @item_window.viewport = @viewport + @item_window.help_window = @help_window + @item_window.set_handler(:ok, method(:on_item_ok)) + @item_window.set_handler(:cancel, method(:on_item_cancel)) + @command_window.skill_window = @item_window + end + #-------------------------------------------------------------------------- + # * Get Skill's User + #-------------------------------------------------------------------------- + def user + @actor + end + #-------------------------------------------------------------------------- + # * [Skill] Command + #-------------------------------------------------------------------------- + def command_skill + @item_window.activate + @item_window.select_last + end + #-------------------------------------------------------------------------- + # * Item [OK] + #-------------------------------------------------------------------------- + def on_item_ok + @actor.last_skill.object = item + determine_item + end + #-------------------------------------------------------------------------- + # * Item [Cancel] + #-------------------------------------------------------------------------- + def on_item_cancel + @item_window.unselect + @command_window.activate + end + #-------------------------------------------------------------------------- + # * Play SE When Using Item + #-------------------------------------------------------------------------- + def play_se_for_item + Sound.play_use_skill + end + #-------------------------------------------------------------------------- + # * Use Item + #-------------------------------------------------------------------------- + def use_item + super + @status_window.refresh + @item_window.refresh + end + #-------------------------------------------------------------------------- + # * Change Actors + #-------------------------------------------------------------------------- + def on_actor_change + @command_window.actor = @actor + @status_window.actor = @actor + @item_window.actor = @actor + @command_window.activate + end +end diff --git a/Scripts/RPG/Scene_Status.rb b/Scripts/RPG/Scene_Status.rb new file mode 100644 index 0000000..b79874a --- /dev/null +++ b/Scripts/RPG/Scene_Status.rb @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Status +#------------------------------------------------------------------------------ +# This class performs the status screen processing. +#============================================================================== + +class Scene_Status < Scene_MenuBase + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + @status_window = Window_Status.new(@actor) + @status_window.set_handler(:cancel, method(:return_scene)) + @status_window.set_handler(:pagedown, method(:next_actor)) + @status_window.set_handler(:pageup, method(:prev_actor)) + end + #-------------------------------------------------------------------------- + # * Change Actors + #-------------------------------------------------------------------------- + def on_actor_change + @status_window.actor = @actor + @status_window.activate + end +end diff --git a/Scripts/RPG/Scene_Title.rb b/Scripts/RPG/Scene_Title.rb new file mode 100644 index 0000000..33c3bab --- /dev/null +++ b/Scripts/RPG/Scene_Title.rb @@ -0,0 +1,138 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Scene_Title +#------------------------------------------------------------------------------ +# This class performs the title screen processing. +#============================================================================== + +class Scene_Title < Scene_Base + #-------------------------------------------------------------------------- + # * Start Processing + #-------------------------------------------------------------------------- + def start + super + SceneManager.clear + Graphics.freeze + create_background + create_foreground + create_command_window + play_title_music + end + #-------------------------------------------------------------------------- + # * Get Transition Speed + #-------------------------------------------------------------------------- + def transition_speed + return 20 + end + #-------------------------------------------------------------------------- + # * Termination Processing + #-------------------------------------------------------------------------- + def terminate + super + SceneManager.snapshot_for_background + dispose_background + dispose_foreground + end + #-------------------------------------------------------------------------- + # * Create Background + #-------------------------------------------------------------------------- + def create_background + @sprite1 = Sprite.new + @sprite1.bitmap = Cache.title1($data_system.title1_name) + @sprite2 = Sprite.new + @sprite2.bitmap = Cache.title2($data_system.title2_name) + center_sprite(@sprite1) + center_sprite(@sprite2) + end + #-------------------------------------------------------------------------- + # * Create Foreground + #-------------------------------------------------------------------------- + def create_foreground + @foreground_sprite = Sprite.new + @foreground_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height) + @foreground_sprite.z = 100 + draw_game_title if $data_system.opt_draw_title + end + #-------------------------------------------------------------------------- + # * Draw Game Title + #-------------------------------------------------------------------------- + def draw_game_title + @foreground_sprite.bitmap.font.size = 48 + rect = Rect.new(0, 0, Graphics.width, Graphics.height / 2) + @foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, 1) + end + #-------------------------------------------------------------------------- + # * Free Background + #-------------------------------------------------------------------------- + def dispose_background + @sprite1.bitmap.dispose + @sprite1.dispose + @sprite2.bitmap.dispose + @sprite2.dispose + end + #-------------------------------------------------------------------------- + # * Free Foreground + #-------------------------------------------------------------------------- + def dispose_foreground + @foreground_sprite.bitmap.dispose + @foreground_sprite.dispose + end + #-------------------------------------------------------------------------- + # * Move Sprite to Screen Center + #-------------------------------------------------------------------------- + def center_sprite(sprite) + sprite.ox = sprite.bitmap.width / 2 + sprite.oy = sprite.bitmap.height / 2 + sprite.x = Graphics.width / 2 + sprite.y = Graphics.height / 2 + end + #-------------------------------------------------------------------------- + # * Create Command Window + #-------------------------------------------------------------------------- + def create_command_window + @command_window = Window_TitleCommand.new + @command_window.set_handler(:new_game, method(:command_new_game)) + @command_window.set_handler(:continue, method(:command_continue)) + @command_window.set_handler(:shutdown, method(:command_shutdown)) + end + #-------------------------------------------------------------------------- + # * Close Command Window + #-------------------------------------------------------------------------- + def close_command_window + @command_window.close + update until @command_window.close? + end + #-------------------------------------------------------------------------- + # * [New Game] Command + #-------------------------------------------------------------------------- + def command_new_game + DataManager.setup_new_game + close_command_window + fadeout_all + $game_map.autoplay + SceneManager.goto(Scene_Map) + end + #-------------------------------------------------------------------------- + # * [Continue] Command + #-------------------------------------------------------------------------- + def command_continue + close_command_window + SceneManager.call(Scene_Load) + end + #-------------------------------------------------------------------------- + # * [Shut Down] Command + #-------------------------------------------------------------------------- + def command_shutdown + close_command_window + fadeout_all + SceneManager.exit + end + #-------------------------------------------------------------------------- + # * Play Title Screen Music + #-------------------------------------------------------------------------- + def play_title_music + $data_system.title_bgm.play + RPG::BGS.stop + RPG::ME.stop + end +end diff --git a/Scripts/RPG/Some_other_test.rb b/Scripts/RPG/Some_other_test.rb new file mode 100644 index 0000000..8c978c8 --- /dev/null +++ b/Scripts/RPG/Some_other_test.rb @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +Some other test with modified content \ No newline at end of file diff --git a/Scripts/RPG/Sound.rb b/Scripts/RPG/Sound.rb new file mode 100644 index 0000000..21ba0d2 --- /dev/null +++ b/Scripts/RPG/Sound.rb @@ -0,0 +1,136 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Sound +#------------------------------------------------------------------------------ +# This module plays sound effects. It obtains sound effects specified in the +# database from the global variable $data_system, and plays them. +#============================================================================== + +module Sound + + # System Sound Effect + def self.play_system_sound(n) + $data_system.sounds[n].play + end + + # Cursor Movement + def self.play_cursor + play_system_sound(0) + end + + # Decision + def self.play_ok + play_system_sound(1) + end + + # Cancel + def self.play_cancel + play_system_sound(2) + end + + # Buzzer + def self.play_buzzer + play_system_sound(3) + end + + # Equip + def self.play_equip + play_system_sound(4) + end + + # Save + def self.play_save + play_system_sound(5) + end + + # Load + def self.play_load + play_system_sound(6) + end + + # Battle Start + def self.play_battle_start + play_system_sound(7) + end + + # Escape + def self.play_escape + play_system_sound(8) + end + + # Enemy Attack + def self.play_enemy_attack + play_system_sound(9) + end + + # Enemy Damage + def self.play_enemy_damage + play_system_sound(10) + end + + # Enemy Collapse + def self.play_enemy_collapse + play_system_sound(11) + end + + # Boss Collapse 1 + def self.play_boss_collapse1 + play_system_sound(12) + end + + # Boss Collapse 2 + def self.play_boss_collapse2 + play_system_sound(13) + end + + # Actor Damage + def self.play_actor_damage + play_system_sound(14) + end + + # Actor Collapse + def self.play_actor_collapse + play_system_sound(15) + end + + # Recovery + def self.play_recovery + play_system_sound(16) + end + + # Miss + def self.play_miss + play_system_sound(17) + end + + # Evasion + def self.play_evasion + play_system_sound(18) + end + + # Magic Evasion + def self.play_magic_evasion + play_system_sound(19) + end + + # Magic Reflection + def self.play_reflection + play_system_sound(20) + end + + # Shop + def self.play_shop + play_system_sound(21) + end + + # Use Item + def self.play_use_item + play_system_sound(22) + end + + # Use Skill + def self.play_use_skill + play_system_sound(23) + end + +end diff --git a/Scripts/RPG/Sprite_Base.rb b/Scripts/RPG/Sprite_Base.rb new file mode 100644 index 0000000..1786293 --- /dev/null +++ b/Scripts/RPG/Sprite_Base.rb @@ -0,0 +1,233 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Sprite_Base +#------------------------------------------------------------------------------ +# A sprite class with animation display processing added. +#============================================================================== + +class Sprite_Base < Sprite + #-------------------------------------------------------------------------- + # * Class Variable + #-------------------------------------------------------------------------- + @@ani_checker = [] + @@ani_spr_checker = [] + @@_reference_count = {} + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(viewport = nil) + super(viewport) + @use_sprite = true # Sprite use flag + @ani_duration = 0 # Remaining time of animation + end + #-------------------------------------------------------------------------- + # * Free + #-------------------------------------------------------------------------- + def dispose + super + dispose_animation + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + update_animation + @@ani_checker.clear + @@ani_spr_checker.clear + end + #-------------------------------------------------------------------------- + # * Determine if animation is being displayed + #-------------------------------------------------------------------------- + def animation? + @animation != nil + end + #-------------------------------------------------------------------------- + # * Start Animation + #-------------------------------------------------------------------------- + def start_animation(animation, mirror = false) + dispose_animation + @animation = animation + if @animation + @ani_mirror = mirror + set_animation_rate + @ani_duration = @animation.frame_max * @ani_rate + 1 + load_animation_bitmap + make_animation_sprites + set_animation_origin + end + end + #-------------------------------------------------------------------------- + # * Set Animation Speed + #-------------------------------------------------------------------------- + def set_animation_rate + @ani_rate = 4 # Fixed value by default + end + #-------------------------------------------------------------------------- + # * Read (Load) Animation Graphics + #-------------------------------------------------------------------------- + def load_animation_bitmap + animation1_name = @animation.animation1_name + animation1_hue = @animation.animation1_hue + animation2_name = @animation.animation2_name + animation2_hue = @animation.animation2_hue + @ani_bitmap1 = Cache.animation(animation1_name, animation1_hue) + @ani_bitmap2 = Cache.animation(animation2_name, animation2_hue) + if @@_reference_count.include?(@ani_bitmap1) + @@_reference_count[@ani_bitmap1] += 1 + else + @@_reference_count[@ani_bitmap1] = 1 + end + if @@_reference_count.include?(@ani_bitmap2) + @@_reference_count[@ani_bitmap2] += 1 + else + @@_reference_count[@ani_bitmap2] = 1 + end + Graphics.frame_reset + end + #-------------------------------------------------------------------------- + # * Create Animation Spirtes + #-------------------------------------------------------------------------- + def make_animation_sprites + @ani_sprites = [] + if @use_sprite && !@@ani_spr_checker.include?(@animation) + 16.times do + sprite = ::Sprite.new(viewport) + sprite.visible = false + @ani_sprites.push(sprite) + end + if @animation.position == 3 + @@ani_spr_checker.push(@animation) + end + end + @ani_duplicated = @@ani_checker.include?(@animation) + if !@ani_duplicated && @animation.position == 3 + @@ani_checker.push(@animation) + end + end + #-------------------------------------------------------------------------- + # * Set Animation Origin + #-------------------------------------------------------------------------- + def set_animation_origin + if @animation.position == 3 + if viewport == nil + @ani_ox = Graphics.width / 2 + @ani_oy = Graphics.height / 2 + else + @ani_ox = viewport.rect.width / 2 + @ani_oy = viewport.rect.height / 2 + end + else + @ani_ox = x - ox + width / 2 + @ani_oy = y - oy + height / 2 + if @animation.position == 0 + @ani_oy -= height / 2 + elsif @animation.position == 2 + @ani_oy += height / 2 + end + end + end + #-------------------------------------------------------------------------- + # * Free Animation + #-------------------------------------------------------------------------- + def dispose_animation + if @ani_bitmap1 + @@_reference_count[@ani_bitmap1] -= 1 + if @@_reference_count[@ani_bitmap1] == 0 + @ani_bitmap1.dispose + end + end + if @ani_bitmap2 + @@_reference_count[@ani_bitmap2] -= 1 + if @@_reference_count[@ani_bitmap2] == 0 + @ani_bitmap2.dispose + end + end + if @ani_sprites + @ani_sprites.each {|sprite| sprite.dispose } + @ani_sprites = nil + @animation = nil + end + @ani_bitmap1 = nil + @ani_bitmap2 = nil + end + #-------------------------------------------------------------------------- + # * Update Animation + #-------------------------------------------------------------------------- + def update_animation + return unless animation? + @ani_duration -= 1 + if @ani_duration % @ani_rate == 0 + if @ani_duration > 0 + frame_index = @animation.frame_max + frame_index -= (@ani_duration + @ani_rate - 1) / @ani_rate + animation_set_sprites(@animation.frames[frame_index]) + @animation.timings.each do |timing| + animation_process_timing(timing) if timing.frame == frame_index + end + else + end_animation + end + end + end + #-------------------------------------------------------------------------- + # * End Animation + #-------------------------------------------------------------------------- + def end_animation + dispose_animation + end + #-------------------------------------------------------------------------- + # * Set Animation Sprite + # frame : Frame data (RPG::Animation::Frame) + #-------------------------------------------------------------------------- + def animation_set_sprites(frame) + cell_data = frame.cell_data + @ani_sprites.each_with_index do |sprite, i| + next unless sprite + pattern = cell_data[i, 0] + if !pattern || pattern < 0 + sprite.visible = false + next + end + sprite.bitmap = pattern < 100 ? @ani_bitmap1 : @ani_bitmap2 + sprite.visible = true + sprite.src_rect.set(pattern % 5 * 192, + pattern % 100 / 5 * 192, 192, 192) + if @ani_mirror + sprite.x = @ani_ox - cell_data[i, 1] + sprite.y = @ani_oy + cell_data[i, 2] + sprite.angle = (360 - cell_data[i, 4]) + sprite.mirror = (cell_data[i, 5] == 0) + else + sprite.x = @ani_ox + cell_data[i, 1] + sprite.y = @ani_oy + cell_data[i, 2] + sprite.angle = cell_data[i, 4] + sprite.mirror = (cell_data[i, 5] == 1) + end + sprite.z = self.z + 300 + i + sprite.ox = 96 + sprite.oy = 96 + sprite.zoom_x = cell_data[i, 3] / 100.0 + sprite.zoom_y = cell_data[i, 3] / 100.0 + sprite.opacity = cell_data[i, 6] * self.opacity / 255.0 + sprite.blend_type = cell_data[i, 7] + end + end + #-------------------------------------------------------------------------- + # * SE and Flash Timing Processing + # timing : Timing data (RPG::Animation::Timing) + #-------------------------------------------------------------------------- + def animation_process_timing(timing) + timing.se.play unless @ani_duplicated + case timing.flash_scope + when 1 + self.flash(timing.flash_color, timing.flash_duration * @ani_rate) + when 2 + if viewport && !@ani_duplicated + viewport.flash(timing.flash_color, timing.flash_duration * @ani_rate) + end + when 3 + self.flash(nil, timing.flash_duration * @ani_rate) + end + end +end diff --git a/Scripts/RPG/Sprite_Battler.rb b/Scripts/RPG/Sprite_Battler.rb new file mode 100644 index 0000000..b0466e1 --- /dev/null +++ b/Scripts/RPG/Sprite_Battler.rb @@ -0,0 +1,232 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Sprite_Battler +#------------------------------------------------------------------------------ +# This sprite is used to display battlers. It observes an instance of the +# Game_Battler class and automatically changes sprite states. +#============================================================================== + +class Sprite_Battler < Sprite_Base + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_accessor :battler + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(viewport, battler = nil) + super(viewport) + @battler = battler + @battler_visible = false + @effect_type = nil + @effect_duration = 0 + end + #-------------------------------------------------------------------------- + # * Free + #-------------------------------------------------------------------------- + def dispose + bitmap.dispose if bitmap + super + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + if @battler + @use_sprite = @battler.use_sprite? + if @use_sprite + update_bitmap + update_origin + update_position + end + setup_new_effect + setup_new_animation + update_effect + else + self.bitmap = nil + @effect_type = nil + end + end + #-------------------------------------------------------------------------- + # * Update Transfer Origin Bitmap + #-------------------------------------------------------------------------- + def update_bitmap + new_bitmap = Cache.battler(@battler.battler_name, @battler.battler_hue) + if bitmap != new_bitmap + self.bitmap = new_bitmap + init_visibility + end + end + #-------------------------------------------------------------------------- + # * Initialize Visibility + #-------------------------------------------------------------------------- + def init_visibility + @battler_visible = @battler.alive? + self.opacity = 0 unless @battler_visible + end + #-------------------------------------------------------------------------- + # * Update Origin + #-------------------------------------------------------------------------- + def update_origin + if bitmap + self.ox = bitmap.width / 2 + self.oy = bitmap.height + end + end + #-------------------------------------------------------------------------- + # * Update Position + #-------------------------------------------------------------------------- + def update_position + self.x = @battler.screen_x + self.y = @battler.screen_y + self.z = @battler.screen_z + end + #-------------------------------------------------------------------------- + # * Set New Effect + #-------------------------------------------------------------------------- + def setup_new_effect + if !@battler_visible && @battler.alive? + start_effect(:appear) + elsif @battler_visible && @battler.hidden? + start_effect(:disappear) + end + if @battler_visible && @battler.sprite_effect_type + start_effect(@battler.sprite_effect_type) + @battler.sprite_effect_type = nil + end + end + #-------------------------------------------------------------------------- + # * Start Effect + #-------------------------------------------------------------------------- + def start_effect(effect_type) + @effect_type = effect_type + case @effect_type + when :appear + @effect_duration = 16 + @battler_visible = true + when :disappear + @effect_duration = 32 + @battler_visible = false + when :whiten + @effect_duration = 16 + @battler_visible = true + when :blink + @effect_duration = 20 + @battler_visible = true + when :collapse + @effect_duration = 48 + @battler_visible = false + when :boss_collapse + @effect_duration = bitmap.height + @battler_visible = false + when :instant_collapse + @effect_duration = 16 + @battler_visible = false + end + revert_to_normal + end + #-------------------------------------------------------------------------- + # * Revert to Normal Settings + #-------------------------------------------------------------------------- + def revert_to_normal + self.blend_type = 0 + self.color.set(0, 0, 0, 0) + self.opacity = 255 + self.ox = bitmap.width / 2 if bitmap + self.src_rect.y = 0 + end + #-------------------------------------------------------------------------- + # * Set New Animation + #-------------------------------------------------------------------------- + def setup_new_animation + if @battler.animation_id > 0 + animation = $data_animations[@battler.animation_id] + mirror = @battler.animation_mirror + start_animation(animation, mirror) + @battler.animation_id = 0 + end + end + #-------------------------------------------------------------------------- + # * Determine if Effect Is Executing + #-------------------------------------------------------------------------- + def effect? + @effect_type != nil + end + #-------------------------------------------------------------------------- + # * Update Effect + #-------------------------------------------------------------------------- + def update_effect + if @effect_duration > 0 + @effect_duration -= 1 + case @effect_type + when :whiten + update_whiten + when :blink + update_blink + when :appear + update_appear + when :disappear + update_disappear + when :collapse + update_collapse + when :boss_collapse + update_boss_collapse + when :instant_collapse + update_instant_collapse + end + @effect_type = nil if @effect_duration == 0 + end + end + #-------------------------------------------------------------------------- + # * Update White Flash Effect + #-------------------------------------------------------------------------- + def update_whiten + self.color.set(255, 255, 255, 0) + self.color.alpha = 128 - (16 - @effect_duration) * 10 + end + #-------------------------------------------------------------------------- + # * Update Blink Effect + #-------------------------------------------------------------------------- + def update_blink + self.opacity = (@effect_duration % 10 < 5) ? 255 : 0 + end + #-------------------------------------------------------------------------- + # * Update Appearance Effect + #-------------------------------------------------------------------------- + def update_appear + self.opacity = (16 - @effect_duration) * 16 + end + #-------------------------------------------------------------------------- + # * Updated Disappear Effect + #-------------------------------------------------------------------------- + def update_disappear + self.opacity = 256 - (32 - @effect_duration) * 10 + end + #-------------------------------------------------------------------------- + # * Update Collapse Effect + #-------------------------------------------------------------------------- + def update_collapse + self.blend_type = 1 + self.color.set(255, 128, 128, 128) + self.opacity = 256 - (48 - @effect_duration) * 6 + end + #-------------------------------------------------------------------------- + # * Update Boss Collapse Effect + #-------------------------------------------------------------------------- + def update_boss_collapse + alpha = @effect_duration * 120 / bitmap.height + self.ox = bitmap.width / 2 + @effect_duration % 2 * 4 - 2 + self.blend_type = 1 + self.color.set(255, 255, 255, 255 - alpha) + self.opacity = alpha + self.src_rect.y -= 1 + Sound.play_boss_collapse2 if @effect_duration % 20 == 19 + end + #-------------------------------------------------------------------------- + # * Update Instant Collapse Effect + #-------------------------------------------------------------------------- + def update_instant_collapse + self.opacity = 0 + end +end diff --git a/Scripts/RPG/Sprite_Character.rb b/Scripts/RPG/Sprite_Character.rb new file mode 100644 index 0000000..0ae472c --- /dev/null +++ b/Scripts/RPG/Sprite_Character.rb @@ -0,0 +1,227 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Sprite_Character +#------------------------------------------------------------------------------ +# This sprite is used to display characters. It observes an instance of the +# Game_Character class and automatically changes sprite state. +#============================================================================== + +class Sprite_Character < Sprite_Base + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_accessor :character + #-------------------------------------------------------------------------- + # * Object Initialization + # character : Game_Character + #-------------------------------------------------------------------------- + def initialize(viewport, character = nil) + super(viewport) + @character = character + @balloon_duration = 0 + update + end + #-------------------------------------------------------------------------- + # * Free + #-------------------------------------------------------------------------- + def dispose + end_animation + end_balloon + super + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + update_bitmap + update_src_rect + update_position + update_other + update_balloon + setup_new_effect + end + #-------------------------------------------------------------------------- + # * Get Tileset Image That Includes the Designated Tile + #-------------------------------------------------------------------------- + def tileset_bitmap(tile_id) + Cache.tileset($game_map.tileset.tileset_names[5 + tile_id / 256]) + end + #-------------------------------------------------------------------------- + # * Update Transfer Origin Bitmap + #-------------------------------------------------------------------------- + def update_bitmap + if graphic_changed? + @tile_id = @character.tile_id + @character_name = @character.character_name + @character_index = @character.character_index + if @tile_id > 0 + set_tile_bitmap + else + set_character_bitmap + end + end + end + #-------------------------------------------------------------------------- + # * Determine if Graphic Changed + #-------------------------------------------------------------------------- + def graphic_changed? + @tile_id != @character.tile_id || + @character_name != @character.character_name || + @character_index != @character.character_index + end + #-------------------------------------------------------------------------- + # * Set Tile Bitmap + #-------------------------------------------------------------------------- + def set_tile_bitmap + sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32; + sy = @tile_id % 256 / 8 % 16 * 32; + self.bitmap = tileset_bitmap(@tile_id) + self.src_rect.set(sx, sy, 32, 32) + self.ox = 16 + self.oy = 32 + end + #-------------------------------------------------------------------------- + # * Set Character Bitmap + #-------------------------------------------------------------------------- + def set_character_bitmap + self.bitmap = Cache.character(@character_name) + sign = @character_name[/^[\!\$]./] + if sign && sign.include?('$') + @cw = bitmap.width / 3 + @ch = bitmap.height / 4 + else + @cw = bitmap.width / 12 + @ch = bitmap.height / 8 + end + self.ox = @cw / 2 + self.oy = @ch + end + #-------------------------------------------------------------------------- + # * Update Transfer Origin Rectangle + #-------------------------------------------------------------------------- + def update_src_rect + if @tile_id == 0 + index = @character.character_index + pattern = @character.pattern < 3 ? @character.pattern : 1 + sx = (index % 4 * 3 + pattern) * @cw + sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch + self.src_rect.set(sx, sy, @cw, @ch) + end + end + #-------------------------------------------------------------------------- + # * Update Position + #-------------------------------------------------------------------------- + def update_position + move_animation(@character.screen_x - x, @character.screen_y - y) + self.x = @character.screen_x + self.y = @character.screen_y + self.z = @character.screen_z + end + #-------------------------------------------------------------------------- + # * Update Other + #-------------------------------------------------------------------------- + def update_other + self.opacity = @character.opacity + self.blend_type = @character.blend_type + self.bush_depth = @character.bush_depth + self.visible = !@character.transparent + end + #-------------------------------------------------------------------------- + # * Set New Effect + #-------------------------------------------------------------------------- + def setup_new_effect + if !animation? && @character.animation_id > 0 + animation = $data_animations[@character.animation_id] + start_animation(animation) + end + if !@balloon_sprite && @character.balloon_id > 0 + @balloon_id = @character.balloon_id + start_balloon + end + end + #-------------------------------------------------------------------------- + # * Move Animation + #-------------------------------------------------------------------------- + def move_animation(dx, dy) + if @animation && @animation.position != 3 + @ani_ox += dx + @ani_oy += dy + @ani_sprites.each do |sprite| + sprite.x += dx + sprite.y += dy + end + end + end + #-------------------------------------------------------------------------- + # * End Animation + #-------------------------------------------------------------------------- + def end_animation + super + @character.animation_id = 0 + end + #-------------------------------------------------------------------------- + # * Start Balloon Icon Display + #-------------------------------------------------------------------------- + def start_balloon + dispose_balloon + @balloon_duration = 8 * balloon_speed + balloon_wait + @balloon_sprite = ::Sprite.new(viewport) + @balloon_sprite.bitmap = Cache.system("Balloon") + @balloon_sprite.ox = 16 + @balloon_sprite.oy = 32 + update_balloon + end + #-------------------------------------------------------------------------- + # * Free Balloon Icon + #-------------------------------------------------------------------------- + def dispose_balloon + if @balloon_sprite + @balloon_sprite.dispose + @balloon_sprite = nil + end + end + #-------------------------------------------------------------------------- + # * Update Balloon Icon + #-------------------------------------------------------------------------- + def update_balloon + if @balloon_duration > 0 + @balloon_duration -= 1 + if @balloon_duration > 0 + @balloon_sprite.x = x + @balloon_sprite.y = y - height + @balloon_sprite.z = z + 200 + sx = balloon_frame_index * 32 + sy = (@balloon_id - 1) * 32 + @balloon_sprite.src_rect.set(sx, sy, 32, 32) + else + end_balloon + end + end + end + #-------------------------------------------------------------------------- + # * End Balloon Icon + #-------------------------------------------------------------------------- + def end_balloon + dispose_balloon + @character.balloon_id = 0 + end + #-------------------------------------------------------------------------- + # * Balloon Icon Display Speed + #-------------------------------------------------------------------------- + def balloon_speed + return 8 + end + #-------------------------------------------------------------------------- + # * Wait Time for Last Frame of Balloon + #-------------------------------------------------------------------------- + def balloon_wait + return 12 + end + #-------------------------------------------------------------------------- + # * Frame Number of Balloon Icon + #-------------------------------------------------------------------------- + def balloon_frame_index + return 7 - [(@balloon_duration - balloon_wait) / balloon_speed, 0].max + end +end diff --git a/Scripts/RPG/Sprite_Picture.rb b/Scripts/RPG/Sprite_Picture.rb new file mode 100644 index 0000000..e231324 --- /dev/null +++ b/Scripts/RPG/Sprite_Picture.rb @@ -0,0 +1,83 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Sprite_Picture +#------------------------------------------------------------------------------ +# This sprite is used to display pictures. It observes an instance of the +# Game_Picture class and automatically changes sprite states. +#============================================================================== + +class Sprite_Picture < Sprite + #-------------------------------------------------------------------------- + # * Object Initialization + # picture : Game_Picture + #-------------------------------------------------------------------------- + def initialize(viewport, picture) + super(viewport) + @picture = picture + update + end + #-------------------------------------------------------------------------- + # * Free + #-------------------------------------------------------------------------- + def dispose + bitmap.dispose if bitmap + super + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + update_bitmap + update_origin + update_position + update_zoom + update_other + end + #-------------------------------------------------------------------------- + # * Update Transfer Origin Bitmap + #-------------------------------------------------------------------------- + def update_bitmap + if @picture.name.empty? + self.bitmap = nil + else + self.bitmap = Cache.picture(@picture.name) + end + end + #-------------------------------------------------------------------------- + # * Update Origin + #-------------------------------------------------------------------------- + def update_origin + if @picture.origin == 0 + self.ox = 0 + self.oy = 0 + else + self.ox = bitmap.width / 2 + self.oy = bitmap.height / 2 + end + end + #-------------------------------------------------------------------------- + # * Update Position + #-------------------------------------------------------------------------- + def update_position + self.x = @picture.x + self.y = @picture.y + self.z = @picture.number + end + #-------------------------------------------------------------------------- + # * Update Zoom Factor + #-------------------------------------------------------------------------- + def update_zoom + self.zoom_x = @picture.zoom_x / 100.0 + self.zoom_y = @picture.zoom_y / 100.0 + end + #-------------------------------------------------------------------------- + # * Update Other + #-------------------------------------------------------------------------- + def update_other + self.opacity = @picture.opacity + self.blend_type = @picture.blend_type + self.angle = @picture.angle + self.tone.set(@picture.tone) + end +end diff --git a/Scripts/RPG/Sprite_Timer.rb b/Scripts/RPG/Sprite_Timer.rb new file mode 100644 index 0000000..b306d63 --- /dev/null +++ b/Scripts/RPG/Sprite_Timer.rb @@ -0,0 +1,78 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Sprite_Timer +#------------------------------------------------------------------------------ +# This sprite is for timer displays. It monitors $game_timer and automatically +# changes sprite states. +#============================================================================== + +class Sprite_Timer < Sprite + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(viewport) + super(viewport) + create_bitmap + update + end + #-------------------------------------------------------------------------- + # * Free + #-------------------------------------------------------------------------- + def dispose + self.bitmap.dispose + super + end + #-------------------------------------------------------------------------- + # * Create Bitmap + #-------------------------------------------------------------------------- + def create_bitmap + self.bitmap = Bitmap.new(96, 48) + self.bitmap.font.size = 32 + self.bitmap.font.color.set(255, 255, 255) + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + update_bitmap + update_position + update_visibility + end + #-------------------------------------------------------------------------- + # * Update Transfer Origin Bitmap + #-------------------------------------------------------------------------- + def update_bitmap + if $game_timer.sec != @total_sec + @total_sec = $game_timer.sec + redraw + end + end + #-------------------------------------------------------------------------- + # * Redraw + #-------------------------------------------------------------------------- + def redraw + self.bitmap.clear + self.bitmap.draw_text(self.bitmap.rect, timer_text, 1) + end + #-------------------------------------------------------------------------- + # * Create Text + #-------------------------------------------------------------------------- + def timer_text + sprintf("%02d:%02d", @total_sec / 60, @total_sec % 60) + end + #-------------------------------------------------------------------------- + # * Update Position + #-------------------------------------------------------------------------- + def update_position + self.x = Graphics.width - self.bitmap.width + self.y = 0 + self.z = 200 + end + #-------------------------------------------------------------------------- + # * Update Visibility + #-------------------------------------------------------------------------- + def update_visibility + self.visible = $game_timer.working? + end +end diff --git a/Scripts/RPG/Spriteset_Battle.rb b/Scripts/RPG/Spriteset_Battle.rb new file mode 100644 index 0000000..7e97492 --- /dev/null +++ b/Scripts/RPG/Spriteset_Battle.rb @@ -0,0 +1,390 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Spriteset_Battle +#------------------------------------------------------------------------------ +# This class brings together battle screen sprites. It's used within the +# Scene_Battle class. +#============================================================================== + +class Spriteset_Battle + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + create_viewports + create_battleback1 + create_battleback2 + create_enemies + create_actors + create_pictures + create_timer + update + end + #-------------------------------------------------------------------------- + # * Create Viewport + #-------------------------------------------------------------------------- + def create_viewports + @viewport1 = Viewport.new + @viewport2 = Viewport.new + @viewport3 = Viewport.new + @viewport2.z = 50 + @viewport3.z = 100 + end + #-------------------------------------------------------------------------- + # * Create Battle Background (Floor) Sprite + #-------------------------------------------------------------------------- + def create_battleback1 + @back1_sprite = Sprite.new(@viewport1) + @back1_sprite.bitmap = battleback1_bitmap + @back1_sprite.z = 0 + center_sprite(@back1_sprite) + end + #-------------------------------------------------------------------------- + # * Create Battle Background (Wall) Sprite + #-------------------------------------------------------------------------- + def create_battleback2 + @back2_sprite = Sprite.new(@viewport1) + @back2_sprite.bitmap = battleback2_bitmap + @back2_sprite.z = 1 + center_sprite(@back2_sprite) + end + #-------------------------------------------------------------------------- + # * Get Battle Background (Floor) Bitmap + #-------------------------------------------------------------------------- + def battleback1_bitmap + if battleback1_name + Cache.battleback1(battleback1_name) + else + create_blurry_background_bitmap + end + end + #-------------------------------------------------------------------------- + # * Get Battle Background (Wall) Bitmap + #-------------------------------------------------------------------------- + def battleback2_bitmap + if battleback2_name + Cache.battleback2(battleback2_name) + else + Bitmap.new(1, 1) + end + end + #-------------------------------------------------------------------------- + # * Create Battle Background Bitmap from Processed Map Screen + #-------------------------------------------------------------------------- + def create_blurry_background_bitmap + source = SceneManager.background_bitmap + bitmap = Bitmap.new(640, 480) + bitmap.stretch_blt(bitmap.rect, source, source.rect) + bitmap.radial_blur(120, 16) + bitmap + end + #-------------------------------------------------------------------------- + # * Get Filename of Battle Background (Floor) + #-------------------------------------------------------------------------- + def battleback1_name + if $BTEST + $data_system.battleback1_name + elsif $game_map.battleback1_name + $game_map.battleback1_name + elsif $game_map.overworld? + overworld_battleback1_name + end + end + #-------------------------------------------------------------------------- + # * Get Filename of Battle Background (Wall) + #-------------------------------------------------------------------------- + def battleback2_name + if $BTEST + $data_system.battleback2_name + elsif $game_map.battleback2_name + $game_map.battleback2_name + elsif $game_map.overworld? + overworld_battleback2_name + end + end + #-------------------------------------------------------------------------- + # * Get Filename of Field Battle Background (Floor) + #-------------------------------------------------------------------------- + def overworld_battleback1_name + $game_player.vehicle ? ship_battleback1_name : normal_battleback1_name + end + #-------------------------------------------------------------------------- + # * Get Filename of Field Battle Background (Wall) + #-------------------------------------------------------------------------- + def overworld_battleback2_name + $game_player.vehicle ? ship_battleback2_name : normal_battleback2_name + end + #-------------------------------------------------------------------------- + # * Get Filename of Normal Battle Background (Floor) + #-------------------------------------------------------------------------- + def normal_battleback1_name + terrain_battleback1_name(autotile_type(1)) || + terrain_battleback1_name(autotile_type(0)) || + default_battleback1_name + end + #-------------------------------------------------------------------------- + # * Get Filename of Normal Battle Background (Wall) + #-------------------------------------------------------------------------- + def normal_battleback2_name + terrain_battleback2_name(autotile_type(1)) || + terrain_battleback2_name(autotile_type(0)) || + default_battleback2_name + end + #-------------------------------------------------------------------------- + # * Get Filename of Battle Background (Floor) Corresponding to Terrain + #-------------------------------------------------------------------------- + def terrain_battleback1_name(type) + case type + when 24,25 # Wasteland + "Wasteland" + when 26,27 # Dirt field + "DirtField" + when 32,33 # Desert + "Desert" + when 34 # Rocks + "Lava1" + when 35 # Rocks (lava) + "Lava2" + when 40,41 # Snowfield + "Snowfield" + when 42 # Clouds + "Clouds" + when 4,5 # Poisonous swamp + "PoisonSwamp" + end + end + #-------------------------------------------------------------------------- + # * Get Filename of Battle Background (Wall) Corresponding to Terrain + #-------------------------------------------------------------------------- + def terrain_battleback2_name(type) + case type + when 20,21 # Forest + "Forest1" + when 22,30,38 # Low hill + "Cliff" + when 24,25,26,27 # Wasteland, dirt field + "Wasteland" + when 32,33 # Desert + "Desert" + when 34,35 # Rocks + "Lava" + when 40,41 # Snowfield + "Snowfield" + when 42 # Clouds + "Clouds" + when 4,5 # Poisonous swamp + "PoisonSwamp" + end + end + #-------------------------------------------------------------------------- + # * Get Filename of Default Battle Background (Floor) + #-------------------------------------------------------------------------- + def default_battleback1_name + "Grassland" + end + #-------------------------------------------------------------------------- + # * Get Filename of Default Battle Background (Wall) + #-------------------------------------------------------------------------- + def default_battleback2_name + "Grassland" + end + #-------------------------------------------------------------------------- + # * Get Filename of Battle Background (Floor) When on Ship + #-------------------------------------------------------------------------- + def ship_battleback1_name + "Ship" + end + #-------------------------------------------------------------------------- + # * Get Filename of Battle Background (Wall) When on Ship + #-------------------------------------------------------------------------- + def ship_battleback2_name + "Ship" + end + #-------------------------------------------------------------------------- + # * Get Type of Auto Tile at Player's Feet + #-------------------------------------------------------------------------- + def autotile_type(z) + $game_map.autotile_type($game_player.x, $game_player.y, z) + end + #-------------------------------------------------------------------------- + # * Move Sprite to Screen Center + #-------------------------------------------------------------------------- + def center_sprite(sprite) + sprite.ox = sprite.bitmap.width / 2 + sprite.oy = sprite.bitmap.height / 2 + sprite.x = Graphics.width / 2 + sprite.y = Graphics.height / 2 + end + #-------------------------------------------------------------------------- + # * Create Enemy Sprite + #-------------------------------------------------------------------------- + def create_enemies + @enemy_sprites = $game_troop.members.reverse.collect do |enemy| + Sprite_Battler.new(@viewport1, enemy) + end + end + #-------------------------------------------------------------------------- + # * Create Actor Sprite + # By default, the actor image is not displayed, but for convenience + # a dummy sprite is created for treating enemies and allies the same. + #-------------------------------------------------------------------------- + def create_actors + @actor_sprites = Array.new(4) { Sprite_Battler.new(@viewport1) } + end + #-------------------------------------------------------------------------- + # * Create Picture Sprite + # Create an empty array in the initial state and then add to it as + # necessary. + #-------------------------------------------------------------------------- + def create_pictures + @picture_sprites = [] + end + #-------------------------------------------------------------------------- + # * Create Timer Sprite + #-------------------------------------------------------------------------- + def create_timer + @timer_sprite = Sprite_Timer.new(@viewport2) + end + #-------------------------------------------------------------------------- + # * Free + #-------------------------------------------------------------------------- + def dispose + dispose_battleback1 + dispose_battleback2 + dispose_enemies + dispose_actors + dispose_pictures + dispose_timer + dispose_viewports + end + #-------------------------------------------------------------------------- + # * Free Battle Background (Floor) Sprite + #-------------------------------------------------------------------------- + def dispose_battleback1 + @back1_sprite.bitmap.dispose + @back1_sprite.dispose + end + #-------------------------------------------------------------------------- + # * Free Battle Background (Wall) Sprite + #-------------------------------------------------------------------------- + def dispose_battleback2 + @back2_sprite.bitmap.dispose + @back2_sprite.dispose + end + #-------------------------------------------------------------------------- + # * Free Enemy Sprite + #-------------------------------------------------------------------------- + def dispose_enemies + @enemy_sprites.each {|sprite| sprite.dispose } + end + #-------------------------------------------------------------------------- + # * Free Actor Sprite + #-------------------------------------------------------------------------- + def dispose_actors + @actor_sprites.each {|sprite| sprite.dispose } + end + #-------------------------------------------------------------------------- + # * Free Picture Sprite + #-------------------------------------------------------------------------- + def dispose_pictures + @picture_sprites.compact.each {|sprite| sprite.dispose } + end + #-------------------------------------------------------------------------- + # * Free Timer Sprite + #-------------------------------------------------------------------------- + def dispose_timer + @timer_sprite.dispose + end + #-------------------------------------------------------------------------- + # * Free Viewport + #-------------------------------------------------------------------------- + def dispose_viewports + @viewport1.dispose + @viewport2.dispose + @viewport3.dispose + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + update_battleback1 + update_battleback2 + update_enemies + update_actors + update_pictures + update_timer + update_viewports + end + #-------------------------------------------------------------------------- + # * Update Battle Background (Floor) Sprite + #-------------------------------------------------------------------------- + def update_battleback1 + @back1_sprite.update + end + #-------------------------------------------------------------------------- + # * Update Battle Background (Wall) Sprite + #-------------------------------------------------------------------------- + def update_battleback2 + @back2_sprite.update + end + #-------------------------------------------------------------------------- + # * Update Enemy Sprite + #-------------------------------------------------------------------------- + def update_enemies + @enemy_sprites.each {|sprite| sprite.update } + end + #-------------------------------------------------------------------------- + # * Update Actor Sprite + #-------------------------------------------------------------------------- + def update_actors + @actor_sprites.each_with_index do |sprite, i| + sprite.battler = $game_party.members[i] + sprite.update + end + end + #-------------------------------------------------------------------------- + # *Update Picture Sprite + #-------------------------------------------------------------------------- + def update_pictures + $game_troop.screen.pictures.each do |pic| + @picture_sprites[pic.number] ||= Sprite_Picture.new(@viewport2, pic) + @picture_sprites[pic.number].update + end + end + #-------------------------------------------------------------------------- + # * Update Timer Sprite + #-------------------------------------------------------------------------- + def update_timer + @timer_sprite.update + end + #-------------------------------------------------------------------------- + # * Update Viewport + #-------------------------------------------------------------------------- + def update_viewports + @viewport1.tone.set($game_troop.screen.tone) + @viewport1.ox = $game_troop.screen.shake + @viewport2.color.set($game_troop.screen.flash_color) + @viewport3.color.set(0, 0, 0, 255 - $game_troop.screen.brightness) + @viewport1.update + @viewport2.update + @viewport3.update + end + #-------------------------------------------------------------------------- + # * Get Enemy and Actor Sprites + #-------------------------------------------------------------------------- + def battler_sprites + @enemy_sprites + @actor_sprites + end + #-------------------------------------------------------------------------- + # * Determine if Animation is Being Displayed + #-------------------------------------------------------------------------- + def animation? + battler_sprites.any? {|sprite| sprite.animation? } + end + #-------------------------------------------------------------------------- + # * Determine if Effect Is Executing + #-------------------------------------------------------------------------- + def effect? + battler_sprites.any? {|sprite| sprite.effect? } + end +end diff --git a/Scripts/RPG/Spriteset_Map.rb b/Scripts/RPG/Spriteset_Map.rb new file mode 100644 index 0000000..1a2b698 --- /dev/null +++ b/Scripts/RPG/Spriteset_Map.rb @@ -0,0 +1,274 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Spriteset_Map +#------------------------------------------------------------------------------ +# This class brings together map screen sprites, tilemaps, etc. It's used +# within the Scene_Map class. +#============================================================================== + +class Spriteset_Map + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + create_viewports + create_tilemap + create_parallax + create_characters + create_shadow + create_weather + create_pictures + create_timer + update + end + #-------------------------------------------------------------------------- + # * Create Viewport + #-------------------------------------------------------------------------- + def create_viewports + @viewport1 = Viewport.new + @viewport2 = Viewport.new + @viewport3 = Viewport.new + @viewport2.z = 50 + @viewport3.z = 100 + end + #-------------------------------------------------------------------------- + # * Create Tilemap + #-------------------------------------------------------------------------- + def create_tilemap + @tilemap = Tilemap.new(@viewport1) + @tilemap.map_data = $game_map.data + load_tileset + end + #-------------------------------------------------------------------------- + # * Load Tileset + #-------------------------------------------------------------------------- + def load_tileset + @tileset = $game_map.tileset + @tileset.tileset_names.each_with_index do |name, i| + @tilemap.bitmaps[i] = Cache.tileset(name) + end + @tilemap.flags = @tileset.flags + end + #-------------------------------------------------------------------------- + # * Create Parallax + #-------------------------------------------------------------------------- + def create_parallax + @parallax = Plane.new(@viewport1) + @parallax.z = -100 + end + #-------------------------------------------------------------------------- + # * Create Character Sprite + #-------------------------------------------------------------------------- + def create_characters + @character_sprites = [] + $game_map.events.values.each do |event| + @character_sprites.push(Sprite_Character.new(@viewport1, event)) + end + $game_map.vehicles.each do |vehicle| + @character_sprites.push(Sprite_Character.new(@viewport1, vehicle)) + end + $game_player.followers.reverse_each do |follower| + @character_sprites.push(Sprite_Character.new(@viewport1, follower)) + end + @character_sprites.push(Sprite_Character.new(@viewport1, $game_player)) + @map_id = $game_map.map_id + end + #-------------------------------------------------------------------------- + # * Create Airship Shadow Sprite + #-------------------------------------------------------------------------- + def create_shadow + @shadow_sprite = Sprite.new(@viewport1) + @shadow_sprite.bitmap = Cache.system("Shadow") + @shadow_sprite.ox = @shadow_sprite.bitmap.width / 2 + @shadow_sprite.oy = @shadow_sprite.bitmap.height + @shadow_sprite.z = 180 + end + #-------------------------------------------------------------------------- + # * Create Weather + #-------------------------------------------------------------------------- + def create_weather + @weather = Spriteset_Weather.new(@viewport2) + end + #-------------------------------------------------------------------------- + # * Create Picture Sprite + #-------------------------------------------------------------------------- + def create_pictures + @picture_sprites = [] + end + #-------------------------------------------------------------------------- + # * Create Timer Sprite + #-------------------------------------------------------------------------- + def create_timer + @timer_sprite = Sprite_Timer.new(@viewport2) + end + #-------------------------------------------------------------------------- + # * Free + #-------------------------------------------------------------------------- + def dispose + dispose_tilemap + dispose_parallax + dispose_characters + dispose_shadow + dispose_weather + dispose_pictures + dispose_timer + dispose_viewports + end + #-------------------------------------------------------------------------- + # * Free Tilemap + #-------------------------------------------------------------------------- + def dispose_tilemap + @tilemap.dispose + end + #-------------------------------------------------------------------------- + # * Free Parallax + #-------------------------------------------------------------------------- + def dispose_parallax + @parallax.bitmap.dispose if @parallax.bitmap + @parallax.dispose + end + #-------------------------------------------------------------------------- + # * Free Character Sprite + #-------------------------------------------------------------------------- + def dispose_characters + @character_sprites.each {|sprite| sprite.dispose } + end + #-------------------------------------------------------------------------- + # * Free Airship Shadow Sprite + #-------------------------------------------------------------------------- + def dispose_shadow + @shadow_sprite.dispose + end + #-------------------------------------------------------------------------- + # * Free Weather + #-------------------------------------------------------------------------- + def dispose_weather + @weather.dispose + end + #-------------------------------------------------------------------------- + # * Free Picture Sprite + #-------------------------------------------------------------------------- + def dispose_pictures + @picture_sprites.compact.each {|sprite| sprite.dispose } + end + #-------------------------------------------------------------------------- + # * Free Timer Sprite + #-------------------------------------------------------------------------- + def dispose_timer + @timer_sprite.dispose + end + #-------------------------------------------------------------------------- + # * Free Viewport + #-------------------------------------------------------------------------- + def dispose_viewports + @viewport1.dispose + @viewport2.dispose + @viewport3.dispose + end + #-------------------------------------------------------------------------- + # * Refresh Characters + #-------------------------------------------------------------------------- + def refresh_characters + dispose_characters + create_characters + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + update_tileset + update_tilemap + update_parallax + update_characters + update_shadow + update_weather + update_pictures + update_timer + update_viewports + end + #-------------------------------------------------------------------------- + # * Update Tileset + #-------------------------------------------------------------------------- + def update_tileset + if @tileset != $game_map.tileset + load_tileset + refresh_characters + end + end + #-------------------------------------------------------------------------- + # * Update Tilemap + #-------------------------------------------------------------------------- + def update_tilemap + @tilemap.map_data = $game_map.data + @tilemap.ox = $game_map.display_x * 32 + @tilemap.oy = $game_map.display_y * 32 + @tilemap.update + end + #-------------------------------------------------------------------------- + # * Update Parallax + #-------------------------------------------------------------------------- + def update_parallax + if @parallax_name != $game_map.parallax_name + @parallax_name = $game_map.parallax_name + @parallax.bitmap.dispose if @parallax.bitmap + @parallax.bitmap = Cache.parallax(@parallax_name) + Graphics.frame_reset + end + @parallax.ox = $game_map.parallax_ox(@parallax.bitmap) + @parallax.oy = $game_map.parallax_oy(@parallax.bitmap) + end + #-------------------------------------------------------------------------- + # * Update Character Sprite + #-------------------------------------------------------------------------- + def update_characters + refresh_characters if @map_id != $game_map.map_id + @character_sprites.each {|sprite| sprite.update } + end + #-------------------------------------------------------------------------- + # * Update Airship Shadow Sprite + #-------------------------------------------------------------------------- + def update_shadow + airship = $game_map.airship + @shadow_sprite.x = airship.screen_x + @shadow_sprite.y = airship.screen_y + airship.altitude + @shadow_sprite.opacity = airship.altitude * 8 + @shadow_sprite.update + end + #-------------------------------------------------------------------------- + # * Update Weather + #-------------------------------------------------------------------------- + def update_weather + @weather.type = $game_map.screen.weather_type + @weather.power = $game_map.screen.weather_power + @weather.ox = $game_map.display_x * 32 + @weather.oy = $game_map.display_y * 32 + @weather.update + end + #-------------------------------------------------------------------------- + # *Update Picture Sprite + #-------------------------------------------------------------------------- + def update_pictures + $game_map.screen.pictures.each do |pic| + @picture_sprites[pic.number] ||= Sprite_Picture.new(@viewport2, pic) + @picture_sprites[pic.number].update + end + end + #-------------------------------------------------------------------------- + # * Update Timer Sprite + #-------------------------------------------------------------------------- + def update_timer + @timer_sprite.update + end + #-------------------------------------------------------------------------- + # * Update Viewport + #-------------------------------------------------------------------------- + def update_viewports + @viewport1.tone.set($game_map.screen.tone) + @viewport1.ox = $game_map.screen.shake + @viewport2.color.set($game_map.screen.flash_color) + @viewport3.color.set(0, 0, 0, 255 - $game_map.screen.brightness) + @viewport1.update + @viewport2.update + @viewport3.update + end +end diff --git a/Scripts/RPG/Spriteset_Weather.rb b/Scripts/RPG/Spriteset_Weather.rb new file mode 100644 index 0000000..af3e520 --- /dev/null +++ b/Scripts/RPG/Spriteset_Weather.rb @@ -0,0 +1,185 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Spriteset_Weather +#------------------------------------------------------------------------------ +# A class for weather effects (rain, storm, and snow). It is used within the +# Spriteset_Map class. +#============================================================================== + +class Spriteset_Weather + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_accessor :type # Weather type + attr_accessor :ox # X coordinate of origin + attr_accessor :oy # Y coordinate of orgin + attr_reader :power # Intensity + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(viewport = nil) + @viewport = viewport + init_members + create_rain_bitmap + create_storm_bitmap + create_snow_bitmap + end + #-------------------------------------------------------------------------- + # * Initialize Member Variables + #-------------------------------------------------------------------------- + def init_members + @type = :none + @ox = 0 + @oy = 0 + @power = 0 + @sprites = [] + end + #-------------------------------------------------------------------------- + # * Free + #-------------------------------------------------------------------------- + def dispose + @sprites.each {|sprite| sprite.dispose } + @rain_bitmap.dispose + @storm_bitmap.dispose + @snow_bitmap.dispose + end + #-------------------------------------------------------------------------- + # * Particle Color 1 + #-------------------------------------------------------------------------- + def particle_color1 + Color.new(255, 255, 255, 192) + end + #-------------------------------------------------------------------------- + # * Particle Color 2 + #-------------------------------------------------------------------------- + def particle_color2 + Color.new(255, 255, 255, 96) + end + #-------------------------------------------------------------------------- + # * Create [Rain] Weather Bitmap + #-------------------------------------------------------------------------- + def create_rain_bitmap + @rain_bitmap = Bitmap.new(7, 42) + 7.times {|i| @rain_bitmap.fill_rect(6-i, i*6, 1, 6, particle_color1) } + end + #-------------------------------------------------------------------------- + # * Create [Storm] Weather Bitmap + #-------------------------------------------------------------------------- + def create_storm_bitmap + @storm_bitmap = Bitmap.new(34, 64) + 32.times do |i| + @storm_bitmap.fill_rect(33-i, i*2, 1, 2, particle_color2) + @storm_bitmap.fill_rect(32-i, i*2, 1, 2, particle_color1) + @storm_bitmap.fill_rect(31-i, i*2, 1, 2, particle_color2) + end + end + #-------------------------------------------------------------------------- + # * Create [Snow] Weather Bitmap + #-------------------------------------------------------------------------- + def create_snow_bitmap + @snow_bitmap = Bitmap.new(6, 6) + @snow_bitmap.fill_rect(0, 1, 6, 4, particle_color2) + @snow_bitmap.fill_rect(1, 0, 4, 6, particle_color2) + @snow_bitmap.fill_rect(1, 2, 4, 2, particle_color1) + @snow_bitmap.fill_rect(2, 1, 2, 4, particle_color1) + end + #-------------------------------------------------------------------------- + # * Set Weather Intensity + #-------------------------------------------------------------------------- + def power=(power) + @power = power + (sprite_max - @sprites.size).times { add_sprite } + (@sprites.size - sprite_max).times { remove_sprite } + end + #-------------------------------------------------------------------------- + # * Get Maximum Number of Sprites + #-------------------------------------------------------------------------- + def sprite_max + (@power * 10).to_i + end + #-------------------------------------------------------------------------- + # * Add Sprite + #-------------------------------------------------------------------------- + def add_sprite + sprite = Sprite.new(@viewport) + sprite.opacity = 0 + @sprites.push(sprite) + end + #-------------------------------------------------------------------------- + # * Delete Sprite + #-------------------------------------------------------------------------- + def remove_sprite + sprite = @sprites.pop + sprite.dispose if sprite + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + update_screen + @sprites.each {|sprite| update_sprite(sprite) } + end + #-------------------------------------------------------------------------- + # * Update Screen + #-------------------------------------------------------------------------- + def update_screen + @viewport.tone.set(-dimness, -dimness, -dimness) + end + #-------------------------------------------------------------------------- + # * Get Dimness + #-------------------------------------------------------------------------- + def dimness + (@power * 6).to_i + end + #-------------------------------------------------------------------------- + # * Update Sprite + #-------------------------------------------------------------------------- + def update_sprite(sprite) + sprite.ox = @ox + sprite.oy = @oy + case @type + when :rain + update_sprite_rain(sprite) + when :storm + update_sprite_storm(sprite) + when :snow + update_sprite_snow(sprite) + end + create_new_particle(sprite) if sprite.opacity < 64 + end + #-------------------------------------------------------------------------- + # * Update Sprite [Rain] + #-------------------------------------------------------------------------- + def update_sprite_rain(sprite) + sprite.bitmap = @rain_bitmap + sprite.x -= 1 + sprite.y += 6 + sprite.opacity -= 12 + end + #-------------------------------------------------------------------------- + # * Update Sprite [Storm] + #-------------------------------------------------------------------------- + def update_sprite_storm(sprite) + sprite.bitmap = @storm_bitmap + sprite.x -= 3 + sprite.y += 6 + sprite.opacity -= 12 + end + #-------------------------------------------------------------------------- + # * Update Sprite [Snow] + #-------------------------------------------------------------------------- + def update_sprite_snow(sprite) + sprite.bitmap = @snow_bitmap + sprite.x -= 1 + sprite.y += 3 + sprite.opacity -= 12 + end + #-------------------------------------------------------------------------- + # * Create New Particle + #-------------------------------------------------------------------------- + def create_new_particle(sprite) + sprite.x = rand(Graphics.width + 100) - 100 + @ox + sprite.y = rand(Graphics.height + 200) - 200 + @oy + sprite.opacity = 160 + rand(96) + end +end diff --git a/Scripts/RPG/Vocab.rb b/Scripts/RPG/Vocab.rb new file mode 100644 index 0000000..13381d7 --- /dev/null +++ b/Scripts/RPG/Vocab.rb @@ -0,0 +1,146 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Vocab +#------------------------------------------------------------------------------ +# This module defines terms and messages. It defines some data as constant +# variables. Terms in the database are obtained from $data_system. +#============================================================================== + +module Vocab + + # Shop Screen + ShopBuy = "Buy" + ShopSell = "Sell" + ShopCancel = "Cancel" + Possession = "Possession" + + # Status Screen + ExpTotal = "Current Exp" + ExpNext = "To Next %s" + + # Save/Load Screen + SaveMessage = "Save to which file?" + LoadMessage = "Load which file?" + File = "File" + + # Display when there are multiple members + PartyName = "%s's Party" + + # Basic Battle Messages + Emerge = "%s emerged!" + Preemptive = "%s got the upper hand!" + Surprise = "%s was surprised!" + EscapeStart = "%s has started to escape!" + EscapeFailure = "However, it was unable to escape!" + + # Battle Ending Messages + Victory = "%s was victorious!" + Defeat = "%s was defeated." + ObtainExp = "%s EXP received!" + ObtainGold = "%s\\G found!" + ObtainItem = "%s found!" + LevelUp = "%s is now %s %s!" + ObtainSkill = "%s learned!" + + # Use Item + UseItem = "%s uses %s!" + + # Critical Hit + CriticalToEnemy = "An excellent hit!!" + CriticalToActor = "A painful blow!!" + + # Results for Actions on Actors + ActorDamage = "%s took %s damage!" + ActorRecovery = "%s recovered %s %s!" + ActorGain = "%s gained %s %s!" + ActorLoss = "%s lost %s %s!" + ActorDrain = "%s was drained of %s %s!" + ActorNoDamage = "%s took no damage!" + ActorNoHit = "Miss! %s took no damage!" + + # Results for Actions on Enemies + EnemyDamage = "%s took %s damage!" + EnemyRecovery = "%s recovered %s %s!" + EnemyGain = "%s gained %s %s!" + EnemyLoss = "%s lost %s %s!" + EnemyDrain = "Drained %s %s from %s!" + EnemyNoDamage = "%s took no damage!" + EnemyNoHit = "Missed! %s took no damage!" + + # Evasion/Reflection + Evasion = "%s evaded the attack!" + MagicEvasion = "%s nullified the magic!" + MagicReflection = "%s reflected the magic!" + CounterAttack = "%s counterattacked!" + Substitute = "%s protected %s!" + + # Buff/Debuff + BuffAdd = "%s's %s went up!" + DebuffAdd = "%s's %s went down!" + BuffRemove = "%s's %s returned to normal." + + # Skill or Item Had No Effect + ActionFailure = "There was no effect on %s!" + + # Error Message + PlayerPosError = "Player's starting position is not set." + EventOverflow = "Common event calls exceeded the limit." + + # Basic Status + def self.basic(basic_id) + $data_system.terms.basic[basic_id] + end + + # Parameters + def self.param(param_id) + $data_system.terms.params[param_id] + end + + # Equip Type + def self.etype(etype_id) + $data_system.terms.etypes[etype_id] + end + + # Commands + def self.command(command_id) + $data_system.terms.commands[command_id] + end + + # Currency Unit + def self.currency_unit + $data_system.currency_unit + end + + #-------------------------------------------------------------------------- + def self.level; basic(0); end # Level + def self.level_a; basic(1); end # Level (short) + def self.hp; basic(2); end # HP + def self.hp_a; basic(3); end # HP (short) + def self.mp; basic(4); end # MP + def self.mp_a; basic(5); end # MP (short) + def self.tp; basic(6); end # TP + def self.tp_a; basic(7); end # TP (short) + def self.fight; command(0); end # Fight + def self.escape; command(1); end # Escape + def self.attack; command(2); end # Attack + def self.guard; command(3); end # Guard + def self.item; command(4); end # Items + def self.skill; command(5); end # Skills + def self.equip; command(6); end # Equip + def self.status; command(7); end # Status + def self.formation; command(8); end # Change Formation + def self.save; command(9); end # Save + def self.game_end; command(10); end # Exit Game + def self.weapon; command(12); end # Weapons + def self.armor; command(13); end # Armor + def self.key_item; command(14); end # Key Items + def self.equip2; command(15); end # Change Equipment + def self.optimize; command(16); end # Ultimate Equipment + def self.clear; command(17); end # Remove All + def self.new_game; command(18); end # New Game + def self.continue; command(19); end # Continue + def self.shutdown; command(20); end # Shut Down + def self.to_title; command(21); end # Go to Title + def self.cancel; command(22); end # Cancel + #-------------------------------------------------------------------------- +end diff --git a/Scripts/RPG/Window_ActorCommand.rb b/Scripts/RPG/Window_ActorCommand.rb new file mode 100644 index 0000000..84f0b38 --- /dev/null +++ b/Scripts/RPG/Window_ActorCommand.rb @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_ActorCommand +#------------------------------------------------------------------------------ +# This window is for selecting an actor's action on the battle screen. +#============================================================================== + +class Window_ActorCommand < Window_Command + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0) + self.openness = 0 + deactivate + @actor = nil + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 128 + end + #-------------------------------------------------------------------------- + # * Get Number of Lines to Show + #-------------------------------------------------------------------------- + def visible_line_number + return 4 + end + #-------------------------------------------------------------------------- + # * Create Command List + #-------------------------------------------------------------------------- + def make_command_list + return unless @actor + add_attack_command + add_skill_commands + add_guard_command + add_item_command + end + #-------------------------------------------------------------------------- + # * Add Attack Command to List + #-------------------------------------------------------------------------- + def add_attack_command + add_command(Vocab::attack, :attack, @actor.attack_usable?) + end + #-------------------------------------------------------------------------- + # * Add Skill Command to List + #-------------------------------------------------------------------------- + def add_skill_commands + @actor.added_skill_types.sort.each do |stype_id| + name = $data_system.skill_types[stype_id] + add_command(name, :skill, true, stype_id) + end + end + #-------------------------------------------------------------------------- + # * Add Guard Command to List + #-------------------------------------------------------------------------- + def add_guard_command + add_command(Vocab::guard, :guard, @actor.guard_usable?) + end + #-------------------------------------------------------------------------- + # * Add Item Command to List + #-------------------------------------------------------------------------- + def add_item_command + add_command(Vocab::item, :item) + end + #-------------------------------------------------------------------------- + # * Setup + #-------------------------------------------------------------------------- + def setup(actor) + @actor = actor + clear_command_list + make_command_list + refresh + select(0) + activate + open + end +end diff --git a/Scripts/RPG/Window_Base.rb b/Scripts/RPG/Window_Base.rb new file mode 100644 index 0000000..50594bd --- /dev/null +++ b/Scripts/RPG/Window_Base.rb @@ -0,0 +1,572 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_Base +#------------------------------------------------------------------------------ +# This is a super class of all windows within the game. +#============================================================================== + +class Window_Base < Window + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y, width, height) + super + self.windowskin = Cache.system("Window") + update_padding + update_tone + create_contents + @opening = @closing = false + end + #-------------------------------------------------------------------------- + # * Free + #-------------------------------------------------------------------------- + def dispose + contents.dispose unless disposed? + super + end + #-------------------------------------------------------------------------- + # * Get Line Height + #-------------------------------------------------------------------------- + def line_height + return 24 + end + #-------------------------------------------------------------------------- + # * Get Standard Padding Size + #-------------------------------------------------------------------------- + def standard_padding + return 12 + end + #-------------------------------------------------------------------------- + # * Update Padding + #-------------------------------------------------------------------------- + def update_padding + self.padding = standard_padding + end + #-------------------------------------------------------------------------- + # * Calculate Width of Window Contents + #-------------------------------------------------------------------------- + def contents_width + width - standard_padding * 2 + end + #-------------------------------------------------------------------------- + # * Calculate Height of Window Contents + #-------------------------------------------------------------------------- + def contents_height + height - standard_padding * 2 + end + #-------------------------------------------------------------------------- + # * Calculate Height of Window Suited to Specified Number of Lines + #-------------------------------------------------------------------------- + def fitting_height(line_number) + line_number * line_height + standard_padding * 2 + end + #-------------------------------------------------------------------------- + # * Update Tone + #-------------------------------------------------------------------------- + def update_tone + self.tone.set($game_system.window_tone) + end + #-------------------------------------------------------------------------- + # * Create Window Contents + #-------------------------------------------------------------------------- + def create_contents + contents.dispose + if contents_width > 0 && contents_height > 0 + self.contents = Bitmap.new(contents_width, contents_height) + else + self.contents = Bitmap.new(1, 1) + end + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + update_tone + update_open if @opening + update_close if @closing + end + #-------------------------------------------------------------------------- + # * Update Open Processing + #-------------------------------------------------------------------------- + def update_open + self.openness += 48 + @opening = false if open? + end + #-------------------------------------------------------------------------- + # * Update Close Processing + #-------------------------------------------------------------------------- + def update_close + self.openness -= 48 + @closing = false if close? + end + #-------------------------------------------------------------------------- + # * Open Window + #-------------------------------------------------------------------------- + def open + @opening = true unless open? + @closing = false + self + end + #-------------------------------------------------------------------------- + # * Close Window + #-------------------------------------------------------------------------- + def close + @closing = true unless close? + @opening = false + self + end + #-------------------------------------------------------------------------- + # * Show Window + #-------------------------------------------------------------------------- + def show + self.visible = true + self + end + #-------------------------------------------------------------------------- + # * Hide Window + #-------------------------------------------------------------------------- + def hide + self.visible = false + self + end + #-------------------------------------------------------------------------- + # * Activate Window + #-------------------------------------------------------------------------- + def activate + self.active = true + self + end + #-------------------------------------------------------------------------- + # * Deactivate Window + #-------------------------------------------------------------------------- + def deactivate + self.active = false + self + end + #-------------------------------------------------------------------------- + # * Get Text Color + # n : Text color number (0..31) + #-------------------------------------------------------------------------- + def text_color(n) + windowskin.get_pixel(64 + (n % 8) * 8, 96 + (n / 8) * 8) + end + #-------------------------------------------------------------------------- + # * Get Text Colors + #-------------------------------------------------------------------------- + def normal_color; text_color(0); end; # Normal + def system_color; text_color(16); end; # System + def crisis_color; text_color(17); end; # Crisis + def knockout_color; text_color(18); end; # Knock out + def gauge_back_color; text_color(19); end; # Gauge background + def hp_gauge_color1; text_color(20); end; # HP gauge 1 + def hp_gauge_color2; text_color(21); end; # HP gauge 2 + def mp_gauge_color1; text_color(22); end; # MP gauge 1 + def mp_gauge_color2; text_color(23); end; # MP gauge 2 + def mp_cost_color; text_color(23); end; # TP cost + def power_up_color; text_color(24); end; # Equipment power up + def power_down_color; text_color(25); end; # Equipment power down + def tp_gauge_color1; text_color(28); end; # TP gauge 1 + def tp_gauge_color2; text_color(29); end; # TP gauge 2 + def tp_cost_color; text_color(29); end; # TP cost + #-------------------------------------------------------------------------- + # * Get Background Color of Pending Item + #-------------------------------------------------------------------------- + def pending_color + windowskin.get_pixel(80, 80) + end + #-------------------------------------------------------------------------- + # * Get Alpha Value of Translucent Drawing + #-------------------------------------------------------------------------- + def translucent_alpha + return 160 + end + #-------------------------------------------------------------------------- + # * Change Text Drawing Color + # enabled : Enabled flag. When false, draw semi-transparently. + #-------------------------------------------------------------------------- + def change_color(color, enabled = true) + contents.font.color.set(color) + contents.font.color.alpha = translucent_alpha unless enabled + end + #-------------------------------------------------------------------------- + # * Draw Text + # args : Same as Bitmap#draw_text. + #-------------------------------------------------------------------------- + def draw_text(*args) + contents.draw_text(*args) + end + #-------------------------------------------------------------------------- + # * Get Text Size + #-------------------------------------------------------------------------- + def text_size(str) + contents.text_size(str) + end + #-------------------------------------------------------------------------- + # * Draw Text with Control Characters + #-------------------------------------------------------------------------- + def draw_text_ex(x, y, text) + reset_font_settings + text = convert_escape_characters(text) + pos = {:x => x, :y => y, :new_x => x, :height => calc_line_height(text)} + process_character(text.slice!(0, 1), text, pos) until text.empty? + end + #-------------------------------------------------------------------------- + # * Reset Font Settings + #-------------------------------------------------------------------------- + def reset_font_settings + change_color(normal_color) + contents.font.size = Font.default_size + contents.font.bold = Font.default_bold + contents.font.italic = Font.default_italic + end + #-------------------------------------------------------------------------- + # * Preconvert Control Characters + # As a rule, replace only what will be changed into text strings before + # starting actual drawing. The character "\" is replaced with the escape + # character (\e). + #-------------------------------------------------------------------------- + def convert_escape_characters(text) + result = text.to_s.clone + result.gsub!(/\\/) { "\e" } + result.gsub!(/\e\e/) { "\\" } + result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] } + result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] } + result.gsub!(/\eN\[(\d+)\]/i) { actor_name($1.to_i) } + result.gsub!(/\eP\[(\d+)\]/i) { party_member_name($1.to_i) } + result.gsub!(/\eG/i) { Vocab::currency_unit } + result + end + #-------------------------------------------------------------------------- + # * Get Name of Actor Number n + #-------------------------------------------------------------------------- + def actor_name(n) + actor = n >= 1 ? $game_actors[n] : nil + actor ? actor.name : "" + end + #-------------------------------------------------------------------------- + # * Get Name of Party Member n + #-------------------------------------------------------------------------- + def party_member_name(n) + actor = n >= 1 ? $game_party.members[n - 1] : nil + actor ? actor.name : "" + end + #-------------------------------------------------------------------------- + # * Character Processing + # c : Characters + # text : A character string buffer in drawing processing (destructive) + # pos : Draw position {:x, :y, :new_x, :height} + #-------------------------------------------------------------------------- + def process_character(c, text, pos) + case c + when "\n" # New line + process_new_line(text, pos) + when "\f" # New page + process_new_page(text, pos) + when "\e" # Control character + process_escape_character(obtain_escape_code(text), text, pos) + else # Normal character + process_normal_character(c, pos) + end + end + #-------------------------------------------------------------------------- + # * Normal Character Processing + #-------------------------------------------------------------------------- + def process_normal_character(c, pos) + text_width = text_size(c).width + draw_text(pos[:x], pos[:y], text_width * 2, pos[:height], c) + pos[:x] += text_width + end + #-------------------------------------------------------------------------- + # * New Line Character Processing + #-------------------------------------------------------------------------- + def process_new_line(text, pos) + pos[:x] = pos[:new_x] + pos[:y] += pos[:height] + pos[:height] = calc_line_height(text) + end + #-------------------------------------------------------------------------- + # * New Page Character Processing + #-------------------------------------------------------------------------- + def process_new_page(text, pos) + end + #-------------------------------------------------------------------------- + # * Destructively Get Control Code + #-------------------------------------------------------------------------- + def obtain_escape_code(text) + text.slice!(/^[\$\.\|\^!><\{\}\\]|^[A-Z]+/i) + end + #-------------------------------------------------------------------------- + # * Destructively Get Control Code Argument + #-------------------------------------------------------------------------- + def obtain_escape_param(text) + text.slice!(/^\[\d+\]/)[/\d+/].to_i rescue 0 + end + #-------------------------------------------------------------------------- + # * Control Character Processing + # code : the core of the control character + # e.g. "C" in the case of the control character \C[1]. + #-------------------------------------------------------------------------- + def process_escape_character(code, text, pos) + case code.upcase + when 'C' + change_color(text_color(obtain_escape_param(text))) + when 'I' + process_draw_icon(obtain_escape_param(text), pos) + when '{' + make_font_bigger + when '}' + make_font_smaller + end + end + #-------------------------------------------------------------------------- + # * Icon Drawing Process by Control Characters + #-------------------------------------------------------------------------- + def process_draw_icon(icon_index, pos) + draw_icon(icon_index, pos[:x], pos[:y]) + pos[:x] += 24 + end + #-------------------------------------------------------------------------- + # * Increase Font Size + #-------------------------------------------------------------------------- + def make_font_bigger + contents.font.size += 8 if contents.font.size <= 64 + end + #-------------------------------------------------------------------------- + # * Decrease Font Size + #-------------------------------------------------------------------------- + def make_font_smaller + contents.font.size -= 8 if contents.font.size >= 16 + end + #-------------------------------------------------------------------------- + # * Calculate Line Height + # restore_font_size : Return to original font size after calculating + #-------------------------------------------------------------------------- + def calc_line_height(text, restore_font_size = true) + result = [line_height, contents.font.size].max + last_font_size = contents.font.size + text.slice(/^.*$/).scan(/\e[\{\}]/).each do |esc| + make_font_bigger if esc == "\e{" + make_font_smaller if esc == "\e}" + result = [result, contents.font.size].max + end + contents.font.size = last_font_size if restore_font_size + result + end + #-------------------------------------------------------------------------- + # * Draw Gauge + # rate : Rate (full at 1.0) + # color1 : Left side gradation + # color2 : Right side gradation + #-------------------------------------------------------------------------- + def draw_gauge(x, y, width, rate, color1, color2) + fill_w = (width * rate).to_i + gauge_y = y + line_height - 8 + contents.fill_rect(x, gauge_y, width, 6, gauge_back_color) + contents.gradient_fill_rect(x, gauge_y, fill_w, 6, color1, color2) + end + #-------------------------------------------------------------------------- + # * Draw Icon + # enabled : Enabled flag. When false, draw semi-transparently. + #-------------------------------------------------------------------------- + def draw_icon(icon_index, x, y, enabled = true) + bitmap = Cache.system("Iconset") + rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24) + contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha) + end + #-------------------------------------------------------------------------- + # * Draw Face Graphic + # enabled : Enabled flag. When false, draw semi-transparently. + #-------------------------------------------------------------------------- + def draw_face(face_name, face_index, x, y, enabled = true) + bitmap = Cache.face(face_name) + rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 96) + contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha) + bitmap.dispose + end + #-------------------------------------------------------------------------- + # * Draw Character Graphic + #-------------------------------------------------------------------------- + def draw_character(character_name, character_index, x, y) + return unless character_name + bitmap = Cache.character(character_name) + sign = character_name[/^[\!\$]./] + if sign && sign.include?('$') + cw = bitmap.width / 3 + ch = bitmap.height / 4 + else + cw = bitmap.width / 12 + ch = bitmap.height / 8 + end + n = character_index + src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch) + contents.blt(x - cw / 2, y - ch, bitmap, src_rect) + end + #-------------------------------------------------------------------------- + # * Get HP Text Color + #-------------------------------------------------------------------------- + def hp_color(actor) + return knockout_color if actor.hp == 0 + return crisis_color if actor.hp < actor.mhp / 4 + return normal_color + end + #-------------------------------------------------------------------------- + # * Get MP Text Color + #-------------------------------------------------------------------------- + def mp_color(actor) + return crisis_color if actor.mp < actor.mmp / 4 + return normal_color + end + #-------------------------------------------------------------------------- + # * Get TP Text Color + #-------------------------------------------------------------------------- + def tp_color(actor) + return normal_color + end + #-------------------------------------------------------------------------- + # * Draw Actor Walking Graphic + #-------------------------------------------------------------------------- + def draw_actor_graphic(actor, x, y) + draw_character(actor.character_name, actor.character_index, x, y) + end + #-------------------------------------------------------------------------- + # * Draw Actor Face Graphic + #-------------------------------------------------------------------------- + def draw_actor_face(actor, x, y, enabled = true) + draw_face(actor.face_name, actor.face_index, x, y, enabled) + end + #-------------------------------------------------------------------------- + # * Draw Name + #-------------------------------------------------------------------------- + def draw_actor_name(actor, x, y, width = 112) + change_color(hp_color(actor)) + draw_text(x, y, width, line_height, actor.name) + end + #-------------------------------------------------------------------------- + # * Draw Class + #-------------------------------------------------------------------------- + def draw_actor_class(actor, x, y, width = 112) + change_color(normal_color) + draw_text(x, y, width, line_height, actor.class.name) + end + #-------------------------------------------------------------------------- + # * Draw Nickname + #-------------------------------------------------------------------------- + def draw_actor_nickname(actor, x, y, width = 180) + change_color(normal_color) + draw_text(x, y, width, line_height, actor.nickname) + end + #-------------------------------------------------------------------------- + # * Draw Level + #-------------------------------------------------------------------------- + def draw_actor_level(actor, x, y) + change_color(system_color) + draw_text(x, y, 32, line_height, Vocab::level_a) + change_color(normal_color) + draw_text(x + 32, y, 24, line_height, actor.level, 2) + end + #-------------------------------------------------------------------------- + # * Draw State and Buff/Debuff Icons + #-------------------------------------------------------------------------- + def draw_actor_icons(actor, x, y, width = 96) + icons = (actor.state_icons + actor.buff_icons)[0, width / 24] + icons.each_with_index {|n, i| draw_icon(n, x + 24 * i, y) } + end + #-------------------------------------------------------------------------- + # * Draw Current Value/Maximum Value in Fractional Format + # current : Current value + # max : Maximum value + # color1 : Color of current value + # color2 : Color of maximum value + #-------------------------------------------------------------------------- + def draw_current_and_max_values(x, y, width, current, max, color1, color2) + change_color(color1) + xr = x + width + if width < 96 + draw_text(xr - 40, y, 42, line_height, current, 2) + else + draw_text(xr - 92, y, 42, line_height, current, 2) + change_color(color2) + draw_text(xr - 52, y, 12, line_height, "/", 2) + draw_text(xr - 42, y, 42, line_height, max, 2) + end + end + #-------------------------------------------------------------------------- + # * Draw HP + #-------------------------------------------------------------------------- + def draw_actor_hp(actor, x, y, width = 124) + draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2) + change_color(system_color) + draw_text(x, y, 30, line_height, Vocab::hp_a) + draw_current_and_max_values(x, y, width, actor.hp, actor.mhp, + hp_color(actor), normal_color) + end + #-------------------------------------------------------------------------- + # * Draw MP + #-------------------------------------------------------------------------- + def draw_actor_mp(actor, x, y, width = 124) + draw_gauge(x, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2) + change_color(system_color) + draw_text(x, y, 30, line_height, Vocab::mp_a) + draw_current_and_max_values(x, y, width, actor.mp, actor.mmp, + mp_color(actor), normal_color) + end + #-------------------------------------------------------------------------- + # * Draw TP + #-------------------------------------------------------------------------- + def draw_actor_tp(actor, x, y, width = 124) + draw_gauge(x, y, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2) + change_color(system_color) + draw_text(x, y, 30, line_height, Vocab::tp_a) + change_color(tp_color(actor)) + draw_text(x + width - 42, y, 42, line_height, actor.tp.to_i, 2) + end + #-------------------------------------------------------------------------- + # * Draw Simple Status + #-------------------------------------------------------------------------- + def draw_actor_simple_status(actor, x, y) + draw_actor_name(actor, x, y) + draw_actor_level(actor, x, y + line_height * 1) + draw_actor_icons(actor, x, y + line_height * 2) + draw_actor_class(actor, x + 120, y) + draw_actor_hp(actor, x + 120, y + line_height * 1) + draw_actor_mp(actor, x + 120, y + line_height * 2) + end + #-------------------------------------------------------------------------- + # * Draw Parameters + #-------------------------------------------------------------------------- + def draw_actor_param(actor, x, y, param_id) + change_color(system_color) + draw_text(x, y, 120, line_height, Vocab::param(param_id)) + change_color(normal_color) + draw_text(x + 120, y, 36, line_height, actor.param(param_id), 2) + end + #-------------------------------------------------------------------------- + # * Draw Item Name + # enabled : Enabled flag. When false, draw semi-transparently. + #-------------------------------------------------------------------------- + def draw_item_name(item, x, y, enabled = true, width = 172) + return unless item + draw_icon(item.icon_index, x, y, enabled) + change_color(normal_color, enabled) + draw_text(x + 24, y, width, line_height, item.name) + end + #-------------------------------------------------------------------------- + # * Draw Number (Gold Etc.) with Currency Unit + #-------------------------------------------------------------------------- + def draw_currency_value(value, unit, x, y, width) + cx = text_size(unit).width + change_color(normal_color) + draw_text(x, y, width - cx - 2, line_height, value, 2) + change_color(system_color) + draw_text(x, y, width, line_height, unit, 2) + end + #-------------------------------------------------------------------------- + # * Get Parameter Change Color + #-------------------------------------------------------------------------- + def param_change_color(change) + return power_up_color if change > 0 + return power_down_color if change < 0 + return normal_color + end +end diff --git a/Scripts/RPG/Window_BattleActor.rb b/Scripts/RPG/Window_BattleActor.rb new file mode 100644 index 0000000..9242b05 --- /dev/null +++ b/Scripts/RPG/Window_BattleActor.rb @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_BattleActor +#------------------------------------------------------------------------------ +# This window is for selecting an actor's action target on the battle screen. +#============================================================================== + +class Window_BattleActor < Window_BattleStatus + #-------------------------------------------------------------------------- + # * Object Initialization + # info_viewport : Viewport for displaying information + #-------------------------------------------------------------------------- + def initialize(info_viewport) + super() + self.y = info_viewport.rect.y + self.visible = false + self.openness = 255 + @info_viewport = info_viewport + end + #-------------------------------------------------------------------------- + # * Show Window + #-------------------------------------------------------------------------- + def show + if @info_viewport + width_remain = Graphics.width - width + self.x = width_remain + @info_viewport.rect.width = width_remain + select(0) + end + super + end + #-------------------------------------------------------------------------- + # * Hide Window + #-------------------------------------------------------------------------- + def hide + @info_viewport.rect.width = Graphics.width if @info_viewport + super + end +end diff --git a/Scripts/RPG/Window_BattleEnemy.rb b/Scripts/RPG/Window_BattleEnemy.rb new file mode 100644 index 0000000..1202ffc --- /dev/null +++ b/Scripts/RPG/Window_BattleEnemy.rb @@ -0,0 +1,71 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_BattleEnemy +#------------------------------------------------------------------------------ +# Window for selecting the enemy who is the action target on the battle +# screen. +#============================================================================== + +class Window_BattleEnemy < Window_Selectable + #-------------------------------------------------------------------------- + # * Object Initialization + # info_viewport : Viewport for displaying information + #-------------------------------------------------------------------------- + def initialize(info_viewport) + super(0, info_viewport.rect.y, window_width, fitting_height(4)) + refresh + self.visible = false + @info_viewport = info_viewport + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + Graphics.width - 128 + end + #-------------------------------------------------------------------------- + # * Get Digit Count + #-------------------------------------------------------------------------- + def col_max + return 2 + end + #-------------------------------------------------------------------------- + # * Get Number of Items + #-------------------------------------------------------------------------- + def item_max + $game_troop.alive_members.size + end + #-------------------------------------------------------------------------- + # * Get Enemy Object + #-------------------------------------------------------------------------- + def enemy + $game_troop.alive_members[@index] + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(index) + change_color(normal_color) + name = $game_troop.alive_members[index].name + draw_text(item_rect_for_text(index), name) + end + #-------------------------------------------------------------------------- + # * Show Window + #-------------------------------------------------------------------------- + def show + if @info_viewport + width_remain = Graphics.width - width + self.x = width_remain + @info_viewport.rect.width = width_remain + select(0) + end + super + end + #-------------------------------------------------------------------------- + # * Hide Window + #-------------------------------------------------------------------------- + def hide + @info_viewport.rect.width = Graphics.width if @info_viewport + super + end +end diff --git a/Scripts/RPG/Window_BattleItem.rb b/Scripts/RPG/Window_BattleItem.rb new file mode 100644 index 0000000..4746661 --- /dev/null +++ b/Scripts/RPG/Window_BattleItem.rb @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_BattleItem +#------------------------------------------------------------------------------ +# This window is for selecting items to use in the battle window. +#============================================================================== + +class Window_BattleItem < Window_ItemList + #-------------------------------------------------------------------------- + # * Object Initialization + # info_viewport : Viewport for displaying information + #-------------------------------------------------------------------------- + def initialize(help_window, info_viewport) + y = help_window.height + super(0, y, Graphics.width, info_viewport.rect.y - y) + self.visible = false + @help_window = help_window + @info_viewport = info_viewport + end + #-------------------------------------------------------------------------- + # * Include in Item List? + #-------------------------------------------------------------------------- + def include?(item) + $game_party.usable?(item) + end + #-------------------------------------------------------------------------- + # * Show Window + #-------------------------------------------------------------------------- + def show + select_last + @help_window.show + super + end + #-------------------------------------------------------------------------- + # * Hide Window + #-------------------------------------------------------------------------- + def hide + @help_window.hide + super + end +end diff --git a/Scripts/RPG/Window_BattleLog.rb b/Scripts/RPG/Window_BattleLog.rb new file mode 100644 index 0000000..4187d04 --- /dev/null +++ b/Scripts/RPG/Window_BattleLog.rb @@ -0,0 +1,426 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_BattleLog +#------------------------------------------------------------------------------ +# This window is for displaying battle progress. No frame is displayed, but it +# is handled as a window for convenience. +#============================================================================== + +class Window_BattleLog < Window_Selectable + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0, window_width, window_height) + self.z = 200 + self.opacity = 0 + @lines = [] + @num_wait = 0 + create_back_bitmap + create_back_sprite + refresh + end + #-------------------------------------------------------------------------- + # * Free + #-------------------------------------------------------------------------- + def dispose + super + dispose_back_bitmap + dispose_back_sprite + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + Graphics.width + end + #-------------------------------------------------------------------------- + # * Get Window Height + #-------------------------------------------------------------------------- + def window_height + fitting_height(max_line_number) + end + #-------------------------------------------------------------------------- + # * Get Maximum Number of Lines + #-------------------------------------------------------------------------- + def max_line_number + return 6 + end + #-------------------------------------------------------------------------- + # * Create Background Bitmap + #-------------------------------------------------------------------------- + def create_back_bitmap + @back_bitmap = Bitmap.new(width, height) + end + #-------------------------------------------------------------------------- + # * Create Background Sprite + #-------------------------------------------------------------------------- + def create_back_sprite + @back_sprite = Sprite.new + @back_sprite.bitmap = @back_bitmap + @back_sprite.y = y + @back_sprite.z = z - 1 + end + #-------------------------------------------------------------------------- + # * Free Background Bitmap + #-------------------------------------------------------------------------- + def dispose_back_bitmap + @back_bitmap.dispose + end + #-------------------------------------------------------------------------- + # * Free Background Sprite + #-------------------------------------------------------------------------- + def dispose_back_sprite + @back_sprite.dispose + end + #-------------------------------------------------------------------------- + # * Clear + #-------------------------------------------------------------------------- + def clear + @num_wait = 0 + @lines.clear + refresh + end + #-------------------------------------------------------------------------- + # * Get Number of Data Lines + #-------------------------------------------------------------------------- + def line_number + @lines.size + end + #-------------------------------------------------------------------------- + # * Go Back One Line + #-------------------------------------------------------------------------- + def back_one + @lines.pop + refresh + end + #-------------------------------------------------------------------------- + # * Return to Designated Line + #-------------------------------------------------------------------------- + def back_to(line_number) + @lines.pop while @lines.size > line_number + refresh + end + #-------------------------------------------------------------------------- + # * Add Text + #-------------------------------------------------------------------------- + def add_text(text) + @lines.push(text) + refresh + end + #-------------------------------------------------------------------------- + # * Replace Text + # Replaces the last line with different text. + #-------------------------------------------------------------------------- + def replace_text(text) + @lines.pop + @lines.push(text) + refresh + end + #-------------------------------------------------------------------------- + # * Get Text From Last Line + #-------------------------------------------------------------------------- + def last_text + @lines[-1] + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + draw_background + contents.clear + @lines.size.times {|i| draw_line(i) } + end + #-------------------------------------------------------------------------- + # * Draw Background + #-------------------------------------------------------------------------- + def draw_background + @back_bitmap.clear + @back_bitmap.fill_rect(back_rect, back_color) + end + #-------------------------------------------------------------------------- + # * Get Background Rectangle + #-------------------------------------------------------------------------- + def back_rect + Rect.new(0, padding, width, line_number * line_height) + end + #-------------------------------------------------------------------------- + # * Get Background Color + #-------------------------------------------------------------------------- + def back_color + Color.new(0, 0, 0, back_opacity) + end + #-------------------------------------------------------------------------- + # * Get Background Opacity + #-------------------------------------------------------------------------- + def back_opacity + return 64 + end + #-------------------------------------------------------------------------- + # * Draw Line + #-------------------------------------------------------------------------- + def draw_line(line_number) + rect = item_rect_for_text(line_number) + contents.clear_rect(rect) + draw_text_ex(rect.x, rect.y, @lines[line_number]) + end + #-------------------------------------------------------------------------- + # * Set Wait Method + #-------------------------------------------------------------------------- + def method_wait=(method) + @method_wait = method + end + #-------------------------------------------------------------------------- + # * Set Wait Method for Effect Execution + #-------------------------------------------------------------------------- + def method_wait_for_effect=(method) + @method_wait_for_effect = method + end + #-------------------------------------------------------------------------- + # * Wait + #-------------------------------------------------------------------------- + def wait + @num_wait += 1 + @method_wait.call(message_speed) if @method_wait + end + #-------------------------------------------------------------------------- + # * Wait Until Effect Execution Ends + #-------------------------------------------------------------------------- + def wait_for_effect + @method_wait_for_effect.call if @method_wait_for_effect + end + #-------------------------------------------------------------------------- + # * Get Message Speed + #-------------------------------------------------------------------------- + def message_speed + return 20 + end + #-------------------------------------------------------------------------- + # * Wait and Clear + # Clear after inputing minimum necessary wait for the message to be read. + #-------------------------------------------------------------------------- + def wait_and_clear + wait while @num_wait < 2 if line_number > 0 + clear + end + #-------------------------------------------------------------------------- + # * Display Current State + #-------------------------------------------------------------------------- + def display_current_state(subject) + unless subject.most_important_state_text.empty? + add_text(subject.name + subject.most_important_state_text) + wait + end + end + #-------------------------------------------------------------------------- + # * Display Skill/Item Use + #-------------------------------------------------------------------------- + def display_use_item(subject, item) + if item.is_a?(RPG::Skill) + add_text(subject.name + item.message1) + unless item.message2.empty? + wait + add_text(item.message2) + end + else + add_text(sprintf(Vocab::UseItem, subject.name, item.name)) + end + end + #-------------------------------------------------------------------------- + # * Display Counterattack + #-------------------------------------------------------------------------- + def display_counter(target, item) + Sound.play_evasion + add_text(sprintf(Vocab::CounterAttack, target.name)) + wait + back_one + end + #-------------------------------------------------------------------------- + # * Display Reflection + #-------------------------------------------------------------------------- + def display_reflection(target, item) + Sound.play_reflection + add_text(sprintf(Vocab::MagicReflection, target.name)) + wait + back_one + end + #-------------------------------------------------------------------------- + # * Display Substitute + #-------------------------------------------------------------------------- + def display_substitute(substitute, target) + add_text(sprintf(Vocab::Substitute, substitute.name, target.name)) + wait + back_one + end + #-------------------------------------------------------------------------- + # * Display Action Results + #-------------------------------------------------------------------------- + def display_action_results(target, item) + if target.result.used + last_line_number = line_number + display_critical(target, item) + display_damage(target, item) + display_affected_status(target, item) + display_failure(target, item) + wait if line_number > last_line_number + back_to(last_line_number) + end + end + #-------------------------------------------------------------------------- + # * Display Failure + #-------------------------------------------------------------------------- + def display_failure(target, item) + if target.result.hit? && !target.result.success + add_text(sprintf(Vocab::ActionFailure, target.name)) + wait + end + end + #-------------------------------------------------------------------------- + # * Display Critical Hit + #-------------------------------------------------------------------------- + def display_critical(target, item) + if target.result.critical + text = target.actor? ? Vocab::CriticalToActor : Vocab::CriticalToEnemy + add_text(text) + wait + end + end + #-------------------------------------------------------------------------- + # * Display Damage + #-------------------------------------------------------------------------- + def display_damage(target, item) + if target.result.missed + display_miss(target, item) + elsif target.result.evaded + display_evasion(target, item) + else + display_hp_damage(target, item) + display_mp_damage(target, item) + display_tp_damage(target, item) + end + end + #-------------------------------------------------------------------------- + # * Display Miss + #-------------------------------------------------------------------------- + def display_miss(target, item) + if !item || item.physical? + fmt = target.actor? ? Vocab::ActorNoHit : Vocab::EnemyNoHit + Sound.play_miss + else + fmt = Vocab::ActionFailure + end + add_text(sprintf(fmt, target.name)) + wait + end + #-------------------------------------------------------------------------- + # * Display Evasion + #-------------------------------------------------------------------------- + def display_evasion(target, item) + if !item || item.physical? + fmt = Vocab::Evasion + Sound.play_evasion + else + fmt = Vocab::MagicEvasion + Sound.play_magic_evasion + end + add_text(sprintf(fmt, target.name)) + wait + end + #-------------------------------------------------------------------------- + # * Display HP Damage + #-------------------------------------------------------------------------- + def display_hp_damage(target, item) + return if target.result.hp_damage == 0 && item && !item.damage.to_hp? + if target.result.hp_damage > 0 && target.result.hp_drain == 0 + target.perform_damage_effect + end + Sound.play_recovery if target.result.hp_damage < 0 + add_text(target.result.hp_damage_text) + wait + end + #-------------------------------------------------------------------------- + # * Display MP Damage + #-------------------------------------------------------------------------- + def display_mp_damage(target, item) + return if target.dead? || target.result.mp_damage == 0 + Sound.play_recovery if target.result.mp_damage < 0 + add_text(target.result.mp_damage_text) + wait + end + #-------------------------------------------------------------------------- + # * Display TP Damage + #-------------------------------------------------------------------------- + def display_tp_damage(target, item) + return if target.dead? || target.result.tp_damage == 0 + Sound.play_recovery if target.result.tp_damage < 0 + add_text(target.result.tp_damage_text) + wait + end + #-------------------------------------------------------------------------- + # * Display Affected Status + #-------------------------------------------------------------------------- + def display_affected_status(target, item) + if target.result.status_affected? + add_text("") if line_number < max_line_number + display_changed_states(target) + display_changed_buffs(target) + back_one if last_text.empty? + end + end + #-------------------------------------------------------------------------- + # * Display Automatically Affected Status + #-------------------------------------------------------------------------- + def display_auto_affected_status(target) + if target.result.status_affected? + display_affected_status(target, nil) + wait if line_number > 0 + end + end + #-------------------------------------------------------------------------- + # * Display Added/Removed State + #-------------------------------------------------------------------------- + def display_changed_states(target) + display_added_states(target) + display_removed_states(target) + end + #-------------------------------------------------------------------------- + # * Display Added State + #-------------------------------------------------------------------------- + def display_added_states(target) + target.result.added_state_objects.each do |state| + state_msg = target.actor? ? state.message1 : state.message2 + target.perform_collapse_effect if state.id == target.death_state_id + next if state_msg.empty? + replace_text(target.name + state_msg) + wait + wait_for_effect + end + end + #-------------------------------------------------------------------------- + # * Display Removed State + #-------------------------------------------------------------------------- + def display_removed_states(target) + target.result.removed_state_objects.each do |state| + next if state.message4.empty? + replace_text(target.name + state.message4) + wait + end + end + #-------------------------------------------------------------------------- + # * Display Buff/Debuff + #-------------------------------------------------------------------------- + def display_changed_buffs(target) + display_buffs(target, target.result.added_buffs, Vocab::BuffAdd) + display_buffs(target, target.result.added_debuffs, Vocab::DebuffAdd) + display_buffs(target, target.result.removed_buffs, Vocab::BuffRemove) + end + #-------------------------------------------------------------------------- + # * Display Buff/Debuff (Individual) + #-------------------------------------------------------------------------- + def display_buffs(target, buffs, fmt) + buffs.each do |param_id| + replace_text(sprintf(fmt, target.name, Vocab::param(param_id))) + wait + end + end +end diff --git a/Scripts/RPG/Window_BattleSkill.rb b/Scripts/RPG/Window_BattleSkill.rb new file mode 100644 index 0000000..a298fdc --- /dev/null +++ b/Scripts/RPG/Window_BattleSkill.rb @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_BattleSkill +#------------------------------------------------------------------------------ +# This window is for selecting skills to use in the battle window. +#============================================================================== + +class Window_BattleSkill < Window_SkillList + #-------------------------------------------------------------------------- + # * Object Initialization + # info_viewport : Viewport for displaying information + #-------------------------------------------------------------------------- + def initialize(help_window, info_viewport) + y = help_window.height + super(0, y, Graphics.width, info_viewport.rect.y - y) + self.visible = false + @help_window = help_window + @info_viewport = info_viewport + end + #-------------------------------------------------------------------------- + # * Show Window + #-------------------------------------------------------------------------- + def show + select_last + @help_window.show + super + end + #-------------------------------------------------------------------------- + # * Hide Window + #-------------------------------------------------------------------------- + def hide + @help_window.hide + super + end +end diff --git a/Scripts/RPG/Window_BattleStatus.rb b/Scripts/RPG/Window_BattleStatus.rb new file mode 100644 index 0000000..99f033a --- /dev/null +++ b/Scripts/RPG/Window_BattleStatus.rb @@ -0,0 +1,112 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_BattleStatus +#------------------------------------------------------------------------------ +# This window is for displaying the status of party members on the battle +# screen. +#============================================================================== + +class Window_BattleStatus < Window_Selectable + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0, window_width, window_height) + refresh + self.openness = 0 + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + Graphics.width - 128 + end + #-------------------------------------------------------------------------- + # * Get Window Height + #-------------------------------------------------------------------------- + def window_height + fitting_height(visible_line_number) + end + #-------------------------------------------------------------------------- + # * Get Number of Lines to Show + #-------------------------------------------------------------------------- + def visible_line_number + return 4 + end + #-------------------------------------------------------------------------- + # * Get Number of Items + #-------------------------------------------------------------------------- + def item_max + $game_party.battle_members.size + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + draw_all_items + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(index) + actor = $game_party.battle_members[index] + draw_basic_area(basic_area_rect(index), actor) + draw_gauge_area(gauge_area_rect(index), actor) + end + #-------------------------------------------------------------------------- + # * Get Basic Area Retangle + #-------------------------------------------------------------------------- + def basic_area_rect(index) + rect = item_rect_for_text(index) + rect.width -= gauge_area_width + 10 + rect + end + #-------------------------------------------------------------------------- + # * Get Gauge Area Rectangle + #-------------------------------------------------------------------------- + def gauge_area_rect(index) + rect = item_rect_for_text(index) + rect.x += rect.width - gauge_area_width + rect.width = gauge_area_width + rect + end + #-------------------------------------------------------------------------- + # * Get Gauge Area Width + #-------------------------------------------------------------------------- + def gauge_area_width + return 220 + end + #-------------------------------------------------------------------------- + # * Draw Basic Area + #-------------------------------------------------------------------------- + def draw_basic_area(rect, actor) + draw_actor_name(actor, rect.x + 0, rect.y, 100) + draw_actor_icons(actor, rect.x + 104, rect.y, rect.width - 104) + end + #-------------------------------------------------------------------------- + # * Draw Gauge Area + #-------------------------------------------------------------------------- + def draw_gauge_area(rect, actor) + if $data_system.opt_display_tp + draw_gauge_area_with_tp(rect, actor) + else + draw_gauge_area_without_tp(rect, actor) + end + end + #-------------------------------------------------------------------------- + # * Draw Gauge Area (with TP) + #-------------------------------------------------------------------------- + def draw_gauge_area_with_tp(rect, actor) + draw_actor_hp(actor, rect.x + 0, rect.y, 72) + draw_actor_mp(actor, rect.x + 82, rect.y, 64) + draw_actor_tp(actor, rect.x + 156, rect.y, 64) + end + #-------------------------------------------------------------------------- + # * Draw Gauge Area (without TP) + #-------------------------------------------------------------------------- + def draw_gauge_area_without_tp(rect, actor) + draw_actor_hp(actor, rect.x + 0, rect.y, 134) + draw_actor_mp(actor, rect.x + 144, rect.y, 76) + end +end diff --git a/Scripts/RPG/Window_ChoiceList.rb b/Scripts/RPG/Window_ChoiceList.rb new file mode 100644 index 0000000..18fc90d --- /dev/null +++ b/Scripts/RPG/Window_ChoiceList.rb @@ -0,0 +1,89 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_ChoiceList +#------------------------------------------------------------------------------ +# This window is used for the event command [Show Choices]. +#============================================================================== + +class Window_ChoiceList < Window_Command + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(message_window) + @message_window = message_window + super(0, 0) + self.openness = 0 + deactivate + end + #-------------------------------------------------------------------------- + # * Start Input Processing + #-------------------------------------------------------------------------- + def start + update_placement + refresh + select(0) + open + activate + end + #-------------------------------------------------------------------------- + # * Update Window Position + #-------------------------------------------------------------------------- + def update_placement + self.width = [max_choice_width + 12, 96].max + padding * 2 + self.width = [width, Graphics.width].min + self.height = fitting_height($game_message.choices.size) + self.x = Graphics.width - width + if @message_window.y >= Graphics.height / 2 + self.y = @message_window.y - height + else + self.y = @message_window.y + @message_window.height + end + end + #-------------------------------------------------------------------------- + # * Get Maximum Width of Choices + #-------------------------------------------------------------------------- + def max_choice_width + $game_message.choices.collect {|s| text_size(s).width }.max + end + #-------------------------------------------------------------------------- + # * Calculate Height of Window Contents + #-------------------------------------------------------------------------- + def contents_height + item_max * item_height + end + #-------------------------------------------------------------------------- + # * Create Command List + #-------------------------------------------------------------------------- + def make_command_list + $game_message.choices.each do |choice| + add_command(choice, :choice) + end + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(index) + rect = item_rect_for_text(index) + draw_text_ex(rect.x, rect.y, command_name(index)) + end + #-------------------------------------------------------------------------- + # * Get Activation State of Cancel Processing + #-------------------------------------------------------------------------- + def cancel_enabled? + $game_message.choice_cancel_type > 0 + end + #-------------------------------------------------------------------------- + # * Call OK Handler + #-------------------------------------------------------------------------- + def call_ok_handler + $game_message.choice_proc.call(index) + close + end + #-------------------------------------------------------------------------- + # * Call Cancel Handler + #-------------------------------------------------------------------------- + def call_cancel_handler + $game_message.choice_proc.call($game_message.choice_cancel_type - 1) + close + end +end diff --git a/Scripts/RPG/Window_Command.rb b/Scripts/RPG/Window_Command.rb new file mode 100644 index 0000000..add3ef0 --- /dev/null +++ b/Scripts/RPG/Window_Command.rb @@ -0,0 +1,153 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_Command +#------------------------------------------------------------------------------ +# This window deals with general command choices. +#============================================================================== + +class Window_Command < Window_Selectable + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y) + clear_command_list + make_command_list + super(x, y, window_width, window_height) + refresh + select(0) + activate + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 160 + end + #-------------------------------------------------------------------------- + # * Get Window Height + #-------------------------------------------------------------------------- + def window_height + fitting_height(visible_line_number) + end + #-------------------------------------------------------------------------- + # * Get Number of Lines to Show + #-------------------------------------------------------------------------- + def visible_line_number + item_max + end + #-------------------------------------------------------------------------- + # * Get Number of Items + #-------------------------------------------------------------------------- + def item_max + @list.size + end + #-------------------------------------------------------------------------- + # * Clear Command List + #-------------------------------------------------------------------------- + def clear_command_list + @list = [] + end + #-------------------------------------------------------------------------- + # * Create Command List + #-------------------------------------------------------------------------- + def make_command_list + end + #-------------------------------------------------------------------------- + # * Add Command + # name : Command name + # symbol : Corresponding symbol + # enabled : Activation state flag + # ext : Arbitrary extended data + #-------------------------------------------------------------------------- + def add_command(name, symbol, enabled = true, ext = nil) + @list.push({:name=>name, :symbol=>symbol, :enabled=>enabled, :ext=>ext}) + end + #-------------------------------------------------------------------------- + # * Get Command Name + #-------------------------------------------------------------------------- + def command_name(index) + @list[index][:name] + end + #-------------------------------------------------------------------------- + # * Get Activation State of Command + #-------------------------------------------------------------------------- + def command_enabled?(index) + @list[index][:enabled] + end + #-------------------------------------------------------------------------- + # * Get Command Data of Selection Item + #-------------------------------------------------------------------------- + def current_data + index >= 0 ? @list[index] : nil + end + #-------------------------------------------------------------------------- + # * Get Activation State of Selection Item + #-------------------------------------------------------------------------- + def current_item_enabled? + current_data ? current_data[:enabled] : false + end + #-------------------------------------------------------------------------- + # * Get Symbol of Selection Item + #-------------------------------------------------------------------------- + def current_symbol + current_data ? current_data[:symbol] : nil + end + #-------------------------------------------------------------------------- + # * Get Extended Data of Selected Item + #-------------------------------------------------------------------------- + def current_ext + current_data ? current_data[:ext] : nil + end + #-------------------------------------------------------------------------- + # * Move Cursor to Command with Specified Symbol + #-------------------------------------------------------------------------- + def select_symbol(symbol) + @list.each_index {|i| select(i) if @list[i][:symbol] == symbol } + end + #-------------------------------------------------------------------------- + # * Move Cursor to Command with Specified Extended Data + #-------------------------------------------------------------------------- + def select_ext(ext) + @list.each_index {|i| select(i) if @list[i][:ext] == ext } + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(index) + change_color(normal_color, command_enabled?(index)) + draw_text(item_rect_for_text(index), command_name(index), alignment) + end + #-------------------------------------------------------------------------- + # * Get Alignment + #-------------------------------------------------------------------------- + def alignment + return 0 + end + #-------------------------------------------------------------------------- + # * Get Activation State of OK Processing + #-------------------------------------------------------------------------- + def ok_enabled? + return true + end + #-------------------------------------------------------------------------- + # * Call OK Handler + #-------------------------------------------------------------------------- + def call_ok_handler + if handle?(current_symbol) + call_handler(current_symbol) + elsif handle?(:ok) + super + else + activate + end + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + clear_command_list + make_command_list + create_contents + super + end +end diff --git a/Scripts/RPG/Window_DebugLeft.rb b/Scripts/RPG/Window_DebugLeft.rb new file mode 100644 index 0000000..199fb3b --- /dev/null +++ b/Scripts/RPG/Window_DebugLeft.rb @@ -0,0 +1,105 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_DebugLeft +#------------------------------------------------------------------------------ +# This window designates switch and variable blocks on the debug screen. +#============================================================================== + +class Window_DebugLeft < Window_Selectable + #-------------------------------------------------------------------------- + # * Class Variable + #-------------------------------------------------------------------------- + @@last_top_row = 0 # For saving first line + @@last_index = 0 # For saving cursor position + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :right_window # Right window + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y) + super(x, y, window_width, window_height) + refresh + self.top_row = @@last_top_row + select(@@last_index) + activate + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 164 + end + #-------------------------------------------------------------------------- + # * Get Window Height + #-------------------------------------------------------------------------- + def window_height + Graphics.height + end + #-------------------------------------------------------------------------- + # * Get Number of Items + #-------------------------------------------------------------------------- + def item_max + @item_max || 0 + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + return unless @right_window + @right_window.mode = mode + @right_window.top_id = top_id + end + #-------------------------------------------------------------------------- + # * Get Mode + #-------------------------------------------------------------------------- + def mode + index < @switch_max ? :switch : :variable + end + #-------------------------------------------------------------------------- + # * Get ID Shown on Top + #-------------------------------------------------------------------------- + def top_id + (index - (index < @switch_max ? 0 : @switch_max)) * 10 + 1 + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + @switch_max = ($data_system.switches.size - 1 + 9) / 10 + @variable_max = ($data_system.variables.size - 1 + 9) / 10 + @item_max = @switch_max + @variable_max + create_contents + draw_all_items + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(index) + if index < @switch_max + n = index * 10 + text = sprintf("S [%04d-%04d]", n+1, n+10) + else + n = (index - @switch_max) * 10 + text = sprintf("V [%04d-%04d]", n+1, n+10) + end + draw_text(item_rect_for_text(index), text) + end + #-------------------------------------------------------------------------- + # * Processing When Cancel Button Is Pressed + #-------------------------------------------------------------------------- + def process_cancel + super + @@last_top_row = top_row + @@last_index = index + end + #-------------------------------------------------------------------------- + # * Set Right Window + #-------------------------------------------------------------------------- + def right_window=(right_window) + @right_window = right_window + update + end +end diff --git a/Scripts/RPG/Window_DebugRight.rb b/Scripts/RPG/Window_DebugRight.rb new file mode 100644 index 0000000..17b2643 --- /dev/null +++ b/Scripts/RPG/Window_DebugRight.rb @@ -0,0 +1,120 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_DebugRight +#------------------------------------------------------------------------------ +# This window displays switches and variables separately on the debug screen. +#============================================================================== + +class Window_DebugRight < Window_Selectable + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :mode # Mode (:switch / :variable) + attr_reader :top_id # ID shown on top + #-------------------------------------------------------------------------- + # * Object Initialization + #------------------------------------------------------------------------- + def initialize(x, y, width) + super(x, y, width, fitting_height(10)) + @mode = :switch + @top_id = 1 + refresh + end + #-------------------------------------------------------------------------- + # * Get Number of Items + #-------------------------------------------------------------------------- + def item_max + return 10 + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + draw_all_items + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(index) + data_id = @top_id + index + id_text = sprintf("%04d:", data_id) + id_width = text_size(id_text).width + if @mode == :switch + name = $data_system.switches[data_id] + status = $game_switches[data_id] ? "[ON]" : "[OFF]" + else + name = $data_system.variables[data_id] + status = $game_variables[data_id] + end + name = "" unless name + rect = item_rect_for_text(index) + change_color(normal_color) + draw_text(rect, id_text) + rect.x += id_width + rect.width -= id_width + 60 + draw_text(rect, name) + rect.width += 60 + draw_text(rect, status, 2) + end + #-------------------------------------------------------------------------- + # * Set Mode + # mode : New mode + #-------------------------------------------------------------------------- + def mode=(mode) + if @mode != mode + @mode = mode + refresh + end + end + #-------------------------------------------------------------------------- + # * Set ID Shown on Top + # id : new ID + #-------------------------------------------------------------------------- + def top_id=(id) + if @top_id != id + @top_id = id + refresh + end + end + #-------------------------------------------------------------------------- + # * Get Currently Selected ID + #-------------------------------------------------------------------------- + def current_id + top_id + index + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + update_switch_mode if active && mode == :switch + update_variable_mode if active && mode == :variable + end + #-------------------------------------------------------------------------- + # * Update During Switch Mode + #-------------------------------------------------------------------------- + def update_switch_mode + if Input.trigger?(:C) + Sound.play_ok + $game_switches[current_id] = !$game_switches[current_id] + redraw_current_item + end + end + #-------------------------------------------------------------------------- + # * Update During Variable Mode + #-------------------------------------------------------------------------- + def update_variable_mode + return unless $game_variables[current_id].is_a?(Numeric) + value = $game_variables[current_id] + value += 1 if Input.repeat?(:RIGHT) + value -= 1 if Input.repeat?(:LEFT) + value += 10 if Input.repeat?(:R) + value -= 10 if Input.repeat?(:L) + if $game_variables[current_id] != value + $game_variables[current_id] = value + Sound.play_cursor + redraw_current_item + end + end +end diff --git a/Scripts/RPG/Window_EquipCommand.rb b/Scripts/RPG/Window_EquipCommand.rb new file mode 100644 index 0000000..b9da1a8 --- /dev/null +++ b/Scripts/RPG/Window_EquipCommand.rb @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_EquipCommand +#------------------------------------------------------------------------------ +# This window is for selecting commands (change equipment/ultimate equipment +# etc.) on the skill screen. +#============================================================================== + +class Window_EquipCommand < Window_HorzCommand + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y, width) + @window_width = width + super(x, y) + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + @window_width + end + #-------------------------------------------------------------------------- + # * Get Digit Count + #-------------------------------------------------------------------------- + def col_max + return 3 + end + #-------------------------------------------------------------------------- + # * Create Command List + #-------------------------------------------------------------------------- + def make_command_list + add_command(Vocab::equip2, :equip) + add_command(Vocab::optimize, :optimize) + add_command(Vocab::clear, :clear) + end +end diff --git a/Scripts/RPG/Window_EquipItem.rb b/Scripts/RPG/Window_EquipItem.rb new file mode 100644 index 0000000..71ad304 --- /dev/null +++ b/Scripts/RPG/Window_EquipItem.rb @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_EquipItem +#------------------------------------------------------------------------------ +# This window displays choices when opting to change equipment on the +# equipment screen. +#============================================================================== + +class Window_EquipItem < Window_ItemList + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :status_window # Status window + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y, width, height) + super + @actor = nil + @slot_id = 0 + end + #-------------------------------------------------------------------------- + # * Set Actor + #-------------------------------------------------------------------------- + def actor=(actor) + return if @actor == actor + @actor = actor + refresh + self.oy = 0 + end + #-------------------------------------------------------------------------- + # * Set Equipment Slot ID + #-------------------------------------------------------------------------- + def slot_id=(slot_id) + return if @slot_id == slot_id + @slot_id = slot_id + refresh + self.oy = 0 + end + #-------------------------------------------------------------------------- + # * Include in Item List? + #-------------------------------------------------------------------------- + def include?(item) + return true if item == nil + return false unless item.is_a?(RPG::EquipItem) + return false if @slot_id < 0 + return false if item.etype_id != @actor.equip_slots[@slot_id] + return @actor.equippable?(item) + end + #-------------------------------------------------------------------------- + # * Display in Enabled State? + #-------------------------------------------------------------------------- + def enable?(item) + return true + end + #-------------------------------------------------------------------------- + # * Restore Previous Selection Position + #-------------------------------------------------------------------------- + def select_last + end + #-------------------------------------------------------------------------- + # * Set Status Window + #-------------------------------------------------------------------------- + def status_window=(status_window) + @status_window = status_window + call_update_help + end + #-------------------------------------------------------------------------- + # * Update Help Text + #-------------------------------------------------------------------------- + def update_help + super + if @actor && @status_window + temp_actor = Marshal.load(Marshal.dump(@actor)) + temp_actor.force_change_equip(@slot_id, item) + @status_window.set_temp_actor(temp_actor) + end + end +end diff --git a/Scripts/RPG/Window_EquipSlot.rb b/Scripts/RPG/Window_EquipSlot.rb new file mode 100644 index 0000000..69c8e11 --- /dev/null +++ b/Scripts/RPG/Window_EquipSlot.rb @@ -0,0 +1,112 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_EquipSlot +#------------------------------------------------------------------------------ +# This window displays items the actor is currently equipped with on the +# equipment screen. +#============================================================================== + +class Window_EquipSlot < Window_Selectable + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :status_window # Status window + attr_reader :item_window # Item window + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y, width) + super(x, y, width, window_height) + @actor = nil + refresh + end + #-------------------------------------------------------------------------- + # * Get Window Height + #-------------------------------------------------------------------------- + def window_height + fitting_height(visible_line_number) + end + #-------------------------------------------------------------------------- + # * Get Number of Lines to Show + #-------------------------------------------------------------------------- + def visible_line_number + return 5 + end + #-------------------------------------------------------------------------- + # * Set Actor + #-------------------------------------------------------------------------- + def actor=(actor) + return if @actor == actor + @actor = actor + refresh + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + @item_window.slot_id = index if @item_window + end + #-------------------------------------------------------------------------- + # * Get Number of Items + #-------------------------------------------------------------------------- + def item_max + @actor ? @actor.equip_slots.size : 0 + end + #-------------------------------------------------------------------------- + # * Get Item + #-------------------------------------------------------------------------- + def item + @actor ? @actor.equips[index] : nil + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(index) + return unless @actor + rect = item_rect_for_text(index) + change_color(system_color, enable?(index)) + draw_text(rect.x, rect.y, 92, line_height, slot_name(index)) + draw_item_name(@actor.equips[index], rect.x + 92, rect.y, enable?(index)) + end + #-------------------------------------------------------------------------- + # * Get Equipment Slot Name + #-------------------------------------------------------------------------- + def slot_name(index) + @actor ? Vocab::etype(@actor.equip_slots[index]) : "" + end + #-------------------------------------------------------------------------- + # * Display Equipment Slot in Enabled State? + #-------------------------------------------------------------------------- + def enable?(index) + @actor ? @actor.equip_change_ok?(index) : false + end + #-------------------------------------------------------------------------- + # * Get Activation State of Selection Item + #-------------------------------------------------------------------------- + def current_item_enabled? + enable?(index) + end + #-------------------------------------------------------------------------- + # * Set Status Window + #-------------------------------------------------------------------------- + def status_window=(status_window) + @status_window = status_window + call_update_help + end + #-------------------------------------------------------------------------- + # * Set Item Window + #-------------------------------------------------------------------------- + def item_window=(item_window) + @item_window = item_window + update + end + #-------------------------------------------------------------------------- + # * Update Help Text + #-------------------------------------------------------------------------- + def update_help + super + @help_window.set_item(item) if @help_window + @status_window.set_temp_actor(nil) if @status_window + end +end diff --git a/Scripts/RPG/Window_EquipStatus.rb b/Scripts/RPG/Window_EquipStatus.rb new file mode 100644 index 0000000..0c22a53 --- /dev/null +++ b/Scripts/RPG/Window_EquipStatus.rb @@ -0,0 +1,100 @@ +# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- + +#============================================================================== +# ** Window_EquipStatus +#------------------------------------------------------------------------------ +# This window displays actor parameter changes on the equipment screen. +#============================================================================== + +class Window_EquipStatus < Window_Base + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y) + super(x, y, window_width, window_height) + @actor = nil + @temp_actor = nil + refresh + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 208 + end + #-------------------------------------------------------------------------- + # * Get Window Height + #-------------------------------------------------------------------------- + def window_height + fitting_height(visible_line_number) + end + #-------------------------------------------------------------------------- + # * Get Number of Lines to Show + #-------------------------------------------------------------------------- + def visible_line_number + return 7 + end + #-------------------------------------------------------------------------- + # * Set Actor + #-------------------------------------------------------------------------- + def actor=(actor) + return if @actor == actor + @actor = actor + refresh + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + draw_actor_name(@actor, 4, 0) if @actor + 6.times {|i| draw_item(0, line_height * (1 + i), 2 + i) } + end + #-------------------------------------------------------------------------- + # * Set Temporary Actor After Equipment Change + #-------------------------------------------------------------------------- + def set_temp_actor(temp_actor) + return if @temp_actor == temp_actor + @temp_actor = temp_actor + refresh + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(x, y, param_id) + draw_param_name(x + 4, y, param_id) + draw_current_param(x + 94, y, param_id) if @actor + draw_right_arrow(x + 126, y) + draw_new_param(x + 150, y, param_id) if @temp_actor + end + #-------------------------------------------------------------------------- + # * Draw Parameter Name + #-------------------------------------------------------------------------- + def draw_param_name(x, y, param_id) + change_color(system_color) + draw_text(x, y, 80, line_height, Vocab::param(param_id)) + end + #-------------------------------------------------------------------------- + # * Draw Current Parameter + #-------------------------------------------------------------------------- + def draw_current_param(x, y, param_id) + change_color(normal_color) + draw_text(x, y, 32, line_height, @actor.param(param_id), 2) + end + #-------------------------------------------------------------------------- + # * Draw Right Arrow + #-------------------------------------------------------------------------- + def draw_right_arrow(x, y) + change_color(system_color) + draw_text(x, y, 22, line_height, "→", 1) + end + #-------------------------------------------------------------------------- + # * Draw Post-Equipment Change Parameter + #-------------------------------------------------------------------------- + def draw_new_param(x, y, param_id) + new_value = @temp_actor.param(param_id) + change_color(param_change_color(new_value - @actor.param(param_id))) + draw_text(x, y, 32, line_height, new_value, 2) + end +end diff --git a/Scripts/RPG/Window_EquipStatus.rb~ b/Scripts/RPG/Window_EquipStatus.rb~ new file mode 100644 index 0000000..0414b2b --- /dev/null +++ b/Scripts/RPG/Window_EquipStatus.rb~ @@ -0,0 +1,97 @@ +#============================================================================== +# ** Window_EquipStatus +#------------------------------------------------------------------------------ +# This window displays actor parameter changes on the equipment screen. +#============================================================================== + +class Window_EquipStatus < Window_Base + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y) + super(x, y, window_width, window_height) + @actor = nil + @temp_actor = nil + refresh + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 208 + end + #-------------------------------------------------------------------------- + # * Get Window Height + #-------------------------------------------------------------------------- + def window_height + fitting_height(visible_line_number) + end + #-------------------------------------------------------------------------- + # * Get Number of Lines to Show + #-------------------------------------------------------------------------- + def visible_line_number + return 7 + end + #-------------------------------------------------------------------------- + # * Set Actor + #-------------------------------------------------------------------------- + def actor=(actor) + return if @actor == actor + @actor = actor + refresh + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + draw_actor_name(@actor, 4, 0) if @actor + 6.times {|i| draw_item(0, line_height * (1 + i), 2 + i) } + end + #-------------------------------------------------------------------------- + # * Set Temporary Actor After Equipment Change + #-------------------------------------------------------------------------- + def set_temp_actor(temp_actor) + return if @temp_actor == temp_actor + @temp_actor = temp_actor + refresh + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(x, y, param_id) + draw_param_name(x + 4, y, param_id) + draw_current_param(x + 94, y, param_id) if @actor + draw_right_arrow(x + 126, y) + draw_new_param(x + 150, y, param_id) if @temp_actor + end + #-------------------------------------------------------------------------- + # * Draw Parameter Name + #-------------------------------------------------------------------------- + def draw_param_name(x, y, param_id) + change_color(system_color) + draw_text(x, y, 80, line_height, Vocab::param(param_id)) + end + #-------------------------------------------------------------------------- + # * Draw Current Parameter + #-------------------------------------------------------------------------- + def draw_current_param(x, y, param_id) + change_color(normal_color) + draw_text(x, y, 32, line_height, @actor.param(param_id), 2) + end + #-------------------------------------------------------------------------- + # * Draw Right Arrow + #-------------------------------------------------------------------------- + def draw_right_arrow(x, y) + change_color(system_color) + draw_text(x, y, 22, line_height, "→", 1) + end + #-------------------------------------------------------------------------- + # * Draw Post-Equipment Change Parameter + #-------------------------------------------------------------------------- + def draw_new_param(x, y, param_id) + new_value = @temp_actor.param(param_id) + change_color(param_change_color(new_value - @actor.param(param_id))) + draw_text(x, y, 32, line_height, new_value, 2) + end +end diff --git a/Scripts/RPG/Window_GameEnd.rb b/Scripts/RPG/Window_GameEnd.rb new file mode 100644 index 0000000..825e194 --- /dev/null +++ b/Scripts/RPG/Window_GameEnd.rb @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_GameEnd +#------------------------------------------------------------------------------ +# This window is for selecting Go to Title/Shut Down on the game over screen. +#============================================================================== + +class Window_GameEnd < Window_Command + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0) + update_placement + self.openness = 0 + open + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 160 + end + #-------------------------------------------------------------------------- + # * Update Window Position + #-------------------------------------------------------------------------- + def update_placement + self.x = (Graphics.width - width) / 2 + self.y = (Graphics.height - height) / 2 + end + #-------------------------------------------------------------------------- + # * Create Command List + #-------------------------------------------------------------------------- + def make_command_list + add_command(Vocab::to_title, :to_title) + add_command(Vocab::shutdown, :shutdown) + add_command(Vocab::cancel, :cancel) + end +end diff --git a/Scripts/RPG/Window_Gold.rb b/Scripts/RPG/Window_Gold.rb new file mode 100644 index 0000000..f5a8e12 --- /dev/null +++ b/Scripts/RPG/Window_Gold.rb @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_Gold +#------------------------------------------------------------------------------ +# This window displays the party's gold. +#============================================================================== + +class Window_Gold < Window_Base + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0, window_width, fitting_height(1)) + refresh + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 160 + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + draw_currency_value(value, currency_unit, 4, 0, contents.width - 8) + end + #-------------------------------------------------------------------------- + # * Get Party Gold + #-------------------------------------------------------------------------- + def value + $game_party.gold + end + #-------------------------------------------------------------------------- + # Get Currency Unit + #-------------------------------------------------------------------------- + def currency_unit + Vocab::currency_unit + end + #-------------------------------------------------------------------------- + # * Open Window + #-------------------------------------------------------------------------- + def open + refresh + super + end +end diff --git a/Scripts/RPG/Window_Help.rb b/Scripts/RPG/Window_Help.rb new file mode 100644 index 0000000..aaa66f9 --- /dev/null +++ b/Scripts/RPG/Window_Help.rb @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_Help +#------------------------------------------------------------------------------ +# This window shows skill and item explanations along with actor status. +#============================================================================== + +class Window_Help < Window_Base + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(line_number = 2) + super(0, 0, Graphics.width, fitting_height(line_number)) + end + #-------------------------------------------------------------------------- + # * Set Text + #-------------------------------------------------------------------------- + def set_text(text) + if text != @text + @text = text + refresh + end + end + #-------------------------------------------------------------------------- + # * Clear + #-------------------------------------------------------------------------- + def clear + set_text("") + end + #-------------------------------------------------------------------------- + # * Set Item + # item : Skills and items etc. + #-------------------------------------------------------------------------- + def set_item(item) + set_text(item ? item.description : "") + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + draw_text_ex(4, 0, @text) + end +end diff --git a/Scripts/RPG/Window_HorzCommand.rb b/Scripts/RPG/Window_HorzCommand.rb new file mode 100644 index 0000000..8201700 --- /dev/null +++ b/Scripts/RPG/Window_HorzCommand.rb @@ -0,0 +1,107 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_HorzCommand +#------------------------------------------------------------------------------ +# This is a command window for the horizontal selection format. +#============================================================================== + +class Window_HorzCommand < Window_Command + #-------------------------------------------------------------------------- + # * Get Number of Lines to Show + #-------------------------------------------------------------------------- + def visible_line_number + return 1 + end + #-------------------------------------------------------------------------- + # * Get Digit Count + #-------------------------------------------------------------------------- + def col_max + return 4 + end + #-------------------------------------------------------------------------- + # * Get Spacing for Items Arranged Side by Side + #-------------------------------------------------------------------------- + def spacing + return 8 + end + #-------------------------------------------------------------------------- + # * Calculate Width of Window Contents + #-------------------------------------------------------------------------- + def contents_width + (item_width + spacing) * item_max - spacing + end + #-------------------------------------------------------------------------- + # * Calculate Height of Window Contents + #-------------------------------------------------------------------------- + def contents_height + item_height + end + #-------------------------------------------------------------------------- + # * Get Leading Digits + #-------------------------------------------------------------------------- + def top_col + ox / (item_width + spacing) + end + #-------------------------------------------------------------------------- + # * Set Leading Digits + #-------------------------------------------------------------------------- + def top_col=(col) + col = 0 if col < 0 + col = col_max - 1 if col > col_max - 1 + self.ox = col * (item_width + spacing) + end + #-------------------------------------------------------------------------- + # * Get Trailing Digits + #-------------------------------------------------------------------------- + def bottom_col + top_col + col_max - 1 + end + #-------------------------------------------------------------------------- + # * Set Trailing Digits + #-------------------------------------------------------------------------- + def bottom_col=(col) + self.top_col = col - (col_max - 1) + end + #-------------------------------------------------------------------------- + # * Scroll Cursor to Position Within Screen + #-------------------------------------------------------------------------- + def ensure_cursor_visible + self.top_col = index if index < top_col + self.bottom_col = index if index > bottom_col + end + #-------------------------------------------------------------------------- + # * Get Rectangle for Displaying Items + #-------------------------------------------------------------------------- + def item_rect(index) + rect = super + rect.x = index * (item_width + spacing) + rect.y = 0 + rect + end + #-------------------------------------------------------------------------- + # * Get Alignment + #-------------------------------------------------------------------------- + def alignment + return 1 + end + #-------------------------------------------------------------------------- + # * Move Cursor Down + #-------------------------------------------------------------------------- + def cursor_down(wrap = false) + end + #-------------------------------------------------------------------------- + # * Move Cursor Up + #-------------------------------------------------------------------------- + def cursor_up(wrap = false) + end + #-------------------------------------------------------------------------- + # * Move Cursor One Page Down + #-------------------------------------------------------------------------- + def cursor_pagedown + end + #-------------------------------------------------------------------------- + # * Move Cursor One Page Up + #-------------------------------------------------------------------------- + def cursor_pageup + end +end diff --git a/Scripts/RPG/Window_ItemCategory.rb b/Scripts/RPG/Window_ItemCategory.rb new file mode 100644 index 0000000..1d064f6 --- /dev/null +++ b/Scripts/RPG/Window_ItemCategory.rb @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_ItemCategory +#------------------------------------------------------------------------------ +# This window is for selecting a category of normal items and equipment +# on the item screen or shop screen. +#============================================================================== + +class Window_ItemCategory < Window_HorzCommand + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :item_window + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0) + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + Graphics.width + end + #-------------------------------------------------------------------------- + # * Get Digit Count + #-------------------------------------------------------------------------- + def col_max + return 4 + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + @item_window.category = current_symbol if @item_window + end + #-------------------------------------------------------------------------- + # * Create Command List + #-------------------------------------------------------------------------- + def make_command_list + add_command(Vocab::item, :item) + add_command(Vocab::weapon, :weapon) + add_command(Vocab::armor, :armor) + add_command(Vocab::key_item, :key_item) + end + #-------------------------------------------------------------------------- + # * Set Item Window + #-------------------------------------------------------------------------- + def item_window=(item_window) + @item_window = item_window + update + end +end diff --git a/Scripts/RPG/Window_ItemList.rb b/Scripts/RPG/Window_ItemList.rb new file mode 100644 index 0000000..64101be --- /dev/null +++ b/Scripts/RPG/Window_ItemList.rb @@ -0,0 +1,118 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_ItemList +#------------------------------------------------------------------------------ +# This window displays a list of party items on the item screen. +#============================================================================== + +class Window_ItemList < Window_Selectable + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y, width, height) + super + @category = :none + @data = [] + end + #-------------------------------------------------------------------------- + # * Set Category + #-------------------------------------------------------------------------- + def category=(category) + return if @category == category + @category = category + refresh + self.oy = 0 + end + #-------------------------------------------------------------------------- + # * Get Digit Count + #-------------------------------------------------------------------------- + def col_max + return 2 + end + #-------------------------------------------------------------------------- + # * Get Number of Items + #-------------------------------------------------------------------------- + def item_max + @data ? @data.size : 1 + end + #-------------------------------------------------------------------------- + # * Get Item + #-------------------------------------------------------------------------- + def item + @data && index >= 0 ? @data[index] : nil + end + #-------------------------------------------------------------------------- + # * Get Activation State of Selection Item + #-------------------------------------------------------------------------- + def current_item_enabled? + enable?(@data[index]) + end + #-------------------------------------------------------------------------- + # * Include in Item List? + #-------------------------------------------------------------------------- + def include?(item) + case @category + when :item + item.is_a?(RPG::Item) && !item.key_item? + when :weapon + item.is_a?(RPG::Weapon) + when :armor + item.is_a?(RPG::Armor) + when :key_item + item.is_a?(RPG::Item) && item.key_item? + else + false + end + end + #-------------------------------------------------------------------------- + # * Display in Enabled State? + #-------------------------------------------------------------------------- + def enable?(item) + $game_party.usable?(item) + end + #-------------------------------------------------------------------------- + # * Create Item List + #-------------------------------------------------------------------------- + def make_item_list + @data = $game_party.all_items.select {|item| include?(item) } + @data.push(nil) if include?(nil) + end + #-------------------------------------------------------------------------- + # * Restore Previous Selection Position + #-------------------------------------------------------------------------- + def select_last + select(@data.index($game_party.last_item.object) || 0) + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(index) + item = @data[index] + if item + rect = item_rect(index) + rect.width -= 4 + draw_item_name(item, rect.x, rect.y, enable?(item)) + draw_item_number(rect, item) + end + end + #-------------------------------------------------------------------------- + # * Draw Number of Items + #-------------------------------------------------------------------------- + def draw_item_number(rect, item) + draw_text(rect, sprintf(":%2d", $game_party.item_number(item)), 2) + end + #-------------------------------------------------------------------------- + # * Update Help Text + #-------------------------------------------------------------------------- + def update_help + @help_window.set_item(item) + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + make_item_list + create_contents + draw_all_items + end +end diff --git a/Scripts/RPG/Window_KeyItem.rb b/Scripts/RPG/Window_KeyItem.rb new file mode 100644 index 0000000..677a56a --- /dev/null +++ b/Scripts/RPG/Window_KeyItem.rb @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_KeyItem +#------------------------------------------------------------------------------ +# This window is used for the event command [Select Item]. +#============================================================================== + +class Window_KeyItem < Window_ItemList + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(message_window) + @message_window = message_window + super(0, 0, Graphics.width, fitting_height(4)) + self.openness = 0 + deactivate + set_handler(:ok, method(:on_ok)) + set_handler(:cancel, method(:on_cancel)) + end + #-------------------------------------------------------------------------- + # * Start Input Processing + #-------------------------------------------------------------------------- + def start + self.category = :key_item + update_placement + refresh + select(0) + open + activate + end + #-------------------------------------------------------------------------- + # * Update Window Position + #-------------------------------------------------------------------------- + def update_placement + if @message_window.y >= Graphics.height / 2 + self.y = 0 + else + self.y = Graphics.height - height + end + end + #-------------------------------------------------------------------------- + # * Processing at OK + #-------------------------------------------------------------------------- + def on_ok + result = item ? item.id : 0 + $game_variables[$game_message.item_choice_variable_id] = result + close + end + #-------------------------------------------------------------------------- + # * Processing at Cancel + #-------------------------------------------------------------------------- + def on_cancel + $game_variables[$game_message.item_choice_variable_id] = 0 + close + end +end diff --git a/Scripts/RPG/Window_MapName.rb b/Scripts/RPG/Window_MapName.rb new file mode 100644 index 0000000..1c60beb --- /dev/null +++ b/Scripts/RPG/Window_MapName.rb @@ -0,0 +1,97 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_MapName +#------------------------------------------------------------------------------ +# This window displays the map name. +#============================================================================== + +class Window_MapName < Window_Base + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0, window_width, fitting_height(1)) + self.opacity = 0 + self.contents_opacity = 0 + @show_count = 0 + refresh + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 240 + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + if @show_count > 0 && $game_map.name_display + update_fadein + @show_count -= 1 + else + update_fadeout + end + end + #-------------------------------------------------------------------------- + # * Update Fadein + #-------------------------------------------------------------------------- + def update_fadein + self.contents_opacity += 16 + end + #-------------------------------------------------------------------------- + # * Update Fadeout + #-------------------------------------------------------------------------- + def update_fadeout + self.contents_opacity -= 16 + end + #-------------------------------------------------------------------------- + # * Open Window + #-------------------------------------------------------------------------- + def open + refresh + @show_count = 150 + self.contents_opacity = 0 + self + end + #-------------------------------------------------------------------------- + # * Close Window + #-------------------------------------------------------------------------- + def close + @show_count = 0 + self + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + unless $game_map.display_name.empty? + draw_background(contents.rect) + draw_text(contents.rect, $game_map.display_name, 1) + end + end + #-------------------------------------------------------------------------- + # * Draw Background + #-------------------------------------------------------------------------- + def draw_background(rect) + temp_rect = rect.clone + temp_rect.width /= 2 + contents.gradient_fill_rect(temp_rect, back_color2, back_color1) + temp_rect.x = temp_rect.width + contents.gradient_fill_rect(temp_rect, back_color1, back_color2) + end + #-------------------------------------------------------------------------- + # * Get Background Color 1 + #-------------------------------------------------------------------------- + def back_color1 + Color.new(0, 0, 0, 192) + end + #-------------------------------------------------------------------------- + # * Get Background Color 2 + #-------------------------------------------------------------------------- + def back_color2 + Color.new(0, 0, 0, 0) + end +end diff --git a/Scripts/RPG/Window_MenuActor.rb b/Scripts/RPG/Window_MenuActor.rb new file mode 100644 index 0000000..a9a44b2 --- /dev/null +++ b/Scripts/RPG/Window_MenuActor.rb @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_MenuActor +#------------------------------------------------------------------------------ +# This window is for selecting actors that will be the target of item or +# skill use. +#============================================================================== + +class Window_MenuActor < Window_MenuStatus + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0) + self.visible = false + end + #-------------------------------------------------------------------------- + # * Processing When OK Button Is Pressed + #-------------------------------------------------------------------------- + def process_ok + $game_party.target_actor = $game_party.members[index] unless @cursor_all + call_ok_handler + end + #-------------------------------------------------------------------------- + # * Restore Previous Selection Position + #-------------------------------------------------------------------------- + def select_last + select($game_party.target_actor.index || 0) + end + #-------------------------------------------------------------------------- + # * Set Position of Cursor for Item + #-------------------------------------------------------------------------- + def select_for_item(item) + @cursor_fix = item.for_user? + @cursor_all = item.for_all? + if @cursor_fix + select($game_party.menu_actor.index) + elsif @cursor_all + select(0) + else + select_last + end + end +end diff --git a/Scripts/RPG/Window_MenuCommand.rb b/Scripts/RPG/Window_MenuCommand.rb new file mode 100644 index 0000000..f3e5d47 --- /dev/null +++ b/Scripts/RPG/Window_MenuCommand.rb @@ -0,0 +1,107 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_MenuCommand +#------------------------------------------------------------------------------ +# This command window appears on the menu screen. +#============================================================================== + +class Window_MenuCommand < Window_Command + #-------------------------------------------------------------------------- + # * Initialize Command Selection Position (Class Method) + #-------------------------------------------------------------------------- + def self.init_command_position + @@last_command_symbol = nil + end + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0) + select_last + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 160 + end + #-------------------------------------------------------------------------- + # * Get Number of Lines to Show + #-------------------------------------------------------------------------- + def visible_line_number + item_max + end + #-------------------------------------------------------------------------- + # * Create Command List + #-------------------------------------------------------------------------- + def make_command_list + add_main_commands + add_formation_command + add_original_commands + add_save_command + add_game_end_command + end + #-------------------------------------------------------------------------- + # * Add Main Commands to List + #-------------------------------------------------------------------------- + def add_main_commands + add_command(Vocab::item, :item, main_commands_enabled) + add_command(Vocab::skill, :skill, main_commands_enabled) + add_command(Vocab::equip, :equip, main_commands_enabled) + add_command(Vocab::status, :status, main_commands_enabled) + end + #-------------------------------------------------------------------------- + # * Add Formation to Command List + #-------------------------------------------------------------------------- + def add_formation_command + add_command(Vocab::formation, :formation, formation_enabled) + end + #-------------------------------------------------------------------------- + # * For Adding Original Commands + #-------------------------------------------------------------------------- + def add_original_commands + end + #-------------------------------------------------------------------------- + # * Add Save to Command List + #-------------------------------------------------------------------------- + def add_save_command + add_command(Vocab::save, :save, save_enabled) + end + #-------------------------------------------------------------------------- + # * Add Exit Game to Command List + #-------------------------------------------------------------------------- + def add_game_end_command + add_command(Vocab::game_end, :game_end) + end + #-------------------------------------------------------------------------- + # * Get Activation State of Main Commands + #-------------------------------------------------------------------------- + def main_commands_enabled + $game_party.exists + end + #-------------------------------------------------------------------------- + # * Get Activation State of Formation + #-------------------------------------------------------------------------- + def formation_enabled + $game_party.members.size >= 2 && !$game_system.formation_disabled + end + #-------------------------------------------------------------------------- + # * Get Activation State of Save + #-------------------------------------------------------------------------- + def save_enabled + !$game_system.save_disabled + end + #-------------------------------------------------------------------------- + # * Processing When OK Button Is Pressed + #-------------------------------------------------------------------------- + def process_ok + @@last_command_symbol = current_symbol + super + end + #-------------------------------------------------------------------------- + # * Restore Previous Selection Position + #-------------------------------------------------------------------------- + def select_last + select_symbol(@@last_command_symbol) + end +end diff --git a/Scripts/RPG/Window_MenuStatus.rb b/Scripts/RPG/Window_MenuStatus.rb new file mode 100644 index 0000000..788cc70 --- /dev/null +++ b/Scripts/RPG/Window_MenuStatus.rb @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_MenuStatus +#------------------------------------------------------------------------------ +# This window displays party member status on the menu screen. +#============================================================================== + +class Window_MenuStatus < Window_Selectable + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :pending_index # Pending position (for formation) + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y) + super(x, y, window_width, window_height) + @pending_index = -1 + refresh + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + Graphics.width - 160 + end + #-------------------------------------------------------------------------- + # * Get Window Height + #-------------------------------------------------------------------------- + def window_height + Graphics.height + end + #-------------------------------------------------------------------------- + # * Get Number of Items + #-------------------------------------------------------------------------- + def item_max + $game_party.members.size + end + #-------------------------------------------------------------------------- + # * Get Item Height + #-------------------------------------------------------------------------- + def item_height + (height - standard_padding * 2) / 4 + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(index) + actor = $game_party.members[index] + enabled = $game_party.battle_members.include?(actor) + rect = item_rect(index) + draw_item_background(index) + draw_actor_face(actor, rect.x + 1, rect.y + 1, enabled) + draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2) + end + #-------------------------------------------------------------------------- + # * Draw Background for Item + #-------------------------------------------------------------------------- + def draw_item_background(index) + if index == @pending_index + contents.fill_rect(item_rect(index), pending_color) + end + end + #-------------------------------------------------------------------------- + # * Processing When OK Button Is Pressed + #-------------------------------------------------------------------------- + def process_ok + super + $game_party.menu_actor = $game_party.members[index] + end + #-------------------------------------------------------------------------- + # * Restore Previous Selection Position + #-------------------------------------------------------------------------- + def select_last + select($game_party.menu_actor.index || 0) + end + #-------------------------------------------------------------------------- + # * Set Pending Position (for Formation) + #-------------------------------------------------------------------------- + def pending_index=(index) + last_pending_index = @pending_index + @pending_index = index + redraw_item(@pending_index) + redraw_item(last_pending_index) + end +end diff --git a/Scripts/RPG/Window_Message.rb b/Scripts/RPG/Window_Message.rb new file mode 100644 index 0000000..94439d9 --- /dev/null +++ b/Scripts/RPG/Window_Message.rb @@ -0,0 +1,398 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_Message +#------------------------------------------------------------------------------ +# This message window is used to display text. +#============================================================================== + +class Window_Message < Window_Base + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0, window_width, window_height) + self.z = 200 + self.openness = 0 + create_all_windows + create_back_bitmap + create_back_sprite + clear_instance_variables + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + Graphics.width + end + #-------------------------------------------------------------------------- + # * Get Window Height + #-------------------------------------------------------------------------- + def window_height + fitting_height(visible_line_number) + end + #-------------------------------------------------------------------------- + # * Clear Instance Variables + #-------------------------------------------------------------------------- + def clear_instance_variables + @fiber = nil # Fiber + @background = 0 # Background type + @position = 2 # Display position + clear_flags + end + #-------------------------------------------------------------------------- + # * Clear Flag + #-------------------------------------------------------------------------- + def clear_flags + @show_fast = false # Fast forward flag + @line_show_fast = false # Fast forward by line flag + @pause_skip = false # Input standby omission flag + end + #-------------------------------------------------------------------------- + # * Get Number of Lines to Show + #-------------------------------------------------------------------------- + def visible_line_number + return 4 + end + #-------------------------------------------------------------------------- + # * Free + #-------------------------------------------------------------------------- + def dispose + super + dispose_all_windows + dispose_back_bitmap + dispose_back_sprite + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + update_all_windows + update_back_sprite + update_fiber + end + #-------------------------------------------------------------------------- + # * Update Fiber + #-------------------------------------------------------------------------- + def update_fiber + if @fiber + @fiber.resume + elsif $game_message.busy? && !$game_message.scroll_mode + @fiber = Fiber.new { fiber_main } + @fiber.resume + else + $game_message.visible = false + end + end + #-------------------------------------------------------------------------- + # * Create All Windows + #-------------------------------------------------------------------------- + def create_all_windows + @gold_window = Window_Gold.new + @gold_window.x = Graphics.width - @gold_window.width + @gold_window.y = 0 + @gold_window.openness = 0 + @choice_window = Window_ChoiceList.new(self) + @number_window = Window_NumberInput.new(self) + @item_window = Window_KeyItem.new(self) + end + #-------------------------------------------------------------------------- + # * Create Background Bitmap + #-------------------------------------------------------------------------- + def create_back_bitmap + @back_bitmap = Bitmap.new(width, height) + rect1 = Rect.new(0, 0, width, 12) + rect2 = Rect.new(0, 12, width, height - 24) + rect3 = Rect.new(0, height - 12, width, 12) + @back_bitmap.gradient_fill_rect(rect1, back_color2, back_color1, true) + @back_bitmap.fill_rect(rect2, back_color1) + @back_bitmap.gradient_fill_rect(rect3, back_color1, back_color2, true) + end + #-------------------------------------------------------------------------- + # * Get Background Color 1 + #-------------------------------------------------------------------------- + def back_color1 + Color.new(0, 0, 0, 160) + end + #-------------------------------------------------------------------------- + # * Get Background Color 2 + #-------------------------------------------------------------------------- + def back_color2 + Color.new(0, 0, 0, 0) + end + #-------------------------------------------------------------------------- + # * Create Background Sprite + #-------------------------------------------------------------------------- + def create_back_sprite + @back_sprite = Sprite.new + @back_sprite.bitmap = @back_bitmap + @back_sprite.visible = false + @back_sprite.z = z - 1 + end + #-------------------------------------------------------------------------- + # * Free All Windows + #-------------------------------------------------------------------------- + def dispose_all_windows + @gold_window.dispose + @choice_window.dispose + @number_window.dispose + @item_window.dispose + end + #-------------------------------------------------------------------------- + # * Free Background Bitmap + #-------------------------------------------------------------------------- + def dispose_back_bitmap + @back_bitmap.dispose + end + #-------------------------------------------------------------------------- + # * Free Background Sprite + #-------------------------------------------------------------------------- + def dispose_back_sprite + @back_sprite.dispose + end + #-------------------------------------------------------------------------- + # * Update All Windows + #-------------------------------------------------------------------------- + def update_all_windows + @gold_window.update + @choice_window.update + @number_window.update + @item_window.update + end + #-------------------------------------------------------------------------- + # * Update Background Sprite + #-------------------------------------------------------------------------- + def update_back_sprite + @back_sprite.visible = (@background == 1) + @back_sprite.y = y + @back_sprite.opacity = openness + @back_sprite.update + end + #-------------------------------------------------------------------------- + # * Main Processing of Fiber + #-------------------------------------------------------------------------- + def fiber_main + $game_message.visible = true + update_background + update_placement + loop do + process_all_text if $game_message.has_text? + process_input + $game_message.clear + @gold_window.close + Fiber.yield + break unless text_continue? + end + close_and_wait + $game_message.visible = false + @fiber = nil + end + #-------------------------------------------------------------------------- + # * Update Window Background + #-------------------------------------------------------------------------- + def update_background + @background = $game_message.background + self.opacity = @background == 0 ? 255 : 0 + end + #-------------------------------------------------------------------------- + # * Update Window Position + #-------------------------------------------------------------------------- + def update_placement + @position = $game_message.position + self.y = @position * (Graphics.height - height) / 2 + @gold_window.y = y > 0 ? 0 : Graphics.height - @gold_window.height + end + #-------------------------------------------------------------------------- + # * Process All Text + #-------------------------------------------------------------------------- + def process_all_text + open_and_wait + text = convert_escape_characters($game_message.all_text) + pos = {} + new_page(text, pos) + process_character(text.slice!(0, 1), text, pos) until text.empty? + end + #-------------------------------------------------------------------------- + # * Input Processing + #-------------------------------------------------------------------------- + def process_input + if $game_message.choice? + input_choice + elsif $game_message.num_input? + input_number + elsif $game_message.item_choice? + input_item + else + input_pause unless @pause_skip + end + end + #-------------------------------------------------------------------------- + # * Open Window and Wait for It to Fully Open + #-------------------------------------------------------------------------- + def open_and_wait + open + Fiber.yield until open? + end + #-------------------------------------------------------------------------- + # * Close Window and Wait for It to Fully Close + #-------------------------------------------------------------------------- + def close_and_wait + close + Fiber.yield until all_close? + end + #-------------------------------------------------------------------------- + # * Determine if All Windows Are Fully Closed + #-------------------------------------------------------------------------- + def all_close? + close? && @choice_window.close? && + @number_window.close? && @item_window.close? + end + #-------------------------------------------------------------------------- + # * Determine Whether to Continue Displaying Text + #-------------------------------------------------------------------------- + def text_continue? + $game_message.has_text? && !settings_changed? + end + #-------------------------------------------------------------------------- + # * Determine if Background and Position Changed + #-------------------------------------------------------------------------- + def settings_changed? + @background != $game_message.background || + @position != $game_message.position + end + #-------------------------------------------------------------------------- + # * Wait + #-------------------------------------------------------------------------- + def wait(duration) + duration.times { Fiber.yield } + end + #-------------------------------------------------------------------------- + # * Update Fast Forward Flag + #-------------------------------------------------------------------------- + def update_show_fast + @show_fast = true if Input.trigger?(:C) + end + #-------------------------------------------------------------------------- + # * Wait After Output of One Character + #-------------------------------------------------------------------------- + def wait_for_one_character + update_show_fast + Fiber.yield unless @show_fast || @line_show_fast + end + #-------------------------------------------------------------------------- + # * New Page + #-------------------------------------------------------------------------- + def new_page(text, pos) + contents.clear + draw_face($game_message.face_name, $game_message.face_index, 0, 0) + reset_font_settings + pos[:x] = new_line_x + pos[:y] = 0 + pos[:new_x] = new_line_x + pos[:height] = calc_line_height(text) + clear_flags + end + #-------------------------------------------------------------------------- + # * Get New Line Position + #-------------------------------------------------------------------------- + def new_line_x + $game_message.face_name.empty? ? 0 : 112 + end + #-------------------------------------------------------------------------- + # * Normal Character Processing + #-------------------------------------------------------------------------- + def process_normal_character(c, pos) + super + wait_for_one_character + end + #-------------------------------------------------------------------------- + # * New Line Character Processing + #-------------------------------------------------------------------------- + def process_new_line(text, pos) + @line_show_fast = false + super + if need_new_page?(text, pos) + input_pause + new_page(text, pos) + end + end + #-------------------------------------------------------------------------- + # * Determine if New Page Is Needed + #-------------------------------------------------------------------------- + def need_new_page?(text, pos) + pos[:y] + pos[:height] > contents.height && !text.empty? + end + #-------------------------------------------------------------------------- + # * New Page Character Processing + #-------------------------------------------------------------------------- + def process_new_page(text, pos) + text.slice!(/^\n/) + input_pause + new_page(text, pos) + end + #-------------------------------------------------------------------------- + # * Icon Drawing Process by Control Characters + #-------------------------------------------------------------------------- + def process_draw_icon(icon_index, pos) + super + wait_for_one_character + end + #-------------------------------------------------------------------------- + # * Control Character Processing + # code : the core of the control character + # e.g. "C" in the case of the control character \C[1]. + # text : character string buffer in drawing processing (destructive) + # pos : draw position {:x, :y, :new_x, :height} + #-------------------------------------------------------------------------- + def process_escape_character(code, text, pos) + case code.upcase + when '$' + @gold_window.open + when '.' + wait(15) + when '|' + wait(60) + when '!' + input_pause + when '>' + @line_show_fast = true + when '<' + @line_show_fast = false + when '^' + @pause_skip = true + else + super + end + end + #-------------------------------------------------------------------------- + # * Input Pause Processing + #-------------------------------------------------------------------------- + def input_pause + self.pause = true + wait(10) + Fiber.yield until Input.trigger?(:B) || Input.trigger?(:C) + Input.update + self.pause = false + end + #-------------------------------------------------------------------------- + # * Choice Input Processing + #-------------------------------------------------------------------------- + def input_choice + @choice_window.start + Fiber.yield while @choice_window.active + end + #-------------------------------------------------------------------------- + # * Number Input Processing + #-------------------------------------------------------------------------- + def input_number + @number_window.start + Fiber.yield while @number_window.active + end + #-------------------------------------------------------------------------- + # * Item Selection Processing + #-------------------------------------------------------------------------- + def input_item + @item_window.start + Fiber.yield while @item_window.active + end +end diff --git a/Scripts/RPG/Window_NameEdit.rb b/Scripts/RPG/Window_NameEdit.rb new file mode 100644 index 0000000..407fdbf --- /dev/null +++ b/Scripts/RPG/Window_NameEdit.rb @@ -0,0 +1,130 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_NameEdit +#------------------------------------------------------------------------------ +# This window is used to edit an actor's name on the name input screen. +#============================================================================== + +class Window_NameEdit < Window_Base + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :name # name + attr_reader :index # cursor position + attr_reader :max_char # maximum number of characters + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(actor, max_char) + x = (Graphics.width - 360) / 2 + y = (Graphics.height - (fitting_height(4) + fitting_height(9) + 8)) / 2 + super(x, y, 360, fitting_height(4)) + @actor = actor + @max_char = max_char + @default_name = @name = actor.name[0, @max_char] + @index = @name.size + deactivate + refresh + end + #-------------------------------------------------------------------------- + # * Revert to Default Name + #-------------------------------------------------------------------------- + def restore_default + @name = @default_name + @index = @name.size + refresh + return !@name.empty? + end + #-------------------------------------------------------------------------- + # * Add Text Character + # ch : character to add + #-------------------------------------------------------------------------- + def add(ch) + return false if @index >= @max_char + @name += ch + @index += 1 + refresh + return true + end + #-------------------------------------------------------------------------- + # * Go Back One Character + #-------------------------------------------------------------------------- + def back + return false if @index == 0 + @index -= 1 + @name = @name[0, @index] + refresh + return true + end + #-------------------------------------------------------------------------- + # * Get Width of Face Graphic + #-------------------------------------------------------------------------- + def face_width + return 96 + end + #-------------------------------------------------------------------------- + # * Get Character Width + #-------------------------------------------------------------------------- + def char_width + text_size($game_system.japanese? ? "あ" : "A").width + end + #-------------------------------------------------------------------------- + # * Get Coordinates of Left Side for Drawing Name + #-------------------------------------------------------------------------- + def left + name_center = (contents_width + face_width) / 2 + name_width = (@max_char + 1) * char_width + return [name_center - name_width / 2, contents_width - name_width].min + end + #-------------------------------------------------------------------------- + # * Get Rectangle for Displaying Item + #-------------------------------------------------------------------------- + def item_rect(index) + Rect.new(left + index * char_width, 36, char_width, line_height) + end + #-------------------------------------------------------------------------- + # * Get Underline Rectangle + #-------------------------------------------------------------------------- + def underline_rect(index) + rect = item_rect(index) + rect.x += 1 + rect.y += rect.height - 4 + rect.width -= 2 + rect.height = 2 + rect + end + #-------------------------------------------------------------------------- + # * Get Underline Color + #-------------------------------------------------------------------------- + def underline_color + color = normal_color + color.alpha = 48 + color + end + #-------------------------------------------------------------------------- + # * Draw Underline + #-------------------------------------------------------------------------- + def draw_underline(index) + contents.fill_rect(underline_rect(index), underline_color) + end + #-------------------------------------------------------------------------- + # * Draw Text + #-------------------------------------------------------------------------- + def draw_char(index) + rect = item_rect(index) + rect.x -= 1 + rect.width += 4 + change_color(normal_color) + draw_text(rect, @name[index] || "") + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + draw_actor_face(@actor, 0, 0) + @max_char.times {|i| draw_underline(i) } + @name.size.times {|i| draw_char(i) } + cursor_rect.set(item_rect(@index)) + end +end diff --git a/Scripts/RPG/Window_NameInput.rb b/Scripts/RPG/Window_NameInput.rb new file mode 100644 index 0000000..63a9c39 --- /dev/null +++ b/Scripts/RPG/Window_NameInput.rb @@ -0,0 +1,254 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_NameInput +#------------------------------------------------------------------------------ +# This window is used to select text characters on the name input screen. +#============================================================================== + +class Window_NameInput < Window_Selectable + #-------------------------------------------------------------------------- + # * Character Tables (Latin) + #-------------------------------------------------------------------------- + LATIN1 = [ 'A','B','C','D','E', 'a','b','c','d','e', + 'F','G','H','I','J', 'f','g','h','i','j', + 'K','L','M','N','O', 'k','l','m','n','o', + 'P','Q','R','S','T', 'p','q','r','s','t', + 'U','V','W','X','Y', 'u','v','w','x','y', + 'Z','[',']','^','_', 'z','{','}','|','~', + '0','1','2','3','4', '!','#','$','%','&', + '5','6','7','8','9', '(',')','*','+','-', + '/','=','@','<','>', ':',';',' ','Page','OK'] + LATIN2 = [ 'Á','É','Í','Ó','Ú', 'á','é','í','ó','ú', + 'À','È','Ì','Ò','Ù', 'à','è','ì','ò','ù', + 'Â','Ê','Î','Ô','Û', 'â','ê','î','ô','û', + 'Ä','Ë','Ï','Ö','Ü', 'ä','ë','ï','ö','ü', + 'Ā','Ē','Ī','Ō','Ū', 'ā','ē','ī','ō','ū', + 'Ã','Å','Æ','Ç','Ð', 'ã','å','æ','ç','ð', + 'Ñ','Õ','Ø','Š','Ŵ', 'ñ','õ','ø','š','ŵ', + 'Ý','Ŷ','Ÿ','Ž','Þ', 'ý','ÿ','ŷ','ž','þ', + 'IJ','Œ','ij','œ','ß', '«','»',' ','Page','OK'] + #-------------------------------------------------------------------------- + # * Character Tables (Japanese) + #-------------------------------------------------------------------------- + JAPAN1 = [ 'あ','い','う','え','お', 'が','ぎ','ぐ','げ','ご', + 'か','き','く','け','こ', 'ざ','じ','ず','ぜ','ぞ', + 'さ','し','す','せ','そ', 'だ','ぢ','づ','で','ど', + 'た','ち','つ','て','と', 'ば','び','ぶ','べ','ぼ', + 'な','に','ぬ','ね','の', 'ぱ','ぴ','ぷ','ぺ','ぽ', + 'は','ひ','ふ','へ','ほ', 'ぁ','ぃ','ぅ','ぇ','ぉ', + 'ま','み','む','め','も', 'っ','ゃ','ゅ','ょ','ゎ', + 'や','ゆ','よ','わ','ん', 'ー','~','・','=','☆', + 'ら','り','る','れ','ろ', 'ゔ','を',' ','カナ','決定'] + JAPAN2 = [ 'ア','イ','ウ','エ','オ', 'ガ','ギ','グ','ゲ','ゴ', + 'カ','キ','ク','ケ','コ', 'ザ','ジ','ズ','ゼ','ゾ', + 'サ','シ','ス','セ','ソ', 'ダ','ヂ','ヅ','デ','ド', + 'タ','チ','ツ','テ','ト', 'バ','ビ','ブ','ベ','ボ', + 'ナ','ニ','ヌ','ネ','ノ', 'パ','ピ','プ','ペ','ポ', + 'ハ','ヒ','フ','ヘ','ホ', 'ァ','ィ','ゥ','ェ','ォ', + 'マ','ミ','ム','メ','モ', 'ッ','ャ','ュ','ョ','ヮ', + 'ヤ','ユ','ヨ','ワ','ン', 'ー','~','・','=','☆', + 'ラ','リ','ル','レ','ロ', 'ヴ','ヲ',' ','英数','決定'] + JAPAN3 = [ 'A','B','C','D','E', 'a','b','c','d','e', + 'F','G','H','I','J', 'f','g','h','i','j', + 'K','L','M','N','O', 'k','l','m','n','o', + 'P','Q','R','S','T', 'p','q','r','s','t', + 'U','V','W','X','Y', 'u','v','w','x','y', + 'Z','[',']','^','_', 'z','{','}','|','~', + '0','1','2','3','4', '!','#','$','%','&', + '5','6','7','8','9', '(',')','*','+','-', + '/','=','@','<','>', ':',';',' ','かな','決定'] + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(edit_window) + super(edit_window.x, edit_window.y + edit_window.height + 8, + edit_window.width, fitting_height(9)) + @edit_window = edit_window + @page = 0 + @index = 0 + refresh + update_cursor + activate + end + #-------------------------------------------------------------------------- + # * Get Text Table + #-------------------------------------------------------------------------- + def table + return [JAPAN1, JAPAN2, JAPAN3] if $game_system.japanese? + return [LATIN1, LATIN2] + end + #-------------------------------------------------------------------------- + # * Get Text Character + #-------------------------------------------------------------------------- + def character + @index < 88 ? table[@page][@index] : "" + end + #-------------------------------------------------------------------------- + # * Determining if Page Changed and Cursor Location + #-------------------------------------------------------------------------- + def is_page_change? + @index == 88 + end + #-------------------------------------------------------------------------- + # * Determine Cursor Location: Confirmation + #-------------------------------------------------------------------------- + def is_ok? + @index == 89 + end + #-------------------------------------------------------------------------- + # * Get Rectangle for Displaying Item + #-------------------------------------------------------------------------- + def item_rect(index) + rect = Rect.new + rect.x = index % 10 * 32 + index % 10 / 5 * 16 + rect.y = index / 10 * line_height + rect.width = 32 + rect.height = line_height + rect + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + change_color(normal_color) + 90.times {|i| draw_text(item_rect(i), table[@page][i], 1) } + end + #-------------------------------------------------------------------------- + # * Update Cursor + #-------------------------------------------------------------------------- + def update_cursor + cursor_rect.set(item_rect(@index)) + end + #-------------------------------------------------------------------------- + # * Determine if Cursor is Moveable + #-------------------------------------------------------------------------- + def cursor_movable? + active + end + #-------------------------------------------------------------------------- + # * Move Cursor Down + # wrap : Wraparound allowed + #-------------------------------------------------------------------------- + def cursor_down(wrap) + if @index < 80 or wrap + @index = (index + 10) % 90 + end + end + #-------------------------------------------------------------------------- + # * Move Cursor Up + # wrap : Wraparound allowed + #-------------------------------------------------------------------------- + def cursor_up(wrap) + if @index >= 10 or wrap + @index = (index + 80) % 90 + end + end + #-------------------------------------------------------------------------- + # * Move Cursor Right + # wrap : Wraparound allowed + #-------------------------------------------------------------------------- + def cursor_right(wrap) + if @index % 10 < 9 + @index += 1 + elsif wrap + @index -= 9 + end + end + #-------------------------------------------------------------------------- + # * Move Cursor Left + # wrap : Wraparound allowed + #-------------------------------------------------------------------------- + def cursor_left(wrap) + if @index % 10 > 0 + @index -= 1 + elsif wrap + @index += 9 + end + end + #-------------------------------------------------------------------------- + # * Move to Next Page + #-------------------------------------------------------------------------- + def cursor_pagedown + @page = (@page + 1) % table.size + refresh + end + #-------------------------------------------------------------------------- + # * Move to Previous Page + #-------------------------------------------------------------------------- + def cursor_pageup + @page = (@page + table.size - 1) % table.size + refresh + end + #-------------------------------------------------------------------------- + # * Cursor Movement Processing + #-------------------------------------------------------------------------- + def process_cursor_move + last_page = @page + super + update_cursor + Sound.play_cursor if @page != last_page + end + #-------------------------------------------------------------------------- + # * Handling Processing for OK and Cancel Etc. + #-------------------------------------------------------------------------- + def process_handling + return unless open? && active + process_jump if Input.trigger?(:A) + process_back if Input.repeat?(:B) + process_ok if Input.trigger?(:C) + end + #-------------------------------------------------------------------------- + # * Jump to OK + #-------------------------------------------------------------------------- + def process_jump + if @index != 89 + @index = 89 + Sound.play_cursor + end + end + #-------------------------------------------------------------------------- + # * Go Back One Character + #-------------------------------------------------------------------------- + def process_back + Sound.play_cancel if @edit_window.back + end + #-------------------------------------------------------------------------- + # * Processing When OK Button Is Pressed + #-------------------------------------------------------------------------- + def process_ok + if !character.empty? + on_name_add + elsif is_page_change? + Sound.play_ok + cursor_pagedown + elsif is_ok? + on_name_ok + end + end + #-------------------------------------------------------------------------- + # * Add Text to Name + #-------------------------------------------------------------------------- + def on_name_add + if @edit_window.add(character) + Sound.play_ok + else + Sound.play_buzzer + end + end + #-------------------------------------------------------------------------- + # * Decide Name + #-------------------------------------------------------------------------- + def on_name_ok + if @edit_window.name.empty? + if @edit_window.restore_default + Sound.play_ok + else + Sound.play_buzzer + end + else + Sound.play_ok + call_ok_handler + end + end +end diff --git a/Scripts/RPG/Window_NumberInput.rb b/Scripts/RPG/Window_NumberInput.rb new file mode 100644 index 0000000..3878460 --- /dev/null +++ b/Scripts/RPG/Window_NumberInput.rb @@ -0,0 +1,149 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_NumberInput +#------------------------------------------------------------------------------ +# This window is used for the event command [Input Number]. +#============================================================================== + +class Window_NumberInput < Window_Base + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(message_window) + @message_window = message_window + super(0, 0, 0, 0) + @number = 0 + @digits_max = 1 + @index = 0 + self.openness = 0 + deactivate + end + #-------------------------------------------------------------------------- + # * Start Input Processing + #-------------------------------------------------------------------------- + def start + @digits_max = $game_message.num_input_digits_max + @number = $game_variables[$game_message.num_input_variable_id] + @number = [[@number, 0].max, 10 ** @digits_max - 1].min + @index = 0 + update_placement + create_contents + refresh + open + activate + end + #-------------------------------------------------------------------------- + # * Update Window Position + #-------------------------------------------------------------------------- + def update_placement + self.width = @digits_max * 20 + padding * 2 + self.height = fitting_height(1) + self.x = (Graphics.width - width) / 2 + if @message_window.y >= Graphics.height / 2 + self.y = @message_window.y - height - 8 + else + self.y = @message_window.y + @message_window.height + 8 + end + end + #-------------------------------------------------------------------------- + # * Move Cursor Right + # wrap : Wraparound allowed + #-------------------------------------------------------------------------- + def cursor_right(wrap) + if @index < @digits_max - 1 || wrap + @index = (@index + 1) % @digits_max + end + end + #-------------------------------------------------------------------------- + # * Move Cursor Left + # wrap : Wraparound allowed + #-------------------------------------------------------------------------- + def cursor_left(wrap) + if @index > 0 || wrap + @index = (@index + @digits_max - 1) % @digits_max + end + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + process_cursor_move + process_digit_change + process_handling + update_cursor + end + #-------------------------------------------------------------------------- + # * Cursor Movement Processing + #-------------------------------------------------------------------------- + def process_cursor_move + return unless active + last_index = @index + cursor_right(Input.trigger?(:RIGHT)) if Input.repeat?(:RIGHT) + cursor_left (Input.trigger?(:LEFT)) if Input.repeat?(:LEFT) + Sound.play_cursor if @index != last_index + end + #-------------------------------------------------------------------------- + # * Change Processing for Digits + #-------------------------------------------------------------------------- + def process_digit_change + return unless active + if Input.repeat?(:UP) || Input.repeat?(:DOWN) + Sound.play_cursor + place = 10 ** (@digits_max - 1 - @index) + n = @number / place % 10 + @number -= n * place + n = (n + 1) % 10 if Input.repeat?(:UP) + n = (n + 9) % 10 if Input.repeat?(:DOWN) + @number += n * place + refresh + end + end + #-------------------------------------------------------------------------- + # * Handling Processing for OK and Cancel + #-------------------------------------------------------------------------- + def process_handling + return unless active + return process_ok if Input.trigger?(:C) + return process_cancel if Input.trigger?(:B) + end + #-------------------------------------------------------------------------- + # * Processing When OK Button Is Pressed + #-------------------------------------------------------------------------- + def process_ok + Sound.play_ok + $game_variables[$game_message.num_input_variable_id] = @number + deactivate + close + end + #-------------------------------------------------------------------------- + # * Processing When Cancel Button Is Pressed + #-------------------------------------------------------------------------- + def process_cancel + end + #-------------------------------------------------------------------------- + # * Get Rectangle for Displaying Item + #-------------------------------------------------------------------------- + def item_rect(index) + Rect.new(index * 20, 0, 20, line_height) + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + change_color(normal_color) + s = sprintf("%0*d", @digits_max, @number) + @digits_max.times do |i| + rect = item_rect(i) + rect.x += 1 + draw_text(rect, s[i,1], 1) + end + end + #-------------------------------------------------------------------------- + # * Update Cursor + #-------------------------------------------------------------------------- + def update_cursor + cursor_rect.set(item_rect(@index)) + end +end diff --git a/Scripts/RPG/Window_PartyCommand.rb b/Scripts/RPG/Window_PartyCommand.rb new file mode 100644 index 0000000..8dec145 --- /dev/null +++ b/Scripts/RPG/Window_PartyCommand.rb @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_PartyCommand +#------------------------------------------------------------------------------ +# This window is used to select whether to fight or escape on the battle +# screen. +#============================================================================== + +class Window_PartyCommand < Window_Command + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0) + self.openness = 0 + deactivate + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 128 + end + #-------------------------------------------------------------------------- + # * Get Number of Lines to Show + #-------------------------------------------------------------------------- + def visible_line_number + return 4 + end + #-------------------------------------------------------------------------- + # * Create Command List + #-------------------------------------------------------------------------- + def make_command_list + add_command(Vocab::fight, :fight) + add_command(Vocab::escape, :escape, BattleManager.can_escape?) + end + #-------------------------------------------------------------------------- + # * Setup + #-------------------------------------------------------------------------- + def setup + clear_command_list + make_command_list + refresh + select(0) + activate + open + end +end diff --git a/Scripts/RPG/Window_SaveFile.rb b/Scripts/RPG/Window_SaveFile.rb new file mode 100644 index 0000000..fbfbaa0 --- /dev/null +++ b/Scripts/RPG/Window_SaveFile.rb @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_SaveFile +#------------------------------------------------------------------------------ +# This window displays save files on the save and load screens. +#============================================================================== + +class Window_SaveFile < Window_Base + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :selected # selected + #-------------------------------------------------------------------------- + # * Object Initialization + # index : index of save files + #-------------------------------------------------------------------------- + def initialize(height, index) + super(0, index * height, Graphics.width, height) + @file_index = index + refresh + @selected = false + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + change_color(normal_color) + name = Vocab::File + " #{@file_index + 1}" + draw_text(4, 0, 200, line_height, name) + @name_width = text_size(name).width + draw_party_characters(152, 58) + draw_playtime(0, contents.height - line_height, contents.width - 4, 2) + end + #-------------------------------------------------------------------------- + # * Draw Party Characters + #-------------------------------------------------------------------------- + def draw_party_characters(x, y) + header = DataManager.load_header(@file_index) + return unless header + header[:characters].each_with_index do |data, i| + draw_character(data[0], data[1], x + i * 48, y) + end + end + #-------------------------------------------------------------------------- + # * Draw Play Time + #-------------------------------------------------------------------------- + def draw_playtime(x, y, width, align) + header = DataManager.load_header(@file_index) + return unless header + draw_text(x, y, width, line_height, header[:playtime_s], 2) + end + #-------------------------------------------------------------------------- + # * Set Selected + #-------------------------------------------------------------------------- + def selected=(selected) + @selected = selected + update_cursor + end + #-------------------------------------------------------------------------- + # * Update Cursor + #-------------------------------------------------------------------------- + def update_cursor + if @selected + cursor_rect.set(0, 0, @name_width + 8, line_height) + else + cursor_rect.empty + end + end +end diff --git a/Scripts/RPG/Window_ScrollText.rb b/Scripts/RPG/Window_ScrollText.rb new file mode 100644 index 0000000..231eb84 --- /dev/null +++ b/Scripts/RPG/Window_ScrollText.rb @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_ScrollText +#------------------------------------------------------------------------------ +# This window is for displaying scrolling text. No frame is displayed, but it +# is handled as a window for convenience. +#============================================================================== + +class Window_ScrollText < Window_Base + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0, Graphics.width, Graphics.height) + self.opacity = 0 + self.arrows_visible = false + hide + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + if $game_message.scroll_mode + update_message if @text + start_message if !@text && $game_message.has_text? + end + end + #-------------------------------------------------------------------------- + # * Start Message + #-------------------------------------------------------------------------- + def start_message + @text = $game_message.all_text + refresh + show + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + reset_font_settings + update_all_text_height + create_contents + draw_text_ex(4, 0, @text) + self.oy = @scroll_pos = -height + end + #-------------------------------------------------------------------------- + # * Update Height Needed to Draw All Text + #-------------------------------------------------------------------------- + def update_all_text_height + @all_text_height = 1 + convert_escape_characters(@text).each_line do |line| + @all_text_height += calc_line_height(line, false) + end + reset_font_settings + end + #-------------------------------------------------------------------------- + # * Calculate Height of Window Contents + #-------------------------------------------------------------------------- + def contents_height + @all_text_height ? @all_text_height : super + end + #-------------------------------------------------------------------------- + # * Update Message + #-------------------------------------------------------------------------- + def update_message + @scroll_pos += scroll_speed + self.oy = @scroll_pos + terminate_message if @scroll_pos >= contents.height + end + #-------------------------------------------------------------------------- + # * Get Scroll Speed + #-------------------------------------------------------------------------- + def scroll_speed + $game_message.scroll_speed * (show_fast? ? 1.0 : 0.5) + end + #-------------------------------------------------------------------------- + # * Determine if Fast Forward + #-------------------------------------------------------------------------- + def show_fast? + !$game_message.scroll_no_fast && (Input.press?(:A) || Input.press?(:C)) + end + #-------------------------------------------------------------------------- + # * End Message + #-------------------------------------------------------------------------- + def terminate_message + @text = nil + $game_message.clear + hide + end +end diff --git a/Scripts/RPG/Window_Selectable.rb b/Scripts/RPG/Window_Selectable.rb new file mode 100644 index 0000000..1827c0b --- /dev/null +++ b/Scripts/RPG/Window_Selectable.rb @@ -0,0 +1,443 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_Selectable +#------------------------------------------------------------------------------ +# This window class contains cursor movement and scroll functions. +#============================================================================== + +class Window_Selectable < Window_Base + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :index # cursor position + attr_reader :help_window # help window + attr_accessor :cursor_fix # fix cursor flag + attr_accessor :cursor_all # select all cursors flag + #-------------------------------------------------------------------------- + # * Object Initialization + #------------------------------------------------------------------------- + def initialize(x, y, width, height) + super + @index = -1 + @handler = {} + @cursor_fix = false + @cursor_all = false + update_padding + deactivate + end + #-------------------------------------------------------------------------- + # * Get Digit Count + #-------------------------------------------------------------------------- + def col_max + return 1 + end + #-------------------------------------------------------------------------- + # * Get Spacing for Items Arranged Side by Side + #-------------------------------------------------------------------------- + def spacing + return 32 + end + #-------------------------------------------------------------------------- + # * Get Number of Items + #-------------------------------------------------------------------------- + def item_max + return 0 + end + #-------------------------------------------------------------------------- + # * Get Item Width + #-------------------------------------------------------------------------- + def item_width + (width - standard_padding * 2 + spacing) / col_max - spacing + end + #-------------------------------------------------------------------------- + # * Get Item Height + #-------------------------------------------------------------------------- + def item_height + line_height + end + #-------------------------------------------------------------------------- + # * Get Row Count + #-------------------------------------------------------------------------- + def row_max + [(item_max + col_max - 1) / col_max, 1].max + end + #-------------------------------------------------------------------------- + # * Calculate Height of Window Contents + #-------------------------------------------------------------------------- + def contents_height + [super - super % item_height, row_max * item_height].max + end + #-------------------------------------------------------------------------- + # * Update Padding + #-------------------------------------------------------------------------- + def update_padding + super + update_padding_bottom + end + #-------------------------------------------------------------------------- + # * Update Bottom Padding + #-------------------------------------------------------------------------- + def update_padding_bottom + surplus = (height - standard_padding * 2) % item_height + self.padding_bottom = padding + surplus + end + #-------------------------------------------------------------------------- + # * Set Height + #-------------------------------------------------------------------------- + def height=(height) + super + update_padding + end + #-------------------------------------------------------------------------- + # * Change Active State + #-------------------------------------------------------------------------- + def active=(active) + super + update_cursor + call_update_help + end + #-------------------------------------------------------------------------- + # * Set Cursor Position + #-------------------------------------------------------------------------- + def index=(index) + @index = index + update_cursor + call_update_help + end + #-------------------------------------------------------------------------- + # * Select Item + #-------------------------------------------------------------------------- + def select(index) + self.index = index if index + end + #-------------------------------------------------------------------------- + # * Deselect Item + #-------------------------------------------------------------------------- + def unselect + self.index = -1 + end + #-------------------------------------------------------------------------- + # * Get Current Line + #-------------------------------------------------------------------------- + def row + index / col_max + end + #-------------------------------------------------------------------------- + # * Get Top Row + #-------------------------------------------------------------------------- + def top_row + oy / item_height + end + #-------------------------------------------------------------------------- + # * Set Top Row + #-------------------------------------------------------------------------- + def top_row=(row) + row = 0 if row < 0 + row = row_max - 1 if row > row_max - 1 + self.oy = row * item_height + end + #-------------------------------------------------------------------------- + # * Get Number of Rows Displayable on 1 Page + #-------------------------------------------------------------------------- + def page_row_max + (height - padding - padding_bottom) / item_height + end + #-------------------------------------------------------------------------- + # * Get Number of Items Displayable on 1 Page + #-------------------------------------------------------------------------- + def page_item_max + page_row_max * col_max + end + #-------------------------------------------------------------------------- + # * Determine Horizontal Selection + #-------------------------------------------------------------------------- + def horizontal? + page_row_max == 1 + end + #-------------------------------------------------------------------------- + # * Get Bottom Row + #-------------------------------------------------------------------------- + def bottom_row + top_row + page_row_max - 1 + end + #-------------------------------------------------------------------------- + # * Set Bottom Row + #-------------------------------------------------------------------------- + def bottom_row=(row) + self.top_row = row - (page_row_max - 1) + end + #-------------------------------------------------------------------------- + # * Get Rectangle for Drawing Items + #-------------------------------------------------------------------------- + def item_rect(index) + rect = Rect.new + rect.width = item_width + rect.height = item_height + rect.x = index % col_max * (item_width + spacing) + rect.y = index / col_max * item_height + rect + end + #-------------------------------------------------------------------------- + # * Get Rectangle for Drawing Items (for Text) + #-------------------------------------------------------------------------- + def item_rect_for_text(index) + rect = item_rect(index) + rect.x += 4 + rect.width -= 8 + rect + end + #-------------------------------------------------------------------------- + # * Set Help Window + #-------------------------------------------------------------------------- + def help_window=(help_window) + @help_window = help_window + call_update_help + end + #-------------------------------------------------------------------------- + # * Set Handler Corresponding to Operation + # method : Method set as a handler (Method object) + #-------------------------------------------------------------------------- + def set_handler(symbol, method) + @handler[symbol] = method + end + #-------------------------------------------------------------------------- + # * Check for Handler Existence + #-------------------------------------------------------------------------- + def handle?(symbol) + @handler.include?(symbol) + end + #-------------------------------------------------------------------------- + # * Call Handler + #-------------------------------------------------------------------------- + def call_handler(symbol) + @handler[symbol].call if handle?(symbol) + end + #-------------------------------------------------------------------------- + # * Determine if Cursor is Moveable + #-------------------------------------------------------------------------- + def cursor_movable? + active && open? && !@cursor_fix && !@cursor_all && item_max > 0 + end + #-------------------------------------------------------------------------- + # * Move Cursor Down + #-------------------------------------------------------------------------- + def cursor_down(wrap = false) + if index < item_max - col_max || (wrap && col_max == 1) + select((index + col_max) % item_max) + end + end + #-------------------------------------------------------------------------- + # * Move Cursor Up + #-------------------------------------------------------------------------- + def cursor_up(wrap = false) + if index >= col_max || (wrap && col_max == 1) + select((index - col_max + item_max) % item_max) + end + end + #-------------------------------------------------------------------------- + # * Move Cursor Right + #-------------------------------------------------------------------------- + def cursor_right(wrap = false) + if col_max >= 2 && (index < item_max - 1 || (wrap && horizontal?)) + select((index + 1) % item_max) + end + end + #-------------------------------------------------------------------------- + # * Move Cursor Left + #-------------------------------------------------------------------------- + def cursor_left(wrap = false) + if col_max >= 2 && (index > 0 || (wrap && horizontal?)) + select((index - 1 + item_max) % item_max) + end + end + #-------------------------------------------------------------------------- + # * Move Cursor One Page Down + #-------------------------------------------------------------------------- + def cursor_pagedown + if top_row + page_row_max < row_max + self.top_row += page_row_max + select([@index + page_item_max, item_max - 1].min) + end + end + #-------------------------------------------------------------------------- + # * Move Cursor One Page Up + #-------------------------------------------------------------------------- + def cursor_pageup + if top_row > 0 + self.top_row -= page_row_max + select([@index - page_item_max, 0].max) + end + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + process_cursor_move + process_handling + end + #-------------------------------------------------------------------------- + # * Cursor Movement Processing + #-------------------------------------------------------------------------- + def process_cursor_move + return unless cursor_movable? + last_index = @index + cursor_down (Input.trigger?(:DOWN)) if Input.repeat?(:DOWN) + cursor_up (Input.trigger?(:UP)) if Input.repeat?(:UP) + cursor_right(Input.trigger?(:RIGHT)) if Input.repeat?(:RIGHT) + cursor_left (Input.trigger?(:LEFT)) if Input.repeat?(:LEFT) + cursor_pagedown if !handle?(:pagedown) && Input.trigger?(:R) + cursor_pageup if !handle?(:pageup) && Input.trigger?(:L) + Sound.play_cursor if @index != last_index + end + #-------------------------------------------------------------------------- + # * Handling Processing for OK and Cancel Etc. + #-------------------------------------------------------------------------- + def process_handling + return unless open? && active + return process_ok if ok_enabled? && Input.trigger?(:C) + return process_cancel if cancel_enabled? && Input.trigger?(:B) + return process_pagedown if handle?(:pagedown) && Input.trigger?(:R) + return process_pageup if handle?(:pageup) && Input.trigger?(:L) + end + #-------------------------------------------------------------------------- + # * Get Activation State of OK Processing + #-------------------------------------------------------------------------- + def ok_enabled? + handle?(:ok) + end + #-------------------------------------------------------------------------- + # * Get Activation State of Cancel Processing + #-------------------------------------------------------------------------- + def cancel_enabled? + handle?(:cancel) + end + #-------------------------------------------------------------------------- + # * Processing When OK Button Is Pressed + #-------------------------------------------------------------------------- + def process_ok + if current_item_enabled? + Sound.play_ok + Input.update + deactivate + call_ok_handler + else + Sound.play_buzzer + end + end + #-------------------------------------------------------------------------- + # * Call OK Handler + #-------------------------------------------------------------------------- + def call_ok_handler + call_handler(:ok) + end + #-------------------------------------------------------------------------- + # * Processing When Cancel Button Is Pressed + #-------------------------------------------------------------------------- + def process_cancel + Sound.play_cancel + Input.update + deactivate + call_cancel_handler + end + #-------------------------------------------------------------------------- + # * Call Cancel Handler + #-------------------------------------------------------------------------- + def call_cancel_handler + call_handler(:cancel) + end + #-------------------------------------------------------------------------- + # * Processing When L Button (Page Up) Is Pressed + #-------------------------------------------------------------------------- + def process_pageup + Sound.play_cursor + Input.update + deactivate + call_handler(:pageup) + end + #-------------------------------------------------------------------------- + # * Processing When R Button (Page Down) Is Pressed + #-------------------------------------------------------------------------- + def process_pagedown + Sound.play_cursor + Input.update + deactivate + call_handler(:pagedown) + end + #-------------------------------------------------------------------------- + # * Update Cursor + #-------------------------------------------------------------------------- + def update_cursor + if @cursor_all + cursor_rect.set(0, 0, contents.width, row_max * item_height) + self.top_row = 0 + elsif @index < 0 + cursor_rect.empty + else + ensure_cursor_visible + cursor_rect.set(item_rect(@index)) + end + end + #-------------------------------------------------------------------------- + # * Scroll Cursor to Position Within Screen + #-------------------------------------------------------------------------- + def ensure_cursor_visible + self.top_row = row if row < top_row + self.bottom_row = row if row > bottom_row + end + #-------------------------------------------------------------------------- + # * Call Help Window Update Method + #-------------------------------------------------------------------------- + def call_update_help + update_help if active && @help_window + end + #-------------------------------------------------------------------------- + # * Update Help Window + #-------------------------------------------------------------------------- + def update_help + @help_window.clear + end + #-------------------------------------------------------------------------- + # * Get Activation State of Selection Item + #-------------------------------------------------------------------------- + def current_item_enabled? + return true + end + #-------------------------------------------------------------------------- + # * Draw All Items + #-------------------------------------------------------------------------- + def draw_all_items + item_max.times {|i| draw_item(i) } + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(index) + end + #-------------------------------------------------------------------------- + # * Erase Item + #-------------------------------------------------------------------------- + def clear_item(index) + contents.clear_rect(item_rect(index)) + end + #-------------------------------------------------------------------------- + # * Redraw Item + #-------------------------------------------------------------------------- + def redraw_item(index) + clear_item(index) if index >= 0 + draw_item(index) if index >= 0 + end + #-------------------------------------------------------------------------- + # * Redraw Selection Item + #-------------------------------------------------------------------------- + def redraw_current_item + redraw_item(@index) + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + draw_all_items + end +end diff --git a/Scripts/RPG/Window_ShopBuy.rb b/Scripts/RPG/Window_ShopBuy.rb new file mode 100644 index 0000000..204e4f4 --- /dev/null +++ b/Scripts/RPG/Window_ShopBuy.rb @@ -0,0 +1,116 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_ShopBuy +#------------------------------------------------------------------------------ +# This window displays a list of buyable goods on the shop screen. +#============================================================================== + +class Window_ShopBuy < Window_Selectable + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :status_window # Status window + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y, height, shop_goods) + super(x, y, window_width, height) + @shop_goods = shop_goods + @money = 0 + refresh + select(0) + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 304 + end + #-------------------------------------------------------------------------- + # * Get Number of Items + #-------------------------------------------------------------------------- + def item_max + @data ? @data.size : 1 + end + #-------------------------------------------------------------------------- + # * Get Item + #-------------------------------------------------------------------------- + def item + @data[index] + end + #-------------------------------------------------------------------------- + # * Set Party Gold + #-------------------------------------------------------------------------- + def money=(money) + @money = money + refresh + end + #-------------------------------------------------------------------------- + # * Get Activation State of Selection Item + #-------------------------------------------------------------------------- + def current_item_enabled? + enable?(@data[index]) + end + #-------------------------------------------------------------------------- + # * Get Price of Item + #-------------------------------------------------------------------------- + def price(item) + @price[item] + end + #-------------------------------------------------------------------------- + # * Display in Enabled State? + #-------------------------------------------------------------------------- + def enable?(item) + item && price(item) <= @money && !$game_party.item_max?(item) + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + make_item_list + create_contents + draw_all_items + end + #-------------------------------------------------------------------------- + # * Create Item List + #-------------------------------------------------------------------------- + def make_item_list + @data = [] + @price = {} + @shop_goods.each do |goods| + case goods[0] + when 0; item = $data_items[goods[1]] + when 1; item = $data_weapons[goods[1]] + when 2; item = $data_armors[goods[1]] + end + if item + @data.push(item) + @price[item] = goods[2] == 0 ? item.price : goods[3] + end + end + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(index) + item = @data[index] + rect = item_rect(index) + draw_item_name(item, rect.x, rect.y, enable?(item)) + rect.width -= 4 + draw_text(rect, price(item), 2) + end + #-------------------------------------------------------------------------- + # * Set Status Window + #-------------------------------------------------------------------------- + def status_window=(status_window) + @status_window = status_window + call_update_help + end + #-------------------------------------------------------------------------- + # * Update Help Text + #-------------------------------------------------------------------------- + def update_help + @help_window.set_item(item) if @help_window + @status_window.item = item if @status_window + end +end diff --git a/Scripts/RPG/Window_ShopCommand.rb b/Scripts/RPG/Window_ShopCommand.rb new file mode 100644 index 0000000..7c14736 --- /dev/null +++ b/Scripts/RPG/Window_ShopCommand.rb @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_ShopCommand +#------------------------------------------------------------------------------ +# This window is for selecting buy/sell on the shop screen. +#============================================================================== + +class Window_ShopCommand < Window_HorzCommand + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(window_width, purchase_only) + @window_width = window_width + @purchase_only = purchase_only + super(0, 0) + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + @window_width + end + #-------------------------------------------------------------------------- + # * Get Digit Count + #-------------------------------------------------------------------------- + def col_max + return 3 + end + #-------------------------------------------------------------------------- + # * Create Command List + #-------------------------------------------------------------------------- + def make_command_list + add_command(Vocab::ShopBuy, :buy) + add_command(Vocab::ShopSell, :sell, !@purchase_only) + add_command(Vocab::ShopCancel, :cancel) + end +end diff --git a/Scripts/RPG/Window_ShopNumber.rb b/Scripts/RPG/Window_ShopNumber.rb new file mode 100644 index 0000000..c036047 --- /dev/null +++ b/Scripts/RPG/Window_ShopNumber.rb @@ -0,0 +1,140 @@ +# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- + +#============================================================================== +# ** Window_ShopNumber +#------------------------------------------------------------------------------ +# This window is for inputting quantity of items to buy or sell on the shop +# screen. +#============================================================================== + +class Window_ShopNumber < Window_Selectable + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :number # quantity entered + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y, height) + super(x, y, window_width, height) + @item = nil + @max = 1 + @price = 0 + @number = 1 + @currency_unit = Vocab::currency_unit + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 304 + end + #-------------------------------------------------------------------------- + # * Set Item, Max Quantity, Price, and Currency Unit + #-------------------------------------------------------------------------- + def set(item, max, price, currency_unit = nil) + @item = item + @max = max + @price = price + @currency_unit = currency_unit if currency_unit + @number = 1 + refresh + end + #-------------------------------------------------------------------------- + # * Set Currency Unit + #-------------------------------------------------------------------------- + def currency_unit=(currency_unit) + @currency_unit = currency_unit + refresh + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + draw_item_name(@item, 0, item_y) + draw_number + draw_total_price + end + #-------------------------------------------------------------------------- + # * Draw Quantity + #-------------------------------------------------------------------------- + def draw_number + change_color(normal_color) + draw_text(cursor_x - 28, item_y, 22, line_height, "×") + draw_text(cursor_x, item_y, cursor_width - 4, line_height, @number, 2) + end + #-------------------------------------------------------------------------- + # * Draw Total Price + #-------------------------------------------------------------------------- + def draw_total_price + width = contents_width - 8 + draw_currency_value(@price * @number, @currency_unit, 4, price_y, width) + end + #-------------------------------------------------------------------------- + # * Y Coordinate of Item Name Display Line + #-------------------------------------------------------------------------- + def item_y + contents_height / 2 - line_height * 3 / 2 + end + #-------------------------------------------------------------------------- + # * Y Coordinate of Price Display Line + #-------------------------------------------------------------------------- + def price_y + contents_height / 2 + line_height / 2 + end + #-------------------------------------------------------------------------- + # * Get Cursor Width + #-------------------------------------------------------------------------- + def cursor_width + figures * 10 + 12 + end + #-------------------------------------------------------------------------- + # * Get X Coordinate of Cursor + #-------------------------------------------------------------------------- + def cursor_x + contents_width - cursor_width - 4 + end + #-------------------------------------------------------------------------- + # * Get Maximum Number of Digits for Quantity Display + #-------------------------------------------------------------------------- + def figures + return 2 + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + if active + last_number = @number + update_number + if @number != last_number + Sound.play_cursor + refresh + end + end + end + #-------------------------------------------------------------------------- + # * Update Quantity + #-------------------------------------------------------------------------- + def update_number + change_number(1) if Input.repeat?(:RIGHT) + change_number(-1) if Input.repeat?(:LEFT) + change_number(10) if Input.repeat?(:UP) + change_number(-10) if Input.repeat?(:DOWN) + end + #-------------------------------------------------------------------------- + # * Change Quantity + #-------------------------------------------------------------------------- + def change_number(amount) + @number = [[@number + amount, @max].min, 1].max + end + #-------------------------------------------------------------------------- + # * Update Cursor + #-------------------------------------------------------------------------- + def update_cursor + cursor_rect.set(cursor_x, item_y, cursor_width, line_height) + end +end diff --git a/Scripts/RPG/Window_ShopNumber.rb~ b/Scripts/RPG/Window_ShopNumber.rb~ new file mode 100644 index 0000000..e6cd100 --- /dev/null +++ b/Scripts/RPG/Window_ShopNumber.rb~ @@ -0,0 +1,137 @@ +#============================================================================== +# ** Window_ShopNumber +#------------------------------------------------------------------------------ +# This window is for inputting quantity of items to buy or sell on the shop +# screen. +#============================================================================== + +class Window_ShopNumber < Window_Selectable + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :number # quantity entered + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y, height) + super(x, y, window_width, height) + @item = nil + @max = 1 + @price = 0 + @number = 1 + @currency_unit = Vocab::currency_unit + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 304 + end + #-------------------------------------------------------------------------- + # * Set Item, Max Quantity, Price, and Currency Unit + #-------------------------------------------------------------------------- + def set(item, max, price, currency_unit = nil) + @item = item + @max = max + @price = price + @currency_unit = currency_unit if currency_unit + @number = 1 + refresh + end + #-------------------------------------------------------------------------- + # * Set Currency Unit + #-------------------------------------------------------------------------- + def currency_unit=(currency_unit) + @currency_unit = currency_unit + refresh + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + draw_item_name(@item, 0, item_y) + draw_number + draw_total_price + end + #-------------------------------------------------------------------------- + # * Draw Quantity + #-------------------------------------------------------------------------- + def draw_number + change_color(normal_color) + draw_text(cursor_x - 28, item_y, 22, line_height, "×") + draw_text(cursor_x, item_y, cursor_width - 4, line_height, @number, 2) + end + #-------------------------------------------------------------------------- + # * Draw Total Price + #-------------------------------------------------------------------------- + def draw_total_price + width = contents_width - 8 + draw_currency_value(@price * @number, @currency_unit, 4, price_y, width) + end + #-------------------------------------------------------------------------- + # * Y Coordinate of Item Name Display Line + #-------------------------------------------------------------------------- + def item_y + contents_height / 2 - line_height * 3 / 2 + end + #-------------------------------------------------------------------------- + # * Y Coordinate of Price Display Line + #-------------------------------------------------------------------------- + def price_y + contents_height / 2 + line_height / 2 + end + #-------------------------------------------------------------------------- + # * Get Cursor Width + #-------------------------------------------------------------------------- + def cursor_width + figures * 10 + 12 + end + #-------------------------------------------------------------------------- + # * Get X Coordinate of Cursor + #-------------------------------------------------------------------------- + def cursor_x + contents_width - cursor_width - 4 + end + #-------------------------------------------------------------------------- + # * Get Maximum Number of Digits for Quantity Display + #-------------------------------------------------------------------------- + def figures + return 2 + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + if active + last_number = @number + update_number + if @number != last_number + Sound.play_cursor + refresh + end + end + end + #-------------------------------------------------------------------------- + # * Update Quantity + #-------------------------------------------------------------------------- + def update_number + change_number(1) if Input.repeat?(:RIGHT) + change_number(-1) if Input.repeat?(:LEFT) + change_number(10) if Input.repeat?(:UP) + change_number(-10) if Input.repeat?(:DOWN) + end + #-------------------------------------------------------------------------- + # * Change Quantity + #-------------------------------------------------------------------------- + def change_number(amount) + @number = [[@number + amount, @max].min, 1].max + end + #-------------------------------------------------------------------------- + # * Update Cursor + #-------------------------------------------------------------------------- + def update_cursor + cursor_rect.set(cursor_x, item_y, cursor_width, line_height) + end +end diff --git a/Scripts/RPG/Window_ShopSell.rb b/Scripts/RPG/Window_ShopSell.rb new file mode 100644 index 0000000..7468e2d --- /dev/null +++ b/Scripts/RPG/Window_ShopSell.rb @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_ShopSell +#------------------------------------------------------------------------------ +# This window displays a list of items in possession for selling on the shop +# screen. +#============================================================================== + +class Window_ShopSell < Window_ItemList + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y, width, height) + super(x, y, width, height) + end + #-------------------------------------------------------------------------- + # * Get Activation State of Selection Item + #-------------------------------------------------------------------------- + def current_item_enabled? + enable?(@data[index]) + end + #-------------------------------------------------------------------------- + # * Display in Enabled State? + #-------------------------------------------------------------------------- + def enable?(item) + item && item.price > 0 + end +end diff --git a/Scripts/RPG/Window_ShopStatus.rb b/Scripts/RPG/Window_ShopStatus.rb new file mode 100644 index 0000000..9a2e21e --- /dev/null +++ b/Scripts/RPG/Window_ShopStatus.rb @@ -0,0 +1,125 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_ShopStatus +#------------------------------------------------------------------------------ +# This window displays number of items in possession and the actor's +# equipment on the shop screen. +#============================================================================== + +class Window_ShopStatus < Window_Base + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y, width, height) + super(x, y, width, height) + @item = nil + @page_index = 0 + refresh + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + draw_possession(4, 0) + draw_equip_info(4, line_height * 2) if @item.is_a?(RPG::EquipItem) + end + #-------------------------------------------------------------------------- + # * Set Item + #-------------------------------------------------------------------------- + def item=(item) + @item = item + refresh + end + #-------------------------------------------------------------------------- + # * Draw Quantity Possessed + #-------------------------------------------------------------------------- + def draw_possession(x, y) + rect = Rect.new(x, y, contents.width - 4 - x, line_height) + change_color(system_color) + draw_text(rect, Vocab::Possession) + change_color(normal_color) + draw_text(rect, $game_party.item_number(@item), 2) + end + #-------------------------------------------------------------------------- + # * Draw Equipment Information + #-------------------------------------------------------------------------- + def draw_equip_info(x, y) + status_members.each_with_index do |actor, i| + draw_actor_equip_info(x, y + line_height * (i * 2.4), actor) + end + end + #-------------------------------------------------------------------------- + # * Array of Actors for Which to Draw Equipment Information + #-------------------------------------------------------------------------- + def status_members + $game_party.members[@page_index * page_size, page_size] + end + #-------------------------------------------------------------------------- + # * Number of Actors Displayable at Once + #-------------------------------------------------------------------------- + def page_size + return 4 + end + #-------------------------------------------------------------------------- + # * Get Maximum Number of Pages + #-------------------------------------------------------------------------- + def page_max + ($game_party.members.size + page_size - 1) / page_size + end + #-------------------------------------------------------------------------- + # * Draw Actor Equipment Information + #-------------------------------------------------------------------------- + def draw_actor_equip_info(x, y, actor) + enabled = actor.equippable?(@item) + change_color(normal_color, enabled) + draw_text(x, y, 112, line_height, actor.name) + item1 = current_equipped_item(actor, @item.etype_id) + draw_actor_param_change(x, y, actor, item1) if enabled + draw_item_name(item1, x, y + line_height, enabled) + end + #-------------------------------------------------------------------------- + # * Draw Actor Parameter Change + #-------------------------------------------------------------------------- + def draw_actor_param_change(x, y, actor, item1) + rect = Rect.new(x, y, contents.width - 4 - x, line_height) + change = @item.params[param_id] - (item1 ? item1.params[param_id] : 0) + change_color(param_change_color(change)) + draw_text(rect, sprintf("%+d", change), 2) + end + #-------------------------------------------------------------------------- + # * Get Parameter ID Corresponding to Selected Item + # By default, ATK if weapon and DEF if armor. + #-------------------------------------------------------------------------- + def param_id + @item.is_a?(RPG::Weapon) ? 2 : 3 + end + #-------------------------------------------------------------------------- + # * Get Current Equipment + # Returns the weaker equipment if there is more than one of the same type, + # such as with dual wield. + #-------------------------------------------------------------------------- + def current_equipped_item(actor, etype_id) + list = [] + actor.equip_slots.each_with_index do |slot_etype_id, i| + list.push(actor.equips[i]) if slot_etype_id == etype_id + end + list.min_by {|item| item ? item.params[param_id] : 0 } + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + update_page + end + #-------------------------------------------------------------------------- + # * Update Page + #-------------------------------------------------------------------------- + def update_page + if visible && Input.trigger?(:A) && page_max > 1 + @page_index = (@page_index + 1) % page_max + refresh + end + end +end diff --git a/Scripts/RPG/Window_SkillCommand.rb b/Scripts/RPG/Window_SkillCommand.rb new file mode 100644 index 0000000..4cb468f --- /dev/null +++ b/Scripts/RPG/Window_SkillCommand.rb @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_SkillCommand +#------------------------------------------------------------------------------ +# This window is for selecting commands (special attacks, magic, etc.) on the +# skill screen. +#============================================================================== + +class Window_SkillCommand < Window_Command + #-------------------------------------------------------------------------- + # * Public Instance Variables + #-------------------------------------------------------------------------- + attr_reader :skill_window + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y) + super(x, y) + @actor = nil + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 160 + end + #-------------------------------------------------------------------------- + # * Set Actor + #-------------------------------------------------------------------------- + def actor=(actor) + return if @actor == actor + @actor = actor + refresh + select_last + end + #-------------------------------------------------------------------------- + # * Get Number of Lines to Show + #-------------------------------------------------------------------------- + def visible_line_number + return 4 + end + #-------------------------------------------------------------------------- + # * Create Command List + #-------------------------------------------------------------------------- + def make_command_list + return unless @actor + @actor.added_skill_types.sort.each do |stype_id| + name = $data_system.skill_types[stype_id] + add_command(name, :skill, true, stype_id) + end + end + #-------------------------------------------------------------------------- + # * Frame Update + #-------------------------------------------------------------------------- + def update + super + @skill_window.stype_id = current_ext if @skill_window + end + #-------------------------------------------------------------------------- + # * Set Skill Window + #-------------------------------------------------------------------------- + def skill_window=(skill_window) + @skill_window = skill_window + update + end + #-------------------------------------------------------------------------- + # * Restore Previous Selection Position + #-------------------------------------------------------------------------- + def select_last + skill = @actor.last_skill.object + if skill + select_ext(skill.stype_id) + else + select(0) + end + end +end diff --git a/Scripts/RPG/Window_SkillList.rb b/Scripts/RPG/Window_SkillList.rb new file mode 100644 index 0000000..b09feab --- /dev/null +++ b/Scripts/RPG/Window_SkillList.rb @@ -0,0 +1,122 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_SkillList +#------------------------------------------------------------------------------ +# This window is for displaying a list of available skills on the skill window. +#============================================================================== + +class Window_SkillList < Window_Selectable + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y, width, height) + super + @actor = nil + @stype_id = 0 + @data = [] + end + #-------------------------------------------------------------------------- + # * Set Actor + #-------------------------------------------------------------------------- + def actor=(actor) + return if @actor == actor + @actor = actor + refresh + self.oy = 0 + end + #-------------------------------------------------------------------------- + # * Set Skill Type ID + #-------------------------------------------------------------------------- + def stype_id=(stype_id) + return if @stype_id == stype_id + @stype_id = stype_id + refresh + self.oy = 0 + end + #-------------------------------------------------------------------------- + # * Get Digit Count + #-------------------------------------------------------------------------- + def col_max + return 2 + end + #-------------------------------------------------------------------------- + # * Get Number of Items + #-------------------------------------------------------------------------- + def item_max + @data ? @data.size : 1 + end + #-------------------------------------------------------------------------- + # * Get Skill + #-------------------------------------------------------------------------- + def item + @data && index >= 0 ? @data[index] : nil + end + #-------------------------------------------------------------------------- + # * Get Activation State of Selection Item + #-------------------------------------------------------------------------- + def current_item_enabled? + enable?(@data[index]) + end + #-------------------------------------------------------------------------- + # * Include in Skill List? + #-------------------------------------------------------------------------- + def include?(item) + item && item.stype_id == @stype_id + end + #-------------------------------------------------------------------------- + # * Display Skill in Active State? + #-------------------------------------------------------------------------- + def enable?(item) + @actor && @actor.usable?(item) + end + #-------------------------------------------------------------------------- + # * Create Skill List + #-------------------------------------------------------------------------- + def make_item_list + @data = @actor ? @actor.skills.select {|skill| include?(skill) } : [] + end + #-------------------------------------------------------------------------- + # * Restore Previous Selection Position + #-------------------------------------------------------------------------- + def select_last + select(@data.index(@actor.last_skill.object) || 0) + end + #-------------------------------------------------------------------------- + # * Draw Item + #-------------------------------------------------------------------------- + def draw_item(index) + skill = @data[index] + if skill + rect = item_rect(index) + rect.width -= 4 + draw_item_name(skill, rect.x, rect.y, enable?(skill)) + draw_skill_cost(rect, skill) + end + end + #-------------------------------------------------------------------------- + # * Draw Skill Use Cost + #-------------------------------------------------------------------------- + def draw_skill_cost(rect, skill) + if @actor.skill_tp_cost(skill) > 0 + change_color(tp_cost_color, enable?(skill)) + draw_text(rect, @actor.skill_tp_cost(skill), 2) + elsif @actor.skill_mp_cost(skill) > 0 + change_color(mp_cost_color, enable?(skill)) + draw_text(rect, @actor.skill_mp_cost(skill), 2) + end + end + #-------------------------------------------------------------------------- + # * Update Help Text + #-------------------------------------------------------------------------- + def update_help + @help_window.set_item(item) + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + make_item_list + create_contents + draw_all_items + end +end diff --git a/Scripts/RPG/Window_SkillStatus.rb b/Scripts/RPG/Window_SkillStatus.rb new file mode 100644 index 0000000..c3ec8db --- /dev/null +++ b/Scripts/RPG/Window_SkillStatus.rb @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_SkillStatus +#------------------------------------------------------------------------------ +# This window displays the skill user's status on the skill screen. +#============================================================================== + +class Window_SkillStatus < Window_Base + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(x, y) + super(x, y, window_width, fitting_height(4)) + @actor = nil + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + Graphics.width - 160 + end + #-------------------------------------------------------------------------- + # * Actor Settings + #-------------------------------------------------------------------------- + def actor=(actor) + return if @actor == actor + @actor = actor + refresh + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + return unless @actor + draw_actor_face(@actor, 0, 0) + draw_actor_simple_status(@actor, 108, line_height / 2) + end +end diff --git a/Scripts/RPG/Window_Status.rb b/Scripts/RPG/Window_Status.rb new file mode 100644 index 0000000..2d895e5 --- /dev/null +++ b/Scripts/RPG/Window_Status.rb @@ -0,0 +1,126 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_Status +#------------------------------------------------------------------------------ +# This window displays full status specs on the status screen. +#============================================================================== + +class Window_Status < Window_Selectable + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize(actor) + super(0, 0, Graphics.width, Graphics.height) + @actor = actor + refresh + activate + end + #-------------------------------------------------------------------------- + # * Set Actor + #-------------------------------------------------------------------------- + def actor=(actor) + return if @actor == actor + @actor = actor + refresh + end + #-------------------------------------------------------------------------- + # * Refresh + #-------------------------------------------------------------------------- + def refresh + contents.clear + draw_block1 (line_height * 0) + draw_horz_line(line_height * 1) + draw_block2 (line_height * 2) + draw_horz_line(line_height * 6) + draw_block3 (line_height * 7) + draw_horz_line(line_height * 13) + draw_block4 (line_height * 14) + end + #-------------------------------------------------------------------------- + # * Draw Block 1 + #-------------------------------------------------------------------------- + def draw_block1(y) + draw_actor_name(@actor, 4, y) + draw_actor_class(@actor, 128, y) + draw_actor_nickname(@actor, 288, y) + end + #-------------------------------------------------------------------------- + # * Draw Block 2 + #-------------------------------------------------------------------------- + def draw_block2(y) + draw_actor_face(@actor, 8, y) + draw_basic_info(136, y) + draw_exp_info(304, y) + end + #-------------------------------------------------------------------------- + # * Draw Block 3 + #-------------------------------------------------------------------------- + def draw_block3(y) + draw_parameters(32, y) + draw_equipments(288, y) + end + #-------------------------------------------------------------------------- + # * Draw Block 4 + #-------------------------------------------------------------------------- + def draw_block4(y) + draw_description(4, y) + end + #-------------------------------------------------------------------------- + # * Draw Horizontal Line + #-------------------------------------------------------------------------- + def draw_horz_line(y) + line_y = y + line_height / 2 - 1 + contents.fill_rect(0, line_y, contents_width, 2, line_color) + end + #-------------------------------------------------------------------------- + # * Get Color of Horizontal Line + #-------------------------------------------------------------------------- + def line_color + color = normal_color + color.alpha = 48 + color + end + #-------------------------------------------------------------------------- + # * Draw Basic Information + #-------------------------------------------------------------------------- + def draw_basic_info(x, y) + draw_actor_level(@actor, x, y + line_height * 0) + draw_actor_icons(@actor, x, y + line_height * 1) + draw_actor_hp(@actor, x, y + line_height * 2) + draw_actor_mp(@actor, x, y + line_height * 3) + end + #-------------------------------------------------------------------------- + # * Draw Parameters + #-------------------------------------------------------------------------- + def draw_parameters(x, y) + 6.times {|i| draw_actor_param(@actor, x, y + line_height * i, i + 2) } + end + #-------------------------------------------------------------------------- + # * Draw Experience Information + #-------------------------------------------------------------------------- + def draw_exp_info(x, y) + s1 = @actor.max_level? ? "-------" : @actor.exp + s2 = @actor.max_level? ? "-------" : @actor.next_level_exp - @actor.exp + s_next = sprintf(Vocab::ExpNext, Vocab::level) + change_color(system_color) + draw_text(x, y + line_height * 0, 180, line_height, Vocab::ExpTotal) + draw_text(x, y + line_height * 2, 180, line_height, s_next) + change_color(normal_color) + draw_text(x, y + line_height * 1, 180, line_height, s1, 2) + draw_text(x, y + line_height * 3, 180, line_height, s2, 2) + end + #-------------------------------------------------------------------------- + # * Draw Equipment + #-------------------------------------------------------------------------- + def draw_equipments(x, y) + @actor.equips.each_with_index do |item, i| + draw_item_name(item, x, y + line_height * i) + end + end + #-------------------------------------------------------------------------- + # * Draw Description + #-------------------------------------------------------------------------- + def draw_description(x, y) + draw_text_ex(x, y, @actor.description) + end +end diff --git a/Scripts/RPG/Window_TitleCommand.rb b/Scripts/RPG/Window_TitleCommand.rb new file mode 100644 index 0000000..e35643a --- /dev/null +++ b/Scripts/RPG/Window_TitleCommand.rb @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +#============================================================================== +# ** Window_TitleCommand +#------------------------------------------------------------------------------ +# This window is for selecting New Game/Continue on the title screen. +#============================================================================== + +class Window_TitleCommand < Window_Command + #-------------------------------------------------------------------------- + # * Object Initialization + #-------------------------------------------------------------------------- + def initialize + super(0, 0) + update_placement + select_symbol(:continue) if continue_enabled + self.openness = 0 + open + end + #-------------------------------------------------------------------------- + # * Get Window Width + #-------------------------------------------------------------------------- + def window_width + return 160 + end + #-------------------------------------------------------------------------- + # * Update Window Position + #-------------------------------------------------------------------------- + def update_placement + self.x = (Graphics.width - width) / 2 + self.y = (Graphics.height * 1.6 - height) / 2 + end + #-------------------------------------------------------------------------- + # * Create Command List + #-------------------------------------------------------------------------- + def make_command_list + add_command(Vocab::new_game, :new_game) + add_command(Vocab::continue, :continue, continue_enabled) + add_command(Vocab::shutdown, :shutdown) + end + #-------------------------------------------------------------------------- + # * Get Activation State of Continue + #-------------------------------------------------------------------------- + def continue_enabled + DataManager.save_file_exists? + end +end diff --git a/Scripts/RPG/_Insert_here_.rb b/Scripts/RPG/_Insert_here_.rb new file mode 100644 index 0000000..e0cd43a --- /dev/null +++ b/Scripts/RPG/_Insert_here_.rb @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +=begin + + +* To users of scripts + + * When using scripts obtained through online websites, + create a new section at this position and paste the script here. + (Select "Insert" from the pop-up menu in the left list box.) + + * If the creator of the script has any other special instructions, follow them. + + * In general, RPG Maker VX and RPG Maker XP scripts are not compatible, + so make sure the resources you have are for RPG Maker VX Ace + before you use them. + + +* To authors of scripts + + * When developing scripts to be distributed to the general public, + we recommend that you use redefinitions and aliases as much as + possible, to allow the script to run just by pasting it in this position. + + +=end diff --git a/System/RGSS301.dll b/System/RGSS301.dll new file mode 100755 index 0000000000000000000000000000000000000000..1f97aad9863dc93880c62c084442f002b5bd67c3 GIT binary patch literal 1085952 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

Die=xc*zG39 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

L_&kflr(>b$L^Os6 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%0AyNuM5isXPQuta(Mf*4wJrm>$ax9f&K!v_kjgHK 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 CqH{d} literal 0 HcmV?d00001

RFU_8j8%5rnb=Bc-g*8?s17T=>^H+!@VA^Ak>M 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�XxU;dZsRl>G%Q9?|nFLfi}@e!Ae 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 z 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 z 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 z p8Oire3PNW?3ZQzb2o_!ELkzUhQW}z)rPRX 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