#author("2023-01-27T13:24:42-05:00","default:fear","fear")
#author("2023-03-11T05:51:01-05:00","default:fear","fear")
xsEffectAmountで用いるattributeIDのリファレンス。~
属性ってなんのこっちゃね?って人は→[[属性を変更]]~
*一覧 [#b16da3e6]
,''値'',''属性(attributeID)'',''定数名''
,0,ヒットポイント,cHitpoints
,1,視界,cLineOfSight
,2,駐留限度,cGarrisonCapacity
,3,ユニット サイズX,cUnitSizeX
,4,ユニット サイズY,cUnitSizeY
,5,移動速度,cMovementSpeed
,6,回転速度,cRotationSpeed
,8,防御力,cArmor
,9,攻撃力,cAttack
,10,再装填時間,cAttackReloadTime
,11,命中率,cAccuracyPercent
,12,最大射程,cMaxRange
,13,作業速度,cWorkRate
,14,運搬限度,cCarryCapacity
,15,基本防御力,cBaseArmor
,16,射撃型ユニット,cProjectileUnit
,17,建物アイコンの無視,cIconGraphicsAngle
,18,地形防御ボーナス,cTerrainDefenseBonus
,19,発射物スマート モード,cEnableSmartProjectile
,20,最小射程,cMinimumRange
,21,最初の資源備蓄量,cAmountFirstStorage
,22,効果範囲,cBlastWidth
,23,探索範囲,cSearchRadius
,24,ボーナス ダメージ抵抗,cBonusResistance
,25,アイコンID,cIconId
,26,第2の資源備蓄量,cAmountSecondStorage
,27,第3の資源備蓄量,cAmountThirdStorage
,28,霧の視認性,cFogFlag
,29,オクルージョン モード,cOcclusionMode
,30,駐留ユニットの種類,cGarrisonType
,32,ユニット サイズZ,cUnitSizeZ
,40,英雄の状態,cHeroStatus
,41,フレームの遅延,cAttackDelay
,42,育成場所,cTrainLocation
,43,育成ボタン,cTrainButton
,44,爆発攻撃レベル,cBlastAttackLevel
,45,爆発防御レベル,cBlastDefenseLevel
,46,攻撃力を表示,cShownAttack
,47,射程を表示,cShownRange
,48,接近戦の防御力を表示,cShownMeleeArmor
,49,飛び道具に対する防御力を表示,cShownPierceArmor
,50,オブジェクト名ID,cNameId
,51,簡単な説明ID,cDescriptionId
,53,地形制約ID,cTerrainTable
,54,ユニットの特徴,cTraits
,56,特徴ピース,cTraitPiece
,57,倒されたユニットID,cDeadUnitId
,58,ホットキーID,cHotkeyId
,59,最大チャージ,cMaxCharge
,60,再チャージ速度,cRechargeRate
,61,チャージ イベント,cChargeEvent
,62,チャージの種類,cChargeType
,63,戦闘アビリティー,cCombatAbility
,64,攻撃分散,cAttackDispersion
,65,副次射撃型ユニット,cSecondaryProjectileUnit
,66,ブラッド ユニット,cBloodUnitId
,67,発射物命中モード,cHitMode
,68,発射物消失モード,cVanishMode
,69,発射物アーク,cProjectileArc
,100,資源コスト,cResourceCost
,101,育成時間,cTrainTime
,102,総弾数,cTotalProjectiles
,103,食料のコスト,cFoodCost
,104,木のコスト,cWoodCost
,105,金のコスト,cGoldCost
,106,石のコスト,cStoneCost
,107,最大総弾数,cMaxTotalProjectiles
,108,,cGarrisonHealRate
,109,回復率,cRegenerationRate
,110,人口,cPopulation
~
~
なお、108には駐屯地の回復率(収納したときの回復量?)が入っているらしいが、~
エディターにはない項目であり、またテストもしてないため未検証。~
*注意事項 [#i81d5ba4]
「属性を変更」ではできるが、xs上でのattibuteIDの指定でできないこととして、
-「オブジェクト名ID」などに、新規の名前が入力できない~
→既存のもののIDを引用して使うことしかできません。多分。~
-「攻撃力」「防御力」が変更できない~
→多分、xsEffectAmountで渡せる項目の中に攻撃力・防御力タイプがないからだと思われ。~
→半公式ガイドであるAoE2DE UGC guideによると、加算、かけるに関してはバグっているらしい。~
が、設定でもうまくいかないことがある。謎。~
2023/3/11現在は、以下のように記述するとうまくいくことがある。~
-値を、(攻撃力・防御力タイプ)×256+増やしたい値で記載
-上記の値は、計算結果によって一度に増える値が255以上であってはならない
-255以上増やしたい場合は、二行以上記載する

例えば、元の射撃攻撃力(タイプ3)が10のユニットの攻撃力を30にしたい場合は、~
値を256*3+20にして加算するか、256*3+3にしてかけるかするということ。~
*定数と数字どっち使えばいいの? [#g4388aad]
結論から言えばどっちを使ってもちゃんと機能するが、定数を使うのがオススメ。~
理由としては、若干プログラミング的な話になる。~
~
まず、プログラミングわかんない人向けに言うと、定数ってのは~
「これから、「りんご」っていう値は、3として扱うよ!~
という宣言のことを指す。これをやったあとに、例えば、~
「2+りんご」~
などをプログラム上で計算すると、ちゃんと5という答えが返ってくる。~
~
上記の表を使って言えば、~
「cHitpointsってのは、0として扱うよ!」~
という宣言が、別のファイルでなされている状態になっている。~
なので、実際に0を入れようが、cHitpointsを入れようが、代入される値は0になる。~
なんなら全く関係ない、暗黒の時代を表す定数cDarkAgeや、地母神の定数cGaiaをつっこんでも、0なので意図したとおりに機能する。~
なんならなぜ定数をわざわざ使うのか?~
~
理由の一つは、コードを書いてしばらくした後にファイルを見ても、「なんのこっちゃ?」ってなりにくくなるから。~
単に「0」っていう値が記入されていた場合と、「cHitpoints」という文字列が記入されていた場合だと、~
殆どの人は、「cHitpoints」の方が「ああ、ヒットポイントやな!」ってなると思う。~
~
もう一つは、AoE2DE作ってる側のプログラマーが、数字を変える可能性が考えられるため。~
これまではHPを変更する命令を出すためには0だったけど、これからは1にしよう!~
みたいな変更を加えられた場合、直に0って入力したままだとみずほ銀行する。~
修正するためには、「変更された」という情報を入手し、該当のコードの箇所をすべて思い出し、それを変更する必要がある。~
1ファイルだけならまだしも、たくさん作った後とかにやられると確実にみずほ銀行する。~
~
逆に、AoE2作ってる側がよほどのみずほ銀行でない限り、定数を宣言している箇所を、
「cHitpointsは1にするよ!」~
という形で修正してくれている。~
なので、cHitpointsを用いている限りは、仮にヒットポイントを変更するために使う値が変化したとしても、~
該当箇所を修正せずに済む、というわけである。~
~
このため、数字を入力した方が圧倒的に早いし、バイト数的にも少なくて済むが、~
''定数があるものは定数名を記載する癖を付ける''方がいいと思う。~

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS