約 1,652,064 件
https://w.atwiki.jp/animesongs/pages/4600.html
ドラえもん ドラミちゃん ENGLISH VERSION 英語盤 発売元・販売元 発売元:日本コロムビア 販売元 発売日 1980.05. 価格 600円(税抜き) 内容 ドラミちゃんのえかきうた A“DRAW DORAMICHAN”SONG 歌:REGINA M.DOI すってきな一週間 A WEEK IN OUR TIME MACHINE 歌:DUNCAN A.WILLIAMS/HENLY V.DRENNAN 備考
https://w.atwiki.jp/longboxman/pages/290.html
#blognavi アーティストサイト I Ought To Be Drawing カテゴリ [メモ] - trackback- 2007年03月13日 17 25 05 #blognavi
https://w.atwiki.jp/ninja22/pages/53.html
Processingでgraph 03 『ビジュアライジング・データ Processingによる情報視覚化手法』 を見ながらグラフを書いてみようと思います。 Processingでgraph 02のつづきです。 参考:pp.246 使うもの:Processing 単語の出てきた回数をEdgeクラスとNodeクラスのcountでカウントしていたので、これを使って、重要度を丸の大きさで表示。(ちなみに右クリックで固定解除。) (クリックで拡大) 作り方 (1) 先のプログラム同様、Nodeクラスのdraw() を以下のように書き換えます。(前回からの変更箇所に"//**"がついています。) void draw(){ if (fixed){ fill(nodeColor); stroke(0); strokeWeight(0.5); rectMode(CORNER); float w = textWidth(label) + 10; float h = textAscent() + textDescent() + 4; ellipse(x, y, count, count); //** fill(0); textAlign(CENTER, CENTER); text(label, x, y); } else { fill(nodeColor); stroke(0); strokeWeight(0.5); ellipse(x, y, count, count); //** } } どのグラフが好きか、使いたいか、相応しいかは自分で決めてください。 今回自分がこれを作成してみたのは、より扱いやすいマインドマップを作成したかったからです。Processingでgraphがこの程度できればマインドマップは作れるだろう…。 ◆ ◆ ◆
https://w.atwiki.jp/gtavi_gta6/pages/1456.html
ブロウラー (Brawler) ブロウラー (Brawler)詳細データ ステータス(無改造車) 解説 入手場所、出現場所オフライン オンライン 改造費用アーマー ブレーキ バンパー シャーシ エンジン ルーフ サスペンション トランスミッション ターボ 画像 参考モデル 動画 詳細 データ 種類 メーカー 和名 日本語訳 ドア 乗車定員 駆動 ギア オフロード コイル ブロウラー 取っ組み合い 2ドア 2人 FR 速 モデル ラジオ 主な選局 洗車 ローカルモーターズ・ラリーファイター 有り Channel X 可 プラットフォーム カスタム カラー デフォルトホイールタイプ オフライン オンライン 盗難車 正規購入車 PS3 / Xbox 360 可 - 可 メイン/サブ PS4 / Xbox One / PC プラットフォーム 価格 売却額 保険料 オフライン オンライン オンライン オンライン 盗難車 正規購入車 PS3 / Xbox 360 無料 $715,000 - $429,000 $8,937 {PS4 / Xbox One / PC $715,000 プラットフォーム ガレージ保管 オフライン オンライン 隠れ家ガレージ 物件ガレージ 自宅物件ガレージ 盗難車 正規購入車 PS3 / Xbox 360 可 - PS4 / Xbox One / PC ステータス(無改造車) 公称値 実測値 Top Speed(最高速度) 217km/h km/h Acceleration(0-100km/h加速時間)(*1) 6.2秒 秒 Braking(100-0km/h制動時間) - 秒 Weight(重量) 解説 2015年7月8日配信の『ダーティマネー・アップデートPart2』で実装されたオフロードカー。 Legendary Motorsportにおける公称値では出力400馬力、排気量5リッターのV8エンジンを搭載。 オフロードカーのスタイルとスポーツカーのようなスタイルが合わさった独特のスタイルが大きな特徴。 安定した加速力とトラクションを持ち、さらにオフロードカテゴリではインサージェントに次ぐ突進力を誇る。 特に加速力と最高速度はオフロードの中ではトップクラスの性能を持っている。 オフロード走行時の速度減少も少なく、悪路も爆走できるほどの高性能っぷり。 更に耐久度も比較的高く、アーマーを装備すれば思いっきりぶつけてもわずかなヘコみで済むほどの耐久力を誇る。 と、ここまで聞けばかなりの高性能ぶりがうかがえるが、その分だけ弱点も多い。 まずブレーキがかなり弱くオフロードを飛ばしているとブレーキが間に合わず落下……といったことになりかねない。 また、オフロードカーにもかかわらず後輪駆動(FR)(*2)なので坂道を登るのにも一苦労。 これに関してはモデル車がFRなので致し方ない所はある。 更に車高がそこまで高くなく、軽い段差で引っかかる事があるので注意。 バンシーなどと同じくボンネットは前方にヒンジがある前開きタイプ。 なので車両のリモート機能で開いてから走れば簡易的な盾として使えなくもない。 ただしバックすると外れてしまうので注意。 モデルとなったラリーファイターは世界初のオープンソースで開発された自動車として知られている。 砂漠のラリーレイドに参戦したいが、普通の四輪駆動車では自分の金持ちぶりを誇示できない? それなら、ちょうどいい車があります。 レーシングカーであり、オフロードカーでもある、強力なサスペンションを搭載した最高のマシンです。 ディープトレッドでチタン補強も施されたタイヤでは、 踏みつけているのが保護された大自然なのか、恵まれない連中なのか、その区別もつかないでしょう。 これが自然の成り行きというものです。 (Legendary Motorsport サイト内の解説より) 入手場所、出現場所 オフライン PS3・Xbox360 物件ガレージの特殊車両より選択。 強化版 「Legendary Motorsport」にて購入。 オンライン 「Legendary Motorsport」にて購入。 改造費用 唯一リアナンバープレートを二枚装備可能な車。 リアバンパーに一枚、スペアタイヤに一枚の計二枚。 アーマー アーマー 【6種】 費用 オフライン オンライン なし $500 $ アーマー強化20% $2,500 $ アーマー強化40% $6,250 $ アーマー強化60% $10,000 $ アーマー強化80% $17,500 $ アーマー強化100% $25,000 $ ブレーキ ブレーキ 【4種】 費用 オフライン オンライン ブレーキ(標準装備) $500 $ ストリート・ブレーキ $11,000 $ スポーツ・ブレーキ $13,500 $ レース・ブレーキ $17,500 $ バンパー バンパー 【6種】 費用 オフライン オンライン フロントバンパー(標準装備) $1,100 $ グリルガード・ライト $2,300 $ フック&ライトグリルガード $3,700 $ リアバンパー(標準装備) $ $ バンパーバー $2,300 $ バンパーバー&スペア $3,700 $ シャーシ シャーシ 【2種】 費用 オフライン オンライン シャーシ(標準装備) $350 $ ロールケージ $550 $ エンジン エンジン 【4種】 費用 オフライン オンライン EMSアップグレード:レベル1 $4,600 $ EMSアップグレード:レベル2 $6,250 $ EMSアップグレード:レベル3 $9,000 $ EMSアップグレード:レベル4 $16,750 $ ルーフ ルーフ 【4種】 費用 オフライン オンライン ルーフ(標準装備) $100 $ ライト $350 $ ラック付きライト $575 $ ライト&スペアホイール $800 $ サスペンション サスペンション 【5種】 費用 オフライン オンライン サスペンション(標準装備) $100 $ ロウアード・サスペンション $500 $ ストリート・サスペンション $1,000 $ スポーツ・サスペンション $1,700 $ コンペ・サスペンション $2,200 $ レース・サスペンション $2,300 $ トランスミッション トランスミッション 【4種】 費用 オフライン オンライン トランスミッション(標準装備) $500 $ ストリート・トランスミッション $14,750 $ スポーツ・トランスミッション $16,250 $ レース・トランスミッション $20,000 $ ターボ ターボ 【2種】 費用 オフライン オンライン なし $2,500 $ ターボチューニング $12,500 $ ※爆発物、クラクション、ナンバープレート、ペイント、ホイール、ウィンドウの改造費用は全車種共通。 詳細は乗り物 カスタマイズのページを参照。 画像 参考 モデル ローカルモーターズ・ラリーファイター 動画
https://w.atwiki.jp/travis/pages/13.html
戦績 告知 【最終更新】2008年12月12日 この戦績は5 5でやった時のみの記録です。 総合戦績 WIN / LOSE / DRAW 日付 W0 / L0 / D0 08/12/12 詳細戦績 クラン マップ WIN / LOSE 結果 日付 SS test test test test test O
https://w.atwiki.jp/ce00582/pages/3379.html
using System.Collections.Generic; using System.Linq; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; using Microsoft.Xna.Framework.Net; using Microsoft.Xna.Framework.Storage; namespace ren18 { /// summary /// This is the main type for your game /// /summary public class Game1 Microsoft.Xna.Framework.Game { private GraphicsDeviceManager graphics = null; int gtime; string st; private SpriteBatch spriteBatch = null; private SpriteFont font = null; public Game1() { // グラフィックデバイス管理クラスの作成 this.graphics = new GraphicsDeviceManager(this); // ゲームコンテンツのルートディレクトリを設定 this.Content.RootDirectory = "Content"; } protected override void Initialize() { gtime = 0; base.Initialize(); } protected override void LoadContent() { // テクスチャーを描画するためのスプライトバッチクラスを作成します this.spriteBatch = new SpriteBatch(this.GraphicsDevice); // フォントをコンテンツパイプラインから読み込む this.font = this.Content.Load SpriteFont ("Font"); } protected override void UnloadContent() { // TODO ContentManager で管理されていないコンテンツを // ここでアンロードしてください } protected override void Update(GameTime gameTime) { // Xbox 360 コントローラ、Windows Phone の BACK ボタンを押したときに // ゲームを終了させます if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) { this.Exit(); } gtime = gtime + 1; st = "aaaaaaa"; if (gtime 100) st = "ppppppp"; base.Update(gameTime); } protected override void Draw(GameTime gameTime) { // 画面を指定した色でクリアします this.GraphicsDevice.Clear(Color.CornflowerBlue); // スプライトの描画準備 this.spriteBatch.Begin(); // テキストをスプライトとして描画する this.spriteBatch.DrawString(this.font, st, new Vector2(100.0f,500.0f), Color.White); // スプライトの一括描画 this.spriteBatch.End(); // 登録された DrawableGameComponent を描画する base.Draw(gameTime); } } }
https://w.atwiki.jp/chugoku/pages/151.html
OpenCVの2.0には分類器のカスケードファイルがこれだけある。 C \OpenCV2.0\data\haarcascades このhaarcascadesフォルダをmain.cppファイルと同じフォルダにコピーする。OpenCV2.0をダウンロードしてインストールする時にパスの設定などをしないでインストールすれば複数バージョンの問題はない。 haarcascade_eye.xml haarcascade_eye_tree_eyeglasses.xml haarcascade_frontalface_alt.xml haarcascade_frontalface_alt2.xml haarcascade_frontalface_alt_tree.xml haarcascade_frontalface_default.xml haarcascade_fullbody.xml haarcascade_lefteye_2splits.xml haarcascade_lowerbody.xml haarcascade_mcs_eyepair_big.xml haarcascade_mcs_eyepair_small.xml haarcascade_mcs_lefteye.xml haarcascade_mcs_mouth.xml haarcascade_mcs_nose.xml haarcascade_mcs_righteye.xml haarcascade_mcs_upperbody.xml haarcascade_profileface.xml haarcascade_righteye_2splits.xml haarcascade_upperbody.xml main.cpp------------------------------------------------------ #include "cv.h" #include "highgui.h" #include stdio.h #include stdlib.h #include string.h #include assert.h #include math.h #include float.h #include limits.h #include time.h #include ctype.h #ifdef _EiC #define WIN32 #endif static CvMemStorage* storage = 0; static CvHaarClassifierCascade* cascade = 0; void detect_and_draw( IplImage* image ); const char* cascade_name = "haarcascades/haarcascade_eye.xml"; int main( int argc, char** argv ) { CvCapture* capture = 0; IplImage *frame, *frame_copy = 0; int optlen = strlen("--cascade="); const char* input_name; cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0 ); storage = cvCreateMemStorage(0); capture = cvCaptureFromCAM( 0 ); cvNamedWindow( "result", 1 ); if( capture ) { for(;;) { if( !cvGrabFrame( capture )) break; frame = cvRetrieveFrame( capture ); if( !frame ) break; if( !frame_copy ) frame_copy = cvCreateImage( cvSize(frame- width,frame- height), IPL_DEPTH_8U, frame- nChannels ); if( frame- origin == IPL_ORIGIN_TL ) cvCopy( frame, frame_copy, 0 ); else cvFlip( frame, frame_copy, 0 ); detect_and_draw( frame_copy ); if( cvWaitKey( 10 ) = 0 ) break; } cvReleaseImage( frame_copy ); cvReleaseCapture( capture ); } else { const char* filename = input_name ? input_name (char*)"lena.jpg"; IplImage* image = cvLoadImage( filename, 1 ); if( image ) { detect_and_draw( image ); cvWaitKey(0); cvReleaseImage( image ); } else { /* assume it is a text file containing the list of the image filenames to be processed - one per line */ FILE* f = fopen( filename, "rt" ); if( f ) { char buf[1000+1]; while( fgets( buf, 1000, f ) ) { int len = (int)strlen(buf); while( len 0 isspace(buf[len-1]) ) len--; buf[len] = \0 ; image = cvLoadImage( buf, 1 ); if( image ) { detect_and_draw( image ); cvWaitKey(0); cvReleaseImage( image ); } } fclose(f); } } } cvDestroyWindow("result"); return 0; } void detect_and_draw( IplImage* img ) { static CvScalar colors[] = { {{0,0,255}}, {{0,128,255}}, {{0,255,255}}, {{0,255,0}}, {{255,128,0}}, {{255,255,0}}, {{255,0,0}}, {{255,0,255}} }; double scale = 1.3; IplImage* gray = cvCreateImage( cvSize(img- width,img- height), 8, 1 ); IplImage* small_img = cvCreateImage( cvSize( cvRound (img- width/scale), cvRound (img- height/scale)), 8, 1 ); int i; cvCvtColor( img, gray, CV_BGR2GRAY ); cvResize( gray, small_img, CV_INTER_LINEAR ); cvEqualizeHist( small_img, small_img ); cvClearMemStorage( storage ); if( cascade ) { double t = (double)cvGetTickCount(); CvSeq* faces = cvHaarDetectObjects( small_img, cascade, storage, 1.1, 2, 0/*CV_HAAR_DO_CANNY_PRUNING*/, cvSize(30, 30) ); t = (double)cvGetTickCount() - t; printf( "detection time = %gms\n", t/((double)cvGetTickFrequency()*1000.) ); for( i = 0; i (faces ? faces- total 0); i++ ) { CvRect* r = (CvRect*)cvGetSeqElem( faces, i ); CvPoint center; int radius; center.x = cvRound((r- x + r- width*0.5)*scale); center.y = cvRound((r- y + r- height*0.5)*scale); radius = cvRound((r- width + r- height)*0.25*scale); cvCircle( img, center, radius, colors[i%8], 3, 8, 0 ); } } cvShowImage( "result", img ); cvReleaseImage( gray ); cvReleaseImage( small_img ); } 名前 コメント 「今日の訪問数 - 」 「昨日の訪問数 - 」 「今までの訪問数 - 」
https://w.atwiki.jp/mtgflavortext/pages/11246.html
変わり身は、今の姿が一番のお気に入りでも、新しい姿になるのを我慢できない。 Changelings cannot resist the draw of a new shape, even if doing so would be in their best interests. ローウィン 【M TG Wiki】 名前
https://w.atwiki.jp/mtgflavortext/pages/7118.html
彼女は物理的な境を越えて、すべての生物が力を引き出す大元に触れる。 She reaches beyond the physical realm, touching the ideals from which all creatures draw their power. エルドラージ覚醒 バトルボンド 【M TG Wiki】 名前
https://w.atwiki.jp/shiftupnet/pages/26.html
#============================================================================== # # リザルトウィンドウv1.5 # # ゆっちの小部屋 URL http //medaca99jp.blog48.fc2.com # # ○KGC様の多人数パーティと併用できるようにしてありますが # パーティメンバー数があまりにも多い場合、ウィンドウが画面に収まりきりません # その場合、VIEW_STAND_BY_MEMBERSをfalseにすれば # 待機メンバーの情報は表示されません。 # #============================================================================== #============================================================================== # ?VX RGSS2 「リザルトウィンドウ改」? # 永遠の夢に向かって # URL http //eiennoyumeni.hp.infoseek.co.jp/index.htm # 製作者 mitsu-evo # Last 2010/3/1 # ゆっちの小部屋様「リザルトウィンドウ」を「経験値計算式改造(一定化)」 # の併用を前提に作られた素材です。 # ▼ 経験値計算式改造(一定化)より下。 #============================================================================== $ed_rgss2 = {} if $ed_rgss2 == nil $ed_rgss2["ed_result_window"] = true =begin 3/1:戦車乗降システムに対応修正。 機能説明 ・経験値一定化に対応した素材です。 ・本来のリザルトウィンドウでの「EXP」は敵の経験値で、 アクターが獲得する経験値は「NEXT」の上の「GET_EXP」が獲得経験値です。 ・一定化の機能でレベル差によって経験値が変動するので パーティ全員が同じ経験値を獲得するものではありません。 改変内容 ・経験値計算式改造(一定化)との併用のために、レベルアップ処理や 一部のメソッドを削除・記述内容を変更して正常動作を目的とした 対応修正を行った。 ・経験値計算式改造(一定化)との併用が大前提なので このスクリプト単体では動作致しません。 ・機能拡張を行ったものではありません。 併用をしない場合には、オリジナルの素材をURLよりDLして下さい。 修正履歴 ・一定化と同じ経験値を取得した時の表示不具合を修正。9/11 ・経験値一定化の修正に対応。10/17 =end module BBL #============================================================================== # ■ カスタマイズ #============================================================================== # リザルト画面の早送りを禁止するなら false にしてください SKIP_PM = true # リザルト画面の早送りボタンです SKIP_KEY = Input C # 早送り時のカウント増加数です # ※この数値を増やすと早送り速度が上がります # (WAIT_TIMEと同値にすると、スキップ機能になります) SKIP_COUNT = 1 # リザルト画面でのウェイト時間(というかループ回数です) WAIT_TIME = 100 #--------------------------------------------------------------------------- # リザルト画面配置設定 # ※リザルト画面のメンバーリスト部分の配置やサイズを設定できます # ここでの数値にあわせて、その他のウィンドウサイズも変更されます # ※リザルトウィンドウとスキルウィンドウの横幅を画面二等分する場合の # 数値の例を記載しておきます # WINDOW_WIDTH = 272 # WINDOW_ACTOR_X = 0 # WINDOW_ACTOR_LEVEL = 48 # WINDOW_EXP_GAUGE_X = 112 # WINDOW_EXP_X = 112 #--------------------------------------------------------------------------- # リザルト画面の横幅です WINDOW_WIDTH = 304 # リザルト画面に表示するアクター画像の位置です WINDOW_ACTOR_X = 8 # リザルト画面に表示するアクターレベルの位置です WINDOW_ACTOR_LEVEL = 64 # リザルト画面に表示する経験値ゲージの位置です WINDOW_EXP_GAUGE_X = 136 # リザルト画面に表示するNext経験値の位置です WINDOW_EXP_X = 136 # アクターひとり分の縦幅です ACTOR_HEIGHT = 50 # EXPバーのグラデーションカラーです # ※EXP_COLOR1(左側)からEXP_COLOR2(右側)にバーのグラデーションが流れます EXP_COLOR1 = Color.new(150, 0, 255) EXP_COLOR2 = Color.new(150, 135, 255) # レベルアップ時のLV数値描画の色です LVUP_COLOR = Color.new(255, 220, 0) # リザルト画面でアクターの歩行グラフィックを表示する場合は 0 # 名前を表示する場合は 1 # ※アクターの名前が6文字以上だとLV表示と重なっちゃいます VIEW_ACTOR = 0 # EXPウィンドウに表示する経験値の用語です VIEW_EXP = "EXP" # EXPウィンドウに表示するお金の用語です VIEW_GOLD = "GOLD" # アイテム獲得時のアイテムウィンドウに表示する用語です VIEW_ITEM = "ITEM" # スキル習得時に表示する用語です VIEW_SKILL = "NEW SKILL" # リザルト画面更新中に音を鳴らさないなら false にしてください EXP_SOUND = true # レベルアップ時に音を鳴らさないなら false にしてください LVUP_SOUND = true # アイテム獲得時に音を鳴らさないなら false にしてください ITEM_SOUND = true # リザルト画面更新中に音を鳴らす場合のSEファイル名です # ("ファイル名", ボリューム, ピッチ) EXP_SOUND_FILE = RPG SE.new("Decision1", 80, 110) # リザルト画面更新中に音を鳴らす場合の間隔です # ※(WAIT_TIME ÷ EXP_SOUND_COUNT)回だけ音が連続で鳴ります EXP_SOUND_COUNT = 3 # レベルアップ時に音を鳴らす場合のSEファイル名です # ("ファイル名", ボリューム, ピッチ) LVUP_SOUND_FILE = RPG SE.new("Item2", 80, 100) # アイテム獲得時に音を鳴らす場合のSEファイル名です # ("ファイル名", ボリューム, ピッチ) ITEM_SOUND_FILE = RPG SE.new("Chime2", 80, 100) # KGCさんの装備スキルでAP獲得を導入している場合のみ設定してください # スキルマスター時に表示する用語です VIEW_SKILL_MASTER = "MASTER SKILL" # 多人数パーティも導入してる場合は待機メンバーにAPを獲得させるか # 設定してください STAND_BY_GAIN_AP = true # 待機メンバーのAP獲得率を設定できます # 数値の意味は多人数パーティのSTAND_BY_EXP_RATEと同じです STAND_BY_AP_RATE = 500 # スキルマスター時に音を鳴らさないなら false にしてください SKILL_MASTER_SOUND = true # スキルマスター時に音を鳴らす場合のSEファイル名です # ("ファイル名", ボリューム, ピッチ) SKILL_MASTER_SOUND_FILE = RPG SE.new("Up", 80, 100) #---------------------------------------------------------------------------- # 習得スキルウィンドウのアクター画像位置微調整 # ※アクターの歩行サイズ(32x32)を変更している方用です # 通常は、編集する必要はありません #---------------------------------------------------------------------------- # 習得スキルウィンドウ1行分の縦幅です SKILL_ACTOR_HEIGHT = 24 # 習得スキルウィンドウに描画するアクター画像の横幅です # ※この値によって、後に表示するスキル名のX座標も変更されます SKILL_ACTOR_WIDTH = 40 # 習得スキルウィンドウに描画するアクター画像のX座標です SKILL_ACTOR_X = 20 # 習得スキルウィンドウに描画するアクター画像のY座標です SKILL_ACTOR_Y = 32 # アクター画像で表示させたくない部分のY座標です # ※足元の座標を0として、CLEAR_ACTOR_Yより下の画像が消えます CLEAR_ACTOR_Y = 10 # KGCさんの多人数パーティを導入している際 # リザルト画面に待機メンバーを表示させない場合はfalseにしてください VIEW_STAND_BY_MEMBERS = true #============================================================================== # ☆ ここからおまけ # # ターンボーナス # 指定ターン以内にバトルに勝利するとEXPとGOLDにボーナスが適応されます # # ノーダメージボーナス # 敵からダメージを受けないで勝利するとEXPとGOLDにボーナスが適応されます # #============================================================================== # ターンボーナスを有効にする場合は true にしてください TURN_BONUS = false # ターンボーナスの無効ターンです # ※TURN_BONUS_LIMIT = 2 の場合 # 2ターン経過する前に勝利した場合ボーナスが適応されます TURN_BONUS_LIMIT = 1 # リザルト画面でターンボーナスの条件を満たした際に表示する用語です TURN_BONUS_WORD = "ターンボーナス" # ターンボーナスの用語を表示する際の色です TURN_BONUS_COLOR = Color.new(255, 255, 150) # ノーダメージボーナスを有効にする場合は true にしてください # ※敵からダメージを受けないで勝利した場合、EXPとGOLDにボーナスを適応します NO_DAMAGE_BONUS = false # リザルト画面でノーダメージボーナスの条件を満たした際に表示する用語です NO_DAMAGE_WORD = "ノーダメージボーナス" # ノーダメージボーナスの用語を表示する際の色です NO_DAMAGE_COLOR = Color.new(255, 255, 150) # ボーナスが有効な場合のEXP増加レートです # (EXP_BONUS_RATE = 150 でEXPを通常の150%獲得します) EXP_BONUS_RATE = 150 # ボーナスが有効な場合のGOLD増加レートです # (GOLD_BONUS_RATE = 150 でGOLDを通常の150%獲得します) GOLD_BONUS_RATE = 150 # ※TURN_BONUSとNO_DAMAGE_BONUSを両方有効にした上でバトル中両条件を満たした場合 # それぞれのBONUS_RATEが倍になります #============================================================================== # ■ カスタマイズ終了 #============================================================================== end #============================================================================== # ■ KGC多人数パーティ用 #============================================================================== $imported = {} if $imported == nil #============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor Game_Battler #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor level_up_flug # レベルアップフラグ attr_accessor new_skills # 新しく覚えたスキルの配列 #-------------------------------------------------------------------------- # ● オブジェクト初期化 # actor_id アクター ID #-------------------------------------------------------------------------- alias initialize_BBL initialize def initialize(actor_id) initialize_BBL(actor_id) @new_skills = [] @level_up_flug = false end #-------------------------------------------------------------------------- # ● アクセサの読み込み側再定義 #-------------------------------------------------------------------------- def new_skills @new_skills = [] if @new_skills == nil return @new_skills end end #============================================================================== # ■ Scene_Battle #============================================================================== class Scene_Battle Scene_Base #-------------------------------------------------------------------------- # ● 勝利の処理(再定義) #-------------------------------------------------------------------------- def process_victory # 再定義 @info_viewport.visible = false @message_window.visible = false $game_troop.yutti_format RPG BGM.stop $game_system.battle_end_me.play unless $BTEST $game_temp.map_bgm.play $game_temp.map_bgs.play end if $ed_rgss2["ed_battle_scene"] == true victory_anime # サイドビュー用勝利アニメ end display_result battle_end(0) end #-------------------------------------------------------------------------- # ○ リザルト画面表示 #-------------------------------------------------------------------------- def display_result members = $game_party.all_members if $imported["LargeParty"] members = $game_party.members unless $imported["LargeParty"] # レベルアップフラグ初期化 for actor in members next unless actor.is_a?(Game_Actor) actor.level_up_flug = false end drop_items = $game_troop.make_drop_items for item in drop_items $game_party.gain_item(item, 1) end exp = $game_troop.exp_total # パーティのレベル差補正経験値算出 $game_troop.revision_exp(exp) gold = $game_troop.gold_total if $imported["EquipLearnSkill"] ap = $game_troop.ap_total else ap = 0 end # 各ウィンドウ作成 @resultitem_window = Window_ResultItem.new(drop_items) if drop_items != [] @result_window = Window_Result.new @resultexp_window = Window_ResultNextExp.new(exp) @expview_window = Window_ResultExp.new(exp, gold, ap) @result_skill_window = Window_ResultSkill.new @result_skill_window.visible = false # RESULT_WINDOWのY座標 @result_window.y = 208 - ((@result_window.height - @expview_window.height) / 2) @resultexp_window.y = @result_window.y # ドロップアイテムがあった場合 if drop_items != [] BBL ITEM_SOUND_FILE.play if BBL ITEM_SOUND == true # ITEM_WINDOWとRESULT_WINDOWの縦幅が画面の下枠を超える場合、全体の位置を上に調整 if @result_window.height + @resultitem_window.height 416 - @result_window.y @result_window.y = 416 - (@result_window.height + @resultitem_window.height) @resultexp_window.y = @result_window.y end # RESULT_WINDOWのY座標がEXP_WINDOWの縦幅よりも少ない場合、全体の位置を下に調整 if @result_window.y @expview_window.height @result_window.y = @expview_window.height @resultexp_window.y = @result_window.y end # アイテムウィンドウのY座標 @resultitem_window.y = @result_window.y + @result_window.height if @resultitem_window != nil # 各ウィンドウのHEIGHTの合計が画面の枠を超える場合、全体のウィンドウ位置を調整と # ITEM_WINDOWの横幅を調整 if @result_window.height + @resultitem_window.height + @expview_window.height 416 @result_window.x = @resultexp_window.x = @expview_window.x = 0 @result_window.y = 208 - ((@result_window.height - @expview_window.height) / 2) @resultexp_window.y = @result_window.y @resultitem_window.x = @result_window.width @resultitem_window.y = (@result_window.y + @result_window.height) - @resultitem_window.height @resultitem_window.width = 544 - @result_window.width else # ITEM_WINDOWのX座標と横幅をRESULT_WINDOWにあわせる @resultitem_window.width = @result_window.width @resultitem_window.x = @result_window.x end end # EXPウィンドウのY座標 @expview_window.y = @result_window.y - @expview_window.height # スキルウィンドウのY座標 @result_skill_window.y = @expview_window.y #--------------------------------------------------------------------------- # KGC 装備スキル用 #--------------------------------------------------------------------------- if $imported["EquipLearnSkill"] @result_skillkgc_window = Window_ResultSkill_KGC.new @result_skillkgc_window.visible = false skills = [] members.each { |actor| next unless actor.is_a?(Game_Actor) last_full_ap_skills = actor.full_ap_skills unless actor.dead? member = actor.battle_member? if $imported["LargeParty"] member = actor.exist? unless $imported["LargeParty"] if member actor.gain_ap(ap, false) else if BBL STAND_BY_GAIN_AP stand_by_ap = ap stand_by_ap = ap * (BBL STAND_BY_AP_RATE / 1000.0) actor.gain_ap(stand_by_ap.round, false) end end end if actor.full_ap_skills != last_full_ap_skills new_full_ap_skills = actor.full_ap_skills - last_full_ap_skills unless new_full_ap_skills.empty? for i in 0...new_full_ap_skills.size skills.push([new_full_ap_skills[i].name, actor.id]) end @result_skillkgc_window.visible = true @result_skillkgc_window.refresh(skills) @result_skillkgc_window.y = @expview_window.y @result_skill_window.y = @result_skillkgc_window.y + @result_skillkgc_window.height BBL SKILL_MASTER_SOUND_FILE.play if BBL SKILL_MASTER_SOUND end end } end #--------------------------------------------------------------------------- # リザルト画面更新 @count = 0 @se_count = 0 skills = [] loop do if BBL SKIP_PM == true @count += BBL SKIP_COUNT if Input.press?(BBL SKIP_KEY) end if BBL EXP_SOUND == true BBL EXP_SOUND_FILE.play if @se_count == 0 and exp != 0 @se_count += 1 @se_count = 0 if @se_count == BBL EXP_SOUND_COUNT end @count += 1 @count = BBL WAIT_TIME if @count BBL WAIT_TIME @resultexp_window.update(exp, @count) for actor in members next unless actor.is_a?(Game_Actor) unless actor.new_skills.empty? for i in 0...actor.new_skills.size skills.push([actor.new_skills[i].name, actor.id]) end @result_skill_window.visible = true @result_skill_window.refresh(skills) actor.new_skills = [] end end break if @count == BBL WAIT_TIME update_basic end # @resultexp_window.update(exp, @count) # 補助 wait(30) if @result_skill_window.visible # EXP獲得 $game_party.members.each { |actor| actor.gain_exp(actor.new_exp, false) if actor.exist? } if $imported["LargeParty"] exp = $game_troop.exp_total * KGC LargeParty STAND_BY_EXP_RATE / 1000 $game_party.stand_by_members.each { |actor| actor.gain_exp(actor.new_exp, false) if actor.exist? } end # ゴールド獲得 $game_party.gain_gold(gold) loop do update_basic break if Input.trigger?(Input C) end # 各ウィンドウの解放 @result_window.dispose @expview_window.dispose @resultexp_window.dispose @result_skill_window.dispose @resultitem_window.dispose if @resultitem_window != nil @result_skillkgc_window.dispose if $imported["EquipLearnSkill"] end end #============================================================================== # ■ Window_ResultExp # リザルト画面で獲得EXPを表示するウィンドウです #============================================================================== class Window_ResultExp Window_Base WIDTH = BBL WINDOW_WIDTH # ウィンドウの横幅 #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize(exp, gold, ap) i = 2 if BBL NO_DAMAGE_BONUS i += 1 unless $game_temp.damage_flug end if BBL TURN_BONUS i += 1 if $game_temp.turn_bonus end if $imported["EquipLearnSkill"] i += 1 if ap 0 end super(0, 0, WIDTH, WLH * i + 32) self.contents = Bitmap.new(width - 32, height - 32) refresh(exp, gold, ap) end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh(exp, gold, ap) self.contents.clear i = 0 if BBL TURN_BONUS if $game_temp.turn_bonus self.contents.font.color = BBL TURN_BONUS_COLOR self.contents.draw_text(4, WLH * i, 272, WLH, BBL TURN_BONUS_WORD) i += 1 end end if BBL NO_DAMAGE_BONUS unless $game_temp.damage_flug self.contents.font.color = BBL NO_DAMAGE_COLOR self.contents.draw_text(4, WLH * i, 272, WLH, BBL NO_DAMAGE_WORD) i += 1 end end self.contents.font.color = system_color exp_width = contents.text_size(BBL VIEW_EXP).width gold_width = contents.text_size(BBL VIEW_GOLD).width self.contents.draw_text(4, WLH * i, exp_width, WLH, BBL VIEW_EXP) self.contents.draw_text(4, WLH * i + WLH, gold_width, WLH, BBL VIEW_GOLD) self.contents.font.color = normal_color x = [exp_width, gold_width].max if BBL TURN_BONUS || BBL NO_DAMAGE_BONUS exp_rate = 100 gold_rate = 100 if $game_temp.damage_flug == false BBL NO_DAMAGE_BONUS exp_rate += BBL EXP_BONUS_RATE - 100 gold_rate += BBL GOLD_BONUS_RATE - 100 end if $game_temp.turn_bonus BBL TURN_BONUS exp_rate += BBL EXP_BONUS_RATE - 100 gold_rate += BBL GOLD_BONUS_RATE - 100 end if $game_temp.damage_flug == false || $game_temp.turn_bonus exp1 = (exp / (exp_rate / 100.0)).round exp2 = exp - exp1 total_exp = exp1, " + ", exp2 total_exp = exp if exp == 0 gold1 = (gold / (gold_rate / 100.0)).round gold2 = gold - gold1 total_gold = gold1, " + ", gold2 total_gold = gold if gold == 0 self.contents.draw_text(x + 32, WLH * i, 304 - 32, 24, total_exp) self.contents.draw_text(x + 32, WLH * i + WLH, 304 - 32, 24, total_gold) else self.contents.draw_text(x + 32, WLH * i, 304 - 32, 24, exp) self.contents.draw_text(x + 32, WLH * i + WLH, 304 - 32, 24, gold) end else self.contents.draw_text(x + 32, WLH * i, 304 - 32, 24, exp) self.contents.draw_text(x + 32, WLH * i + WLH, 304 - 32, 24, gold) end if ap 0 i += 1 self.contents.draw_text(x + 32, WLH * i + WLH, 304 - 32, 24, ap) self.contents.font.color = system_color self.contents.draw_text(4, WLH * i + WLH, gold_width, WLH, KGC EquipLearnSkill VOCAB_AP) end end end #============================================================================== # ■ Window_ResultItem # リザルト画面で獲得アイテムを表示するウィンドウです #============================================================================== class Window_ResultItem Window_Base WIDTH = 544 - BBL WINDOW_WIDTH #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize(drop_items) x = BBL WINDOW_WIDTH super(x, 0, WIDTH, (drop_items.size * WLH) + WLH + 32) refresh(drop_items) end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh(drop_items) self.contents.clear x = 4 item_width = contents.text_size(BBL VIEW_ITEM).width self.contents.font.color = system_color self.contents.draw_text(x, 0, item_width, WLH, BBL VIEW_ITEM) y = WLH for item in drop_items draw_item_name(item, 4, y) y += WLH end end #-------------------------------------------------------------------------- # ● アイテム名の描画 # item アイテム (スキル、武器、防具でも可) # x 描画先 X 座標 # y 描画先 Y 座標 # enabled 有効フラグ。false のとき半透明で描画 #-------------------------------------------------------------------------- def draw_item_name(item, x, y, enabled = true) if item != nil draw_icon(item.icon_index, x, y, enabled) self.contents.font.color = normal_color self.contents.font.color.alpha = enabled ? 255 128 self.contents.draw_text(x + 24, y, WIDTH - 56, WLH, item.name) end end end #============================================================================== # ■ Window_Result # リザルト画面でアクターの情報を表示するウィンドウです #============================================================================== class Window_Result Window_Base HEIGHT = BBL ACTOR_HEIGHT # アクター1人分の高さ WIDTH = BBL WINDOW_WIDTH # ウィンドウの横幅 #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize @members = $game_party.members if $imported["LargeParty"] BBL VIEW_STAND_BY_MEMBERS @members = $game_party.all_members end super(0, 0, WIDTH, (@members.size * HEIGHT) + 32) self.contents = Bitmap.new(width - 32, height - 32) self.y = 208 - (height / 2) refresh end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh self.contents.clear name_width = [] actor_x = BBL WINDOW_ACTOR_X level_x = BBL WINDOW_ACTOR_LEVEL gauge_x = BBL WINDOW_EXP_GAUGE_X lv_width = contents.text_size(Vocab level_a).width for actor in @members next unless actor.is_a?(Game_Actor) x = 4 y = actor.index * HEIGHT unless $imported["LargeParty"] y = actor.party_index * HEIGHT if $imported["LargeParty"] sy = (HEIGHT / 2) - 16 case BBL VIEW_ACTOR when 0;draw_actor_graphic(actor, actor_x + 16, y + HEIGHT - sy) when 1;draw_actor_name(actor, actor_x, y + HEIGHT - 20 - sy) end self.contents.font.size = 16 self.contents.font.color = system_color self.contents.draw_text(level_x, y + HEIGHT - 20 - sy, lv_width, WLH, Vocab level_a) self.contents.draw_text(gauge_x, y + HEIGHT - 44 - sy, 64, WLH, "GET EXP") self.contents.draw_text(gauge_x, y + HEIGHT - 28 - sy, 64, WLH, "NEXT") self.contents.font.color = normal_color self.contents.draw_text(BBL WINDOW_EXP_X, y + HEIGHT - 44 - sy, 120, WLH, actor.new_exp,2) end end end #============================================================================== # ■ Window_ResultSkill # リザルト画面で習得したスキルを表示するウィンドウです #============================================================================== HEIGHT = BBL SKILL_ACTOR_HEIGHT WIDTH = 544 - BBL WINDOW_WIDTH GWIDTH = BBL SKILL_ACTOR_WIDTH class Window_ResultSkill Window_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize x = BBL WINDOW_WIDTH super(x, 0, WIDTH, WLH + 32) end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh(skills) self.contents.clear text_width = contents.text_size(BBL VIEW_SKILL).width self.height = skills.size * HEIGHT + WLH + 32 self.contents = Bitmap.new(width - 32, height - 32) x = 0 self.contents.font.color = system_color self.contents.draw_text(x, 0, text_width, WLH, BBL VIEW_SKILL) last_id = 9999 text_x = x + GWIDTH sy = BBL SKILL_ACTOR_Y sx = BBL SKILL_ACTOR_X for i in 0...skills.size actor = $data_actors[skills[i][1]] unless last_id == skills[i][1] draw_actor_graphic(actor, x + sx, sy + WLH + HEIGHT * i) end self.contents.font.color = normal_color self.contents.draw_text(text_x, WLH + HEIGHT * i, WIDTH - (32 + text_x), WLH, skills[i][0]) last_id = skills[i][1] end end #-------------------------------------------------------------------------- # ○ 歩行グラフィックの描画 (再定義) # character_name 歩行グラフィック ファイル名 # character_index 歩行グラフィック インデックス # x 描画先 X 座標 # y 描画先 Y 座標 # opacity 不透明度 #-------------------------------------------------------------------------- def draw_character(character_name, character_index, x, y, opacity = 255) return if character_name == nil bitmap = Cache.character(character_name) sign = character_name[/^[\!\$]./] if sign != nil and 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) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect, opacity) gheight = BBL CLEAR_ACTOR_Y self.contents.clear_rect(x - cw / 2, y - gheight, GWIDTH, gheight) end end #============================================================================== # ■ Window_ResultNextExp # リザルト画面で動的な情報を表示するウィンドウです #============================================================================== class Window_ResultNextExp Window_Base HEIGHT = BBL ACTOR_HEIGHT # アクター1人分の高さ WIDTH = BBL WINDOW_WIDTH # ウィンドウの横幅 #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize(exp) @members = $game_party.all_members if $imported["LargeParty"] @members = $game_party.members unless $imported["LargeParty"] super(0, 0, WIDTH, (@members.size * HEIGHT) + 32) self.contents = Bitmap.new(width - 32, height - 32) self.y = 208 - (height / 2) self.opacity = 0 end #-------------------------------------------------------------------------- # ● EXP表示更新 #-------------------------------------------------------------------------- def update(exp_s, count) self.contents.clear level_x = BBL WINDOW_ACTOR_LEVEL gauge_x = BBL WINDOW_EXP_GAUGE_X exp_x = BBL WINDOW_EXP_X # パーティのレベル差補正経験値算出 $game_troop.revision_exp(exp_s) for actor in @members next unless actor.is_a?(Game_Actor) # 戦車乗降システム導入時の経験値加算スキップ処理 if $ed_rgss2["ed_tank_battle"] if TANK_ID.include?(actor.id) and TANK_EXP == false next end end # 装備の経験値2倍を適応 exp = exp_s exp = exp_s * 2 if actor.double_exp_gain # KGC経験値&ゴールド変化適応 exp = exp_s * actor.exp_gain_rate / 100 if $imported["VariableExpGold"] x = 56 y = actor.index * HEIGHT unless $imported["LargeParty"] y = actor.party_index * HEIGHT if $imported["LargeParty"] sy = (HEIGHT / 2) - 16 update_actor_nextexp(actor, exp_x, y + HEIGHT - 28 - sy, actor.new_exp, count) update_actor_level(actor, level_x, y + HEIGHT - 20 - sy) if view_member?(actor) update_actor_exp_gauge(actor, gauge_x, y + HEIGHT - 22 - sy, actor.new_exp, count) if view_member?(actor) end end #-------------------------------------------------------------------------- # ○ レベル描画の更新 # actor アクター # x 描画先 X 座標 # y 描画先 Y 座標 #-------------------------------------------------------------------------- def update_actor_level(actor, x, y) self.contents.font.color = BBL LVUP_COLOR if actor.level_up_flug == true self.contents.draw_text(x + 32, y, 24, WLH, actor.level) end #-------------------------------------------------------------------------- # ○ NEXTEXP表示更新 # actor アクター # x 描画先 X 座標 # y 描画先 Y 座標 # width 幅 #-------------------------------------------------------------------------- def update_actor_nextexp(actor, x, y, exp, count, width = 120) if actor.level == actor.yutti_max_level self.contents.draw_text(x, y, width, WLH, "MAX", 2) return end exp = 0 if actor.dead? if $imported["LargeParty"] unless actor.battle_member? exp = $game_troop.exp_total * KGC LargeParty STAND_BY_EXP_RATE / 1000 end end exp2 = actor.exp + exp if exp2 = actor.yutti_next_max_exp # レベルアップの時 exp = exp2 - actor.reduce_exp if actor.reduce_exp 0 end gwc = exp * count / BBL WAIT_TIME if actor.reduce_exp == 0 a = actor.yutti_next_rest_exp - gwc elsif actor.reduce_exp = 0 a = actor.yutti_next_max_exp - gwc end self.contents.font.color = normal_color if a = 0 last_skills = actor.skills # KGCスキルCP制適応 last_skills = actor.all_skills if $imported["SkillCPSystem"] actor.result_gain_exp(exp2) b = actor.yutti_next_max_exp - gwc b = 0 if a == 0 actor.new_skills = actor.skills - last_skills # KGCスキルCP制適応 actor.new_skills = actor.all_skills - last_skills if $imported["SkillCPSystem"] else b = a end if actor.yutti_next_max_exp 0 self.contents.draw_text(x, y, width, WLH, b, 2) if view_member?(actor) else xr = x + width end end #-------------------------------------------------------------------------- # ☆ EXP ゲージの描画(リザルト) # actor アクター # x 描画先 X 座標 # y 描画先 Y 座標 # width 幅 #-------------------------------------------------------------------------- def update_actor_exp_gauge(actor, x, y, exp, count, width = 120) color1 = BBL EXP_COLOR1 color2 = BBL EXP_COLOR2 if actor.level == actor.yutti_max_level self.contents.gradient_fill_rect(x, y + WLH - 8, width, 6, color1, color2) return end exp = 0 if actor.dead? if $imported["LargeParty"] unless actor.battle_member? exp = $game_troop.exp_total * KGC LargeParty STAND_BY_EXP_RATE / 1000 end end exp2 = actor.exp + exp if exp2 = actor.yutti_next_max_exp exp = exp2 - actor.reduce_exp if actor.reduce_exp 0 end max = actor.yutti_next_max_exp # 最大 if actor.reduce_exp == 0 gw = width * (max - actor.yutti_next_rest_exp) / max # 初期ゲージ elsif actor.reduce_exp 0 gw = 0 # レベルアップ後のゲージ位置 end exp = width * exp / max # ゲージ増加率 gwc = exp * count / BBL WAIT_TIME + gw # 実際のゲージ描画値 color1 = BBL EXP_COLOR1 color2 = BBL EXP_COLOR2 self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color) self.contents.gradient_fill_rect(x, y + WLH - 8, gwc, 6, color1, color2) end #-------------------------------------------------------------------------- # ☆ 描画判定 # KGC多人数パーティ導入時、待機メンバーの情報を描画するか判定 #-------------------------------------------------------------------------- def view_member?(actor) if $imported["LargeParty"] unless BBL VIEW_STAND_BY_MEMBERS return false unless actor.battle_member? end end return true end end if $imported["EquipLearnSkill"] #============================================================================== # ■ Window_ResultSkill_KGC # マスターしたスキルを表示するウィンドウです # KGC 装備スキル導入時 #============================================================================== HEIGHT = BBL SKILL_ACTOR_HEIGHT WIDTH = 544 - BBL WINDOW_WIDTH GWIDTH = BBL SKILL_ACTOR_WIDTH class Window_ResultSkill_KGC Window_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize x = BBL WINDOW_WIDTH super(x, 0, WIDTH, WLH + 32) end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh(skills) self.contents.clear text_width = contents.text_size(BBL VIEW_SKILL_MASTER).width self.height = skills.size * HEIGHT + WLH + 32 self.contents = Bitmap.new(width - 32, height - 32) x = 0 self.contents.font.color = system_color self.contents.draw_text(x, 0, text_width, WLH, BBL VIEW_SKILL_MASTER) last_id = 9999 text_x = x + GWIDTH sy = BBL SKILL_ACTOR_Y sx = BBL SKILL_ACTOR_X for i in 0...skills.size actor = $data_actors[skills[i][1]] unless last_id == skills[i][1] draw_actor_graphic(actor, x + sx, sy + WLH + HEIGHT * i) end self.contents.font.color = normal_color self.contents.draw_text(text_x, WLH + HEIGHT * i, WIDTH - (32 + text_x), WLH, skills[i][0]) last_id = skills[i][1] end end #-------------------------------------------------------------------------- # ○ 歩行グラフィックの描画 (再定義) # character_name 歩行グラフィック ファイル名 # character_index 歩行グラフィック インデックス # x 描画先 X 座標 # y 描画先 Y 座標 # opacity 不透明度 #-------------------------------------------------------------------------- def draw_character(character_name, character_index, x, y, opacity = 255) return if character_name == nil bitmap = Cache.character(character_name) sign = character_name[/^[\!\$]./] if sign != nil and 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) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect, opacity) gheight = BBL CLEAR_ACTOR_Y self.contents.clear_rect(x - cw / 2, y - gheight, GWIDTH, gheight) end end end if BBL TURN_BONUS || BBL NO_DAMAGE_BONUS #============================================================================== # ここからおまけ #============================================================================== # ■ Game_Temp #============================================================================== class Game_Temp #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor damage_flug # 被ダメージフラグ attr_accessor turn_bonus # ターンボーナスフラグ #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_BBL initialize def initialize initialize_BBL @damage_flug = false @turn_bonus = true end end #============================================================================== # ■ Game_Battler #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ● 通常攻撃によるダメージ計算(追加定義) #-------------------------------------------------------------------------- alias make_attack_damage_value_BBL make_attack_damage_value def make_attack_damage_value(attacker) # 元の処理 make_attack_damage_value_BBL(attacker) # ダメージフラグ if $game_temp.damage_flug == false if @hp_damage 0 $game_temp.damage_flug = true unless attacker.actor? end end end #-------------------------------------------------------------------------- # ● スキルまたはアイテムによるダメージ計算(追加定義) #-------------------------------------------------------------------------- alias make_obj_damage_value_BBL make_obj_damage_value def make_obj_damage_value(user, obj) # 追加定義 # 元の処理 make_obj_damage_value_BBL(user, obj) # ダメージフラグ if $game_temp.damage_flug == false if @hp_damage 0 $game_temp.damage_flug = true unless user.actor? end end end end #============================================================================== # ■ Game_Troop #============================================================================== class Game_Troop Game_Unit #-------------------------------------------------------------------------- # ● 経験値の合計計算(追加定義) #-------------------------------------------------------------------------- alias exp_total_BBL exp_total def exp_total # 追加定義 exp = exp_total_BBL rate = 100 if BBL NO_DAMAGE_BONUS if $game_temp.damage_flug == false rate += BBL EXP_BONUS_RATE - 100 end end if BBL TURN_BONUS if $game_temp.turn_bonus rate += BBL EXP_BONUS_RATE - 100 end end exp = ((exp * rate) / 100).round return exp end #-------------------------------------------------------------------------- # ● お金の合計計算(追加定義) #-------------------------------------------------------------------------- alias gold_total_BBL gold_total def gold_total # 追加定義 gold = gold_total_BBL rate = 100 if BBL NO_DAMAGE_BONUS if $game_temp.damage_flug == false rate += BBL GOLD_BONUS_RATE - 100 end end if BBL TURN_BONUS if $game_temp.turn_bonus rate += BBL GOLD_BONUS_RATE - 100 end end gold = ((gold * rate) / 100).round return gold end end #============================================================================== # ■ Scene_Battle #============================================================================== class Scene_Battle Scene_Base #-------------------------------------------------------------------------- # ● 戦闘終了(追加定義) #-------------------------------------------------------------------------- alias battle_end_BBL battle_end def battle_end(result) # 追加定義 $game_temp.damage_flug = false # ダメージフラグ初期化 $game_temp.turn_bonus = true # ターンボーナス初期化 # 永遠の夢に向かって改変箇所 $game_troop.yutti_format # レベルアップ処理の初期化 # 元の処理 battle_end_BBL(result) end #-------------------------------------------------------------------------- # ● ターン終了(追加定義) #-------------------------------------------------------------------------- alias turn_end_BBL turn_end def turn_end # 追加定義 if $game_troop.turn_count == BBL TURN_BONUS_LIMIT $game_temp.turn_bonus = false end # 元の処理 turn_end_BBL end end end