夢幻(漏洞)
夢幻漏洞(日文︰fifth法,英文︰Mew glitch),也被稱作百變怪漏洞、逃離訓練家漏洞,是一個存在於所有第一世代遊戲的遊戲漏洞,最早在2003年被報告,並且成為都市傳說。這個漏洞讓玩家可以捕捉任意正常的寶可夢,例如在正常流程中無法獲得的夢幻。也是最簡單的遇到錯誤寶可夢和錯誤訓練家的方法。
觸發方法
方法一可以用於所有第一世代遊戲,方法二用於《皮卡丘》時,需要先到25號道路的華藍之岬找正輝獲得船票,此時就可以繞過華藍道館去解決民宅的火箭隊事件,到5號道路去抓一隻凱西。
方法一
最早被大眾所知的方法,是利用8號道路上面對地下通道(7-8號道路)入口的賭徒和25號道路上擁有呆呆獸的短褲小子來實現,玩家必須沒有打敗過這兩位訓練家,另外還需要有一隻具有飛翔招式的寶可夢。
玩家需要站在地下通道入口,確認自己的位置位於賭徒的正上方,然後往正下方走,走到賭徒會注意到主角的位置時,迅速按下Start鍵打開菜單,此時儘管賭徒會出現在畫面中,但不會向主角要求對戰。
菜單出現後,玩家需要使用飛翔移動到華藍市,此時賭徒的頭上會出現感嘆號,但主角將會在他走過來並挑戰之前飛走。
到達華藍市後,Start、A、B鍵將會失效,這是因為遊戲判定玩家正處於戰鬥狀態。在這裡,玩家需要走到25號道路與上述短褲小子戰鬥,注意需要讓其主動走向主角,即至少走到他面前2格距離的位置,走到面前1格的位置或主動挑戰會引起死機。
戰勝短褲小子後,上面失效的按鈕將會重新起效,此時玩家需要回到8號道路,進入8號道路後,將會自動彈出菜單,關閉菜單後,戰鬥將立刻開始,戰鬥對象為等級7的野生夢幻。
方法二
上述方法一中8號道路上的賭徒可以替換為24號道路上金球橋西邊的童子軍,戰鬥對象則可以替換為華藍道館內的泳褲小伙子。由於遊戲進行到這裡時招式飛翔並沒有獲得,所以要捕捉一隻凱西,利用瞬間移動來代替,這也是在遊戲早期就獲得夢幻的一種途徑[視頻 1]。
- 如果使用泳褲小伙子觸發該漏洞,玩家只能在還沒有打敗華藍道館之前觸發,因為該訓練家屬於道館裡的訓練家。
漏洞原理
8號道路上的賭徒與24號道路上的童子軍可以被用於這個漏洞的原因是他們的視線範圍很大,只要主角在他們面前,並且能看到他們,無論多遠他們都會走過來主動向主角挑戰。然而當遊戲繪製NPC的圖像時,會先將它放到某個默認位置,然後再放到正確位置,這就給了玩家去打開菜單的時間。在玩家打開菜單並飛走後,遊戲會錯誤地判定主角正處於戰鬥狀態,導致某些其他的資料被讀取而引起了這個漏洞。
只要某個訓練家符合這個特點,就可以被使用,而符合這個特點的訓練家並不只有這兩個。
從一開始的訓練家處逃走所用的招式,並不一定是飛翔或瞬間移動,只要是能在地圖上瞬移的招式或物品均可,如挖洞或離洞繩等等。
之所以上面的方法中遇到了夢幻,是因為這個漏洞最終所遇到的寶可夢,取決於玩家觸發漏洞後對戰的最後一隻寶可夢的特殊數值。
具體而言[1],起始於地址0xCD23
(《皮卡丘》是0xCD22
)的一串12字節分段會記錄最後一次對戰的寶可夢資訊。以短褲小子為例:
8E 11 00 3C 00 1E 00 1D 00 1C 00 15
- 第二個字節
0x11
記錄對手等級17
。 - 其後的十個字節記錄對手的狀態 (HP/攻擊力/防禦力/速度/特殊)。每個狀態占用2字節。
- 分段的兩側各有八字節的分段,每字節值均為07。與其餘狀態(如後文提到的攻擊等級)相關。
- 末尾字節
0x15
即地址0xCD2E
、0xCD2D
Y記錄了對手的特殊值。上述方法1、2中,短褲小子的最後一隻寶可夢為等級17的呆呆獸,泳褲小伙子的則是等級16的大舌貝,它們的特殊數值均為十進制的21(0x15
)。
回到8號道路(或24號道路)時,遊戲會嘗試重新載入先前中斷的對戰。由於不明原因,程序會使用 CD2E (CD2D) 的值作為內部編號讀取對手,值較小時讀取的是野生戰鬥,而199 (十進制) 以上的值甚至會讀取到訓練家戰鬥。數值為0x15
(21D)決定讀取的是內部編號21的夢幻。而後一位字節07決定了對手的等級。
- 內部編號並非圖鑑編號,它與圖鑑編號並無任何聯繫,具體可查閱寶可夢列表(按第一世代內部編號)。
可能遇到的對手
寶可夢
特殊值為1-199時遇到的是正常寶可夢和錯誤寶可夢,參見寶可夢列表(按第一世代內部編號)。
訓練家
訓練家類型 | 特殊值 |
---|---|
Jacred | 200 |
短褲小子 | 201 |
捕蟲少年 | 202 |
迷你裙 | 203 |
水手 | 204 |
童子軍 | 205 |
女童子軍 | 206 |
怪獸狂 | 207 |
理科男 | 208 |
登山男 | 209 |
飆車族 | 210 |
趁火打劫者 | 211 |
電工大叔 | 212 |
雜耍藝人 | 213 |
釣魚者 | 214 |
泳褲小伙子 | 215 |
光頭男 | 216 |
賭徒 | 217 |
大姐姐 | 218 |
超能力者 | 219 |
電氣搖滾團 | 220 |
雜耍藝人 | 221 |
馴獸師 | 222 |
養鳥人 | 223 |
空手道王 | 224 |
青綠 作為勁敵 |
225 |
大木博士 | 226 |
西爾佛經理 | 227 |
研究員 | 228 |
阪木 | 229 |
火箭隊的手下 | 230 |
精英訓練家 男 |
231 |
精英訓練家 女 |
232 |
希巴 | 233 |
小剛 | 234 |
小霞 | 235 |
馬志士 | 236 |
莉佳 | 237 |
阿桔 | 238 |
夏伯 | 239 |
娜姿 | 240 |
紳士 | 241 |
青綠 作為勁敵 |
242 |
青綠 作為冠軍 |
243 |
科拿 | 244 |
祈禱師 | 245 |
菊子 | 246 |
阿渡 | 247 |
其他方法
上述方法中,均依靠了視線範圍很大的訓練家來觸發漏洞,但在某些特定情況下,玩家不需要依靠他們卻依然可以達到同樣效果。
此方法來源於一個設定,遊戲對遇野生寶可夢的處理優先度,是高於NPC訓練家發現主角的,所以,如果某個訓練家的視線範圍內有可以遇野生寶可夢的地方,而且玩家恰好在這個位置遇到了野生寶可夢,便獲得了觸發漏洞的機會。
此時只需在與野生寶可夢的戰鬥中,讓主角所持的所有寶可夢變為瀕死狀態,遊戲在一般情況下會立刻將主角傳送回最後一個使用過的寶可夢中心的門口,但如果是在某個NPC訓練家視線範圍內發生的戰鬥,在傳送之前遊戲會先判定該訓練家發現了主角,並設定為戰鬥狀態,然後再進行傳送(體現為黑屏中出現了訓練家發現主角的感嘆號標誌)。於是便同樣達到了在NPC訓練家發現主角後立刻逃走的效果,漏洞就被觸發了。
能滿足這個條件的訓練家並不多,最明顯的例子是常青森林中最後一位捕蟲少年。
此方法不易在實機實現,因為運氣成分要求過高。
漏洞延伸
利用百變怪使該漏洞取得任意結果
由於這個漏洞最終結果取決於觸發漏洞後對戰的最後一隻寶可夢的特殊數值,所以對戰不同的訓練家或野生寶可夢,最終將會遇到不同的寶可夢,比如月見山中的某個少女擁有一隻11級的喇叭芽,它的特殊數值為22。觸發漏洞後與她對戰,最終遇到的就會是等級為7的暴鯉龍(暴鯉龍的內部編號為22)。
由於這個特性的存在,便可以利用野生的百變怪來獲得任意需要的寶可夢,而不用去考慮任何關於敵方寶可夢特殊數值是多少的問題,這個方法的原理是當百變怪使用變身後,由於某些原因它的各項數值並不是本身所固有的數值,而是繼承了變身對象的數值。觸發漏洞後遇野生百變怪,並在它使用變身後打倒它或直接逃走,後面遇到的寶可夢,即是由玩家自身攜帶的那隻寶可夢的特殊數值所決定。
在第一世代中,正常的寶可夢只有151隻,所以在使用這個方法時,會遇到很多非正常的東西,例如錯誤寶可夢,甚至可以和大木博士對戰。
如果攜帶的寶可夢特殊數值超過了255,那麼遊戲將會從0重新開始計算,即256和0等同,257和1等同,以此類推。這也是唯一通過這個漏洞獲得內部編號為5以下的寶可夢的方法。(因為正常情況下無任何寶可夢的特殊數值可能低於5)
某些數值(如248-255)將會使玩家遇到病毒性的訓練家(ZZAZZ錯誤即是特殊數值為248、251、252、254、255時觸發),導致資料檔案損壞,所以在非必要情況下,不要嘗試這些操作。
移除擋路的卡比獸
第一世代的正常遊戲流程中,12號道路和16號道路(玉虹市西邊)上各有一隻擋路的卡比獸,在一般情況下,需要完成寶可夢塔相關劇情,並取得寶可夢之笛後,才能讓它們在路上消失,流程才能繼續進行。
然而,利用夢幻漏洞,可以直接在不取得寶可夢之笛的情況下,移除掉擋路的卡比獸。
在《皮卡丘》中,12號道路的卡比獸必須先完成岩山隧道劇情才能觸發(因為遊戲進行到這裡時玩家並沒有獲得飛翔,也沒有野生的凱西供玩家捕捉)。
導致這個錯誤的原因
在遊戲中,有一些寶可夢只能對戰一次,而且在地圖上有圖像,各種傳說的寶可夢均屬於這種類型,由於只能對戰一次,當對戰完畢後,將會把這隻寶可夢的圖像在地圖上移除,而擋路的卡比獸則也屬於這種類型。
恰巧,夢幻漏洞所觸發的戰鬥,便就是這種類型的戰鬥,當玩家走到卡比獸的所在地後,遊戲將會把卡比獸的相關資料載入內存,這時候再去觸發戰鬥,當戰鬥完畢後,由於戰鬥類型一致,遊戲將認為玩家已和卡比獸戰鬥過,於是便從地圖上移除了卡比獸的圖像。
另外利用這個漏洞也可以移除24號道路上的火箭隊的手下。[視頻 4]
改變遇到寶可夢的級別或訓練家的隊伍
在通常情況下,這個漏洞最終所遇到的寶可夢等級為7級,但觸發漏洞後,由於某些原因,玩家所對戰的最後一隻寶可夢的攻擊等級決定了後面遇寶可夢的等級,攻擊等級在通常情況下可以被提升6級或降低6級,表示為-6或+6,比如對方攻擊等級被降低了兩級(-2),後面遇到的寶可夢就為5級(7-2=5),所以玩家只要對對戰的最後一隻寶可夢使用6次叫聲,降低對方攻擊等級6級,就可以使最後遇到的寶可夢變為1級(7-6=1),1級的寶可夢在第一世代中是不能通過正常途徑取得的,因為程序員可能是為了防止「等級提升錯誤」的發生,所以在遊戲中沒有任何1級的野生寶可夢可以遇到,而在這裡獲得的1級寶可夢,只要它符合「等級提升速度中等偏慢」,便可以利用這個錯誤使它獲得54點以下的經驗,而直接升到100級。
另外,前面提到的決定野生寶可夢等級的內存地址,在遇到訓練家時會用來決定隊伍編號(體現為降低或提升對方攻擊等級後,最終會遇到同一訓練家的不同隊伍),因為同一類型的訓練家往往不止一個,在遊戲中它們並不單獨存儲,而只是對同一種訓練家存儲了若干個隊伍資訊,同時保存了該類型訓練家在各個位置對應哪個隊伍編號。例如:當控制對方特殊值為243時,最終結果將會遇到冠軍青綠,正常情況下(不降低攻擊等級)他的隊伍是在正常遊戲裡不存在的,但是,如果降低對方4、5、6級攻擊(即控制表示對方攻擊等級的內存地址為1、2或3)即可遇到正常隊伍的冠軍青綠,而1、2、3號隊伍即分別是含三種最初的夥伴最終進化形的隊伍,於是可以推斷出,遊戲在冠軍戰時就是根據玩家的初始寶可夢來控制該地址以達到對方具有不同隊伍的(前期的勁敵青綠同理)。但是,某些種類的訓練家的某些隊伍是無法通過這種方式遇到的,因為正常情況下攻擊等級只可以在1到13之間變動,而有些種類的訓練家在遊戲裡超過了13個。
參考視頻
注釋
遊戲漏洞 | |
---|---|
第一世代 | 0 ERROR • MissingNo. • ZZAZZ錯誤 • 道具複製 • 道具下溢錯誤 • 地圖254 • 對戰大木博士 故障市 • 合併寶可夢錯誤 • 記錄衝浪錯誤 • 居合斬漏洞 • 老人漏洞 • 夢幻漏洞 • 《皮卡丘》的圖像錯誤 任意門 • 剩餘HP錯誤 • 雙屬性克制資訊顯示錯誤 • 脫離連接俱樂部 • 選擇按鈕錯誤 • 資料損壞錯誤 |
第二世代 | 捕蟲大賽資料複製 • 城都寶可夢錯誤 • 錯誤維度 • 代幣盒錯誤 時拉比的蛋 • 寫生錯誤 • 訓練家之屋錯誤 • 重要物品合併 |
第三世代 | 榴石果漏洞 • 時鐘電路漏洞 • 整個盒子的壞蛋 • 對戰塔盒子複製 |
第四世代 | 變身招式保留錯誤 • 衝浪漏洞 • 榴石果漏洞 • 追打所造成的異常天氣 |
第五世代 | GTS變形錯誤 • 自由落體重力漏洞 |
第六世代 | 列表 |
第七世代 | 列表 |
第八世代 | 列表 |
第九世代 | 列表 |
多個世代 | 克隆漏洞 • 任意代碼注入 • 溢出 • 隨機數異常 • 更改時間系統 多回合攻擊類招式漏洞 • 講究道具鎖定漏洞 • 蓄力的招式覆蓋錯誤 |
跨世代服務 | Pokémon HOME漏洞 |
旁支系列 | 寶可夢+信長的野望漏洞 • 寶可夢大集結漏洞 |
相關列表 | 錯誤招式 • 錯誤屬性 • 錯誤地點 • 錯誤音樂 • 錯誤道具 • 錯誤訓練家 • 錯誤寶可夢 • 壞蛋 |
這個頁面屬於神奇寶貝百科遊戲工程,歡迎加入遊戲工程。 |