2010-01-01から1年間の記事一覧

自分用に改造したDeSmuME

ベースになっているのはtrunkのリビジョン3771 diff: http://gist.github.com/587467 win32用実行バイナリ: http://oupo.xrea.jp/misc/DeSmuME-my-r3771.zip 改造箇所: PUSH_LR命令が実行されたときに呼ばれるemu.registerenterfunc 命令アドレスごとの条件…

ずつき

※ いつものことですが間違っている可能性があります (通常乱数 % 100) で出てくるポケモン決定 (通常乱数 % (レベルmax - レベルmin + 1) + レベルmin) でレベル決定 先頭特性がはりきりかやるきかプレッシャーの場合、(通常乱数 % 2)が1だとレベルがレベルm…

孵化と個体決定前の1消費の誤解の話

※ 一応一通り検証したつもりですが間違っている可能性があります (確率 変わらずの石を持たせている場合(通常乱数 パワー系を持たせている場合、3つの遺伝箇所の一箇所目として扱う。(残り2箇所の遺伝箇所がパワー系の箇所と重ならないように決定される) …

オーキドはかせのポケモンこうざ

チャンネルを合わせたときに通常乱数を13以上消費するので、ポケモンミュージックと切り替え続けることで通常乱数の消費に使えるかもしれません。 ツール: オーキドはかせのポケモンこうざで乱数消費補助ツール 決定法則 マップとポケモン決定 テーブル: htt…

ものひろい乱数調整のやり方

狙う初期seedを決める ものひろい補助ツールで狙う初期seedを探す。 この記事では以下のseedを狙う seed 技 1匹目 2匹目 3匹目 4匹目 5匹目 6匹目 0xe400037b でんこうせっか 98 - - - - 67 0xe400037e つるのムチ 98 - - - - - 用意するもの ゆびをふる要員…

指振り物拾い続報

前回: ゆびをふるで出た技でseedを特定してみようという試み - oupoの日記 前挑戦して失敗した指振り物拾いだけど、重大なことに気がついた。それは初期seedが戦闘に入る暗転エフェクトの前に決定されるということ。画面が完全に黒になったときに決定される…

DeSmuMEのLua Scriptingを試してみたよ

TAS用エミュレータの機能紹介 - ごちゃログぴこっを読んでDeSmuMEのLua Scriptingに興味が出た 調べてみたらあるメモリアドレスが書き換えられたときとか、あるアドレスが実行されたときにフックとか出来るみたいじゃないですか。これは熱そう しかしDeSmuME…

seed 上位1bitの話

2010-04-18 - 東方錆恋録 〜Slipping Rusted Magnemite〜 を読んで。 二つのseedの上位1bit以外が一致している場合 row(PID) xor high(PID) って常に一致するんだなー。今までPIDのbit15 xor bit31が一致すればいいから50%だと思いこんでた。 x=0〜0x7ffffff…

ゆびをふるで出た技でseedを特定してみようという試み

相手のレベルが高いと一撃で倒すように調整したりとかが面倒なのでLvの低い野生のポケモンでやってみよう ダメージ量でseedを特定するのは大変そうなので指を振るを使ってみよう 草むらで甘い香り or ずつき 甘い香りはメニュー開くの面倒だし29番道路でやろ…

関数が呼ばれたときに呼び出し元アドレスを出力する補助プログラム

ktxadさんによって戦闘中の乱数列が解析されましたね! ktxadのブログ : ものひろい - livedoor Blog(ブログ) 僕も以前に戦闘中のメモリダンプを比較してseedっぽく変化してるところを探してそこを書き換えるとかしてみたけどなぜかうまくいかなかったんだ…

バトルタワーの乱数列をどうやって調べたかのメモ

バトルタワーの相手の手持ちは専用の乱数が使われていてseedがセーブデータに保存されていること 一度セーブしてロードしなおしても相手の手持ちが変わらなかったから 1周目に挑戦するたびにseedが変化するということ 試したらすぐ分かる 初期seedが格納され…

バトルタワー スカウター ダブルバトル対応

バトルタワー スカウター ポケモンの数の値 3 を 4 に書き換えるだけで一致してしまってびっくりした。 なんでびっくりしたかというとシングルとダブルで同じ初期seedになるため以下のようなことが起こるから。 あらかじめ前日にシングルダブルとも1周目をク…

バトルタワー スカウター 2周目以降対応

バトルタワー スカウター 2周目以降対応しました。入力する内容が若干複雑なので説明しておきます。 「連続した2〜3つのくじ番号」 プラチナならテレビコトブキ、HGSSならコガネのラジオ塔で引ける1日1回のくじの番号を入力します。 DSの時刻を23:59にあわせ…

バトルタワー スカウター

まだシングル1周目しか対応していないけれど。 バトルタワー スカウター 大まかな決定方法 乱数1消費 トレーナーの決定 (6人目までは rand % 100, 7人目は rand % 20 + 100) 以下の内容を7戦分 トレーナーが使うポケモンの配列(バトルタワーのトレーナー(プ…

バトルタワーの相手の手持ちの決定は専用の乱数が使われていた

バトルタワーの相手の手持ちの決定は多分ファクトリーとほぼ同じだろうなーと思いながら調べたら、ぜんぜん違っていた。 セーブデータにバトルタワー専用のseedが記録されている。バトルタワーの1周目に一回挑戦するごとにs * 0x5d588b65 + 1で更新される。…

くじ番号の解説

くじ番号の決定方法を図にまとめてみました。詳細はktxadさんの記事参照。 http://oupo.xrea.jp/sid-search/では以下のようなことをやっています。 くじ番号3日分から日替わり乱数のseedを特定 日替わり乱数のseedを遡っていき、それを孵化乱数列の1番目の値…

くじ番号から裏IDを検索するツールを作りました

http://oupo.xrea.jp/sid-search/ 新バージョン: sid-searchを作り直してみた - oupoの日記 新バージョン: くじ番号から裏ID ローカル検索バージョン - oupoの日記 仕組み 全組み合わせのseed(256*24*65536個)でメルセンヌツイスタの1個目の乱数を計算 それ…

独り言 - デジャブ

factory-searchを作っていてAをBに書き換えていたとき何かデジャブを感じた。A for (var frame = frame_min; ; frame ++) { for (var hour = 0; hour < 24; hour ++) { for (var high = 0; high < 0x100; high ++) { var fseed = (high << 24 | hour << 16 |…

物拾い

【エメループ】ポケモン ループ考察・解析スレ5【乱数調整】 376 名前:ゲーム好き名無しさん[sage] 投稿日:2010/02/23(火) 20:28:06 ID:RnQ0xWqkP 草結び欲しいので、誰か物拾いについて解析してくり 面白そうなネタが転がっていたからエミュを使って調べ…

バトルファクトリー乱数調整ツール

バトルファクトリーの乱数調整ツールを公開しました。 バトルファクトリー乱数調整ツール 最初の6匹に狙ったポケモンを出すためのツールです。 HGSS限定です。プラチナではポケギアがないので失敗しないように調整するのは多分無理だと思います。 ポケモン1,…

IEでボーナスの選択をしてもテキストエリアに反映されないことがあるバグ修正

本来、ボーナスの選択をするとテキストエリアのそのポケモンの行の後ろに「 b」がつきます。決定ボタンを押したときにはボーナスかどうかの判定はその「 b」がついているかどうかで行っているので下に出てくるボーナスの選択は見ていません。 IEでポケモン名…

一時的にバグが出ていたお知らせ

2月19日2時43分に8周目以降対応の更新をしました。ですが、そのときの更新にバグが含まれていて、本来よりランクが高いトレーナーが出てくる状態でした。 2月19日16時48分にバグは修正しました。 追記 (2010-02-20T03:00:40+09:00) まだ直ってなかったので再…

ちょうさ・ぶんせきマシン 6匹の名前と親ID入力について

ちょうさ・ぶんせきマシンでの6匹の名前と親ID入力について説明します 6匹の名前を入力 まず6匹の名前を順番どおりに入力します ローマ字でなくてもかなで入力してもよいですが、ローマ字の方がいちいちEnterを押さずにすむのでオススメです。 1匹目の親IDを…

ちょうさ・ぶんせきマシン プラチナ対応と7周目まで対応

プラチナ対応とLv50、オープンレベルともに7周目まで対応。どうぞご利用ください。最初の6匹のランク8以降は全部 950 - (rand % 328) だと思ってたんだけどLv50、オープンともに7周目のボーナスが 950 - (rand % 600) だったのでびっくりした。このことにつ…

ちょうさ・ぶんせきマシン トレーナー決定後の消費の解明に関する更新

トレーナー決定後の消費が解明したので更新。 トレーナー候補を必要最低限しか表示しないように 6匹決定時のseedだけでなく、トレーナー決定時のseedでも入力できるように トレーナー候補が一つも見つからなくても動くように TODO リファクタリング済 プラチ…

バトルファクトリーまとめ

ランク 周とは別にランクという概念を導入する。 「2周目では6戦目までは1周目と2周目のトレーナー、7戦目は3周目トレーナーが登場する」より「2周目では6戦目まではランク1とランク2のトレーナー、7戦目はランク3のトレーナーが登場する」と書いた方が分か…

トレーナー決定後の謎の消費解明した!!

トレーナー決定後に不定個数の乱数消費があってどういうものか全く分からなかったのだけど今解明できた!やったー! トレーナー決定後にその7人と重複しないようにまた7人分のトレーナーを決定する。その消費量が一致する。 こういうことでした。多分マルチ…

O(1)で任意個数先のseedを計算

O(n)の実装 #define A 0x41c64e6d #define B 0x6073 uint step_seed_A(uint seed, uint n) { uint i; for (i = 0; i < n; i ++) { seed = seed * A + B; } return seed; } 次のseedを求める式をn回実行する。簡単。*1徘徊位置の記事で考えたことの延長でO(1)…

プラチナとHGSSでのネジキの手持ちの違い

ちゃんと確認したわけではないので間違っているかもちゃんと確認しましたA = Lv50での4周目ポケ、オープンレベルでの1周目ポケ B = 準伝説と Lv50での7周目ポケ、オープンレベルでの4周目ポケ 銀ネジキ(21戦目) プラチナ HGSS Lv50 A A 変更なし オープンレ…

犬2匹+ラティのとき初期seed上2桁が一つずれてもラティの位置が変わらないことがよくあるのはなぜかという問題

2010-01-01 - だだぢぢのポケモン日記のコメント欄を読んで調べてみた。 0x00123456: 35,44,15 0x01123456: 35,44,15 0x02123456: 35,44,1 0x03123456: 35,44,1 0x04123456: 35,44,1 0x05123456: 35,44,12 0x06123456: 35,44,12 0x07123456: 35,44,12 0x0812…

筆者: oupo (連絡先: oupo.nejiki@gmail.com)