猫様の下僕姉弟の生活

猫様とゲームとコスメ

【Hades 】攻略 ソースコードから読み解くハデスー武器編ー

Hadesの攻略 ソースから読み解くハデスー武器編ーです。

各種武器に関するデータをソースコードから読み解いていきます。

武器に関する情報は 武器の特性と強化についてと、武器の覚醒手順を参照ください。本記事の内容に繋がるものがあるので理解しやすくなります。

※ソースコードはSupergiant Games様の資産ですので載せません。ファイル名なども記載しません。あくまでもゲーム構造を理解するためだけに利用してください

※悪用は禁止です。ゲームバランスの崩壊やデータ破損の原因になります。またどのような問題が発生しても一切の責任を負いかねます

武器の基本情報

 変数名  内容
 WeaponData  武器に関する設定を決める場所

 BaseUnlockable

 Weapon

 対象の武器をアンロックするのに必要な情報?

 スケルトンキーの数や表示されるテキストを管理

 ResourceNameでどのアイテムでアンロックするか指定

 RangedWeapon

 多分キャストの情報

 色々書いてあるが詳しくはわからず

 恩恵毎に攻撃時の音声が変化している

 GunWeapon

 Exagryph(Adamant Rail)の情報

 スケルトンキーが8つ必要

 全弾打ち切ってからの自動リロード開始に0.25秒

 リロード完了までに0.75秒かかる 

 BowWeapon

 Coronacht(Heart-Seeking Bow)の情報

 スケルトンキーが1つ必要

 弓を引き絞るのにかかる時間とカメラの操作?

 ShieldWeapon

 Aegis(Shield of Chaos)の情報

 スケルトンキーが3つ必要

 他はよく分からず

 以降は他の武器も同様の記載。詳細が読み取れないため省略

 SecondaryWeapon

 スペシャル攻撃の名称

 別の場所に詳細が設定されている

 SmallEnemyMelee

 ここから敵の武器の設定

 武器に関するAIの設定やコンボなどを管理

正直なところ分からないことだらけです

各種武器の基本攻撃やダッシュ攻撃などモーション別に色々と設定しているみたいですが、実際に何をしているのかまでは理解できませんでした・・・

ただ敵にも武器データがあって一緒に管理されていることは知れました

 

武器のアップグレード情報

 変数名  内容

 WeaponUpgradeData

 武器に強化に関する設定を決める場所

 SwordWeapon

 どの武器のアップグレード内容を示すか

 全6種類の武器の名称は下記の通り

 SwordWeapon

 SpearWeapon

 GunWeapon

 BowWeapon

 ShieldWeapon

 FistWeapon

 この中に4つの配列があり武器のアップグレード内容を管理している

 Costs

 1段階アップグレードするのに必要なタイタンブラッドの数

 アーサーの側面なら{ 3, 3, 3, 3, 3 }で15個必要なことが分かる

 MaxUpgradeLevel

 何段階までアップグレードできるか

 基本的には全て5段階となる

 StartsUnlocked

 これがtrueなら初めからアップグレード可能?

 GameState

 Requirements

 4つ目の側面を解放するための条件

 特定の会話を見たかどうかを判別している

 例えばSwordWeaponならニュクスとの会話を示す

 Image  アップグレード項目に使用される画像データ

武器のアップグレードに必要なタイタンブラッド数を設定していることが分かりました

また最大強化数を制御しているみたいですが、アップグレード時の処理は別のスクリプトで管理しているため追っていません

4つ目の側面を解除するのに特定の会話イベントを見る必要があるということも読み取れました

 

応用編

ここからは、上記の説明内容で何ができるのかを解説していきますが、最初にも書いたようゲームプレイに影響を与えるためセーブは行わず、試すだけに留めてください

変更箇所

 変数名  内容
 UnlockCost

 武器のアンロックに必要なスケルトンキーを0に変更

 Duration  よく分かっていないが0.01に変更

 

変更箇所

 変数名  内容
 Costs

 アップグレードに必要なタイタンブラッドを0に変更

 更に配列を拡張し10レベルまで上げられるように

 MaxUpgradeLevel

 10レベルまでアップグレードできるように変更

 GameState

 Requirements

 記述を全て削除

 これにより特定の会話イベントを見なくても良くなる

 

広場でお試し

まずは武器の状態から見たところ全て0コストでアンロックできるようになっていました

またコストが0の場合は、武器に近づいた時にスケルトンキーがいくつ必要なのかという表示がでないよう制御しているみたいです(アンロック時には-0と表示される)

f:id:kamiya11:20201021172519j:plain

 

そしてよく分からなかった「Duration」の検証

弓を弾き絞ったらカメラが遠くなったので、どうやらズームアウト処理の設定だったようです

見逃していましたが「ZoomType」を指定するパターンもあったので、なるほどと思いました(なので最初にかいたリロード速度やらの話は嘘っぱちになります)

f:id:kamiya11:20201021172726j:plain

 

次は武器のアップグレード 

盾の武器、Aegis(Shield of Chaos)で試しました

本来ならばカオスとの会話イベントを見る必要があるため「ベオウルフの側面」はアップグレード不可能状態でしたが、普通にできるようになりました

しかもタイタンブラッドの消費は0です

f:id:kamiya11:20201021173327j:plain

f:id:kamiya11:20201021173333j:plain

 

そして10レベルまでアップグレードできるようになっています

ただし最大値である5レベルを超えると初期化されてしまうみたいで上限突破して効果を引き上げることには失敗でした

「IsWeaponUpgradeMaxed」という最大レベルに達したかどうかを検証するメソッドがありましたが、単純に前のレベル値に+1して返すのに使っていただけぽいです

f:id:kamiya11:20201021173838j:plain

 

武器に関してはこんなところですかね。あまり面白い結果が得られませんでしたが・・・

そして本データとはサヨウナラ!

 

www.geboku-kyoudai.com