GS2-Enchant
装備やキャラクターにユニークなランダムパラメーターを付与する機能を実現します。
ランダムパラメーターには2種類用意しています。
- バランスパラメーター
- レアリティパラメーター
バランスパラメーター
バランスパラメーターは用意された複数のパラメーターを定められた総量でランダムに分配します。 たとえば、攻撃力と防御力の2つのパラメーターを用意し、総量に100を設定した場合に攻撃力が60で抽選されると防御力は40になります。
再抽選
バランスパラメーターは再抽選が可能です。 再抽選を行う際に、一部パラメーターの値を固定することができます。 パラメーターを一部固定することで、プレイヤーがパラメーターの最適化を効率的にを行う手段を提供することができます。
初期値
バランスパラメーターの初期値はランダム値にするか、平均値にするかを定めることが可能です。
レアリティパラメーター
レアリティパラメーターは、バランスパラメーターのように一定のパラメーターに値を分配するのではなく、 装備やスキルに一定確率で追加パラメーターを付与するようなケースで利用できます。
マスターデータには、まずパラメーターを付与する個数の抽選確率を設定します。 次に、付与するパラメーターの種類と確率を設定します。 これで、確率に基づいて追加パラメータを付与することが可能となります。
再抽選
付与されたパラメーターは再抽選が可能で、再抽選の際には付与されたパラメーターの種類のみ変動し、数は変わりません。 バランスパラメーターと同様に、再抽選するパラメーターのうち一部のパラメーターを固定することができます。
追加
レアリティパラメーターは、後から追加することができます。 追加する際には、すでにあるパラメーターは変更せず、指定された個数のパラメーターを追加できます。
実装例
バランスパラメーター
パラメーターの初期化/取得
初めてパラメーターの情報を取得した際にパラメーターの抽選処理が作成されます。
var item = await gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).BalanceParameterStatus(
parameterName: "balance-0001",
propertyId: "property-0001"
).ModelAsync();
const auto item = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->Me(
AccessToken
)->BalanceParameterStatus(
"balance-0001", // parameterName
"property-0001" // propertyId
).Model();
パラメーターの再抽選
再抽選はゲームエンジン用の SDK では処理できません。
レアリティパラメーター
パラメーターの初期化/取得
初めてパラメーターの情報を取得した際にパラメーターの抽選処理が作成されます。
var item = await gs2.Enchant.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).RarityParameterStatus(
parameterName: "balance-0001",
propertyId: "property-0001"
).ModelAsync();
const auto item = Gs2->Enchant->Namespace(
"namespace-0001" // namespaceName
)->Me(
AccessToken
)->RarityParameterStatus(
"balance-0001", // parameterName
"property-0001" // propertyId
).Model();
パラメーターの再抽選
再抽選はゲームエンジン用の SDK では処理できません。
パラメーターの追加
パラメーターの追加はゲームエンジン用の SDK では処理できません。