《暴战机甲兵(BattleTech)》MOD基础(当然你也可以理解为修改指南)

看到文档是.json文件的时候就开始动歪脑筋,想起当年改《最高指挥官2》做MOD时候的感觉。
接下来的内容授人以渔
技能:
\BattleTech_Data\StreamingAssets\data\abilities
例子:AbilityDefCMD_ArtThumperAP.json
{
"Description" : {
"Id" : "AbilityDefCMD_ArtThumperAP", 代号
"Name" : "AP STRIKE", 名称
"Details" : "CALLS IN AN ARMOR-PIERCING ARTILLERY STRIKE FROM YOUR THUMPER SUPPORT UNIT.", 描述
"Icon" : "uixSvgIcon_artillery"
},
"ActivationTime" : "CommandAbility",
"Resource" : "CommandAbility",
"ActivationCooldown" : 4, 冷却时间
"ActivationETA" : 5, ETA
"specialRules" : "Artillery", 特殊规则:例如炮兵
"Targeting" : "CommandTargetSinglePoint", 瞄准:指令目标单点
"FloatParam1" : 20.0, 炮击浮动参数
"WeaponResource" : "Weapon_Autocannon_AC20_0-STOCK", 武器
"StringParam1" : "vfxPrfPrtl_fireTerrain_smLoop",
"IntParam1" : 1,
"StringParam2" : "vfxPrfPrtl_buildingCollapseFiery_medium"
}
弹药:
BATTLETECH\BattleTech_Data\StreamingAssets\data\ammunition
BATTLETECH\BattleTech_Data\StreamingAssets\data\ammunitionBox
例子:Ammunition_AC2.json
{
"Description" : {
"Id" : "Ammunition_AC2", 代号
"Name" : "AC/2 Ammo", 弹药名
"Details" : "Small caliber ammunition designed for long range fire in an AC/2.", 描述
"Icon" : null, 图标
"Cost" : 0, 花费
"Rarity" : 0, 稀有
"Purchasable" : false 是否可以购买
},
"Type" : "Normal", 类型 :普通
"Category" : "AC2", 类别:AC2
"HeatGenerated" : 0, 发热
"HeatGeneratedModifier" : 1, 发热参数修正
"ArmorDamageModifier" : 1, 装甲伤害修正
"ISDamageModifier" : 1, 损坏参数修正
"CriticalDamageModifier" : 1 暴击参数修正
}
例子:Ammo_AmmunitionBox_Generic_AC2.json
{
"AmmoID" : "Ammunition_AC2", 代号
"Capacity" : 25, 容量
"Description" : {
"Cost" : 10000, 成本
"Rarity" : 0, 稀有
"Purchasable" : true, 可购买
"Manufacturer" : "Generic", 制造商:通用
"Model" : "AC2", 模型
"UIName" : "AC/2 Ammo", 用户界面名称
"Id" : "Ammo_AmmunitionBox_Generic_AC2", 代号
"Name" : "AC/2 Ammo", 名称 (描述:弹药箱包含炮弹所需的炮弹,每个武器类型至少需要一个箱子。弹药箱会爆炸和破坏他们安装的位置,当他们受到致命打击。AC / 2弹药箱每个都包含25发子弹,可以提供多个武器。)
"Details" : "Ammo Bins contain the rounds needed for projectile-based weaponry, with at least one bin required per weapon type. Ammo Bins will explode and destroy their installed location when they receive a Critical Hit. AC/2 Ammo Bins each contain 25 rounds and may feed multiple weapons.",
"Icon" : "uixSvgIcon_ammoBox_Ballistic" 图标
},
"BonusValueA" : "",
"BonusValueB" : "",
"ComponentType" : "AmmunitionBox", 组件类型 弹药箱
"ComponentSubType" : "Ammunition", 组件子类型 弹药
"PrefabIdentifier" : "",
"BattleValue" : 0, 战斗值
"InventorySize" : 1, 库存规模
"Tonnage" : 1, 重量
"AllowedLocations" : "All", 安装位置 全部
"DisallowedLocations" : "All", 不可安装位置 全部
"CriticalComponent" : false, 关键部件
"statusEffects" : [
],
"ComponentTags" : {
"items" : [
"component_type_stock"
],
"tagSetSourceFile" : ""
}
}
建筑:
BATTLETECH\BattleTech_Data\StreamingAssets\data\buildings
例子:buildingdef_Barracks.json
{
"Description" : {
"Id" : "buildingdef_Barracks", 代号
"Name" : "Barracks", 名字
"Details" : "A barracks", 描述:兵营
"Icon" : "",
"Cost" : 0, 花费
"Rarity" : 0, 稀有
"Purchasable" : false 可购买
},
"Destructible" : true, 可破坏
"StructurePoints" : 50, 结构点数
"Opacity" : 100 不透明度
}
NPC:
BattleTech_Data\StreamingAssets\data\cast
例子:castDef_AranoGuardsman.json
{
"id" : "castDef_AranoGuardsman", 代号
"internalName" : "AranoGuardsman", 内部名称 阿拉诺卫兵
"firstName" : "House Arano", 豪斯阿拉诺
"lastName" : "Guardsman", 卫兵
"callsign" : null, 呼号
"rank" : "Aurigan Coalition", 阶层 奥里根联盟
"gender" : "Male", 性别 男
"faction" : "NoFaction", 派系 无
"sgCharType" : "UNSET",
"showRank" : true, 显示等级
"showFirstName" : true, 显示 前名
"showCallsign" : false, 显示呼号
"showLastName" : true, 显示 后名
"defaultEmotePortrait" : {
"emote" : "Default", 表情 默认
"portraitAssetPath" : "sprites/Portraits/guiTxrPort_SE01_AranoGuard_def_utr.png" 头像
},
"emotePotraitList" : [
]
}
载具:
BattleTech_Data\StreamingAssets\data\chassis
例子:chassisdef_atlas_AS7-D.json
{
"Description": {
"Cost": 10800000, 成本
"Rarity": 5, 稀有
"Purchasable": true, 可购买
"Manufacturer": "", 制造商
"Model": "", 模型
"UIName": "Atlas", UI名称 阿特拉斯
"Id": "chassisdef_atlas_AS7-D", 代号
"Name": "Atlas", 名字 阿特拉斯 (描述:阿特拉斯D是战场之王,能够在任何范围内携带令人眩晕的武器阵列。它也值得注意的是通常安装的最大数量的装甲可能。很少有对手能与这只怪物短暂接触。)
"Details": "The Atlas D is the king of the battlefield, capable of bringing a dizzying array of weapons to bear on targets at any range. It is also noteworthy for normally mounting the maximum amount of armor possible. Few opponents can survive even brief contact with this monster.",
"Icon": "uixTxrIcon_atlas"
},
"MovementCapDefID": "movedef_atlas_AS7-D",
"PathingCapDefID": "pathingdef_assault",
"HardpointDataDefID": "hardpointdatadef_atlas",
"PrefabIdentifier": "chrPrfMech_atlasBase-001",
"PrefabBase": "atlas",
"Tonnage": 100, 重量
"InitialTonnage": 35, 初始重量
"weightClass": "ASSAULT", 重量级 突击
"BattleValue": 10581000, 价值
"Heatsinks": 0, 散热器
"TopSpeed": 60, 最高速度
"TurnRadius": 90, 转弯半径
"MaxJumpjets": 3, 最大跳跃
"Stability": 100, 稳定性
"StabilityDefenses": [ 稳定性防御
0,
0,
0,
0,
0,
0
],
"SpotterDistanceMultiplier": 1, 探测距离
"VisibilityMultiplier": 1, 能见度
"SensorRangeMultiplier": 1, 传感器范围
"Signature": 0, 签名
"Radius": 8, 半径
"PunchesWithLeftArm": false, 左臂拳击
"MeleeDamage": 140, 肉搏伤害
"MeleeInstability": 100, 近战不稳定性
"MeleeToHitModifier": 0, 近战命中率
"DFADamage": 125, DFA损伤
"DFAToHitModifier": 0, DFA命中率
"DFASelfDamage": 125, DFA自损
"DFAInstability": 125, DFA不稳定性
"Locations": [
{
"Location": "Head", 部位 头部
"Hardpoints": [], 外挂点
"Tonnage": 0, 重量
"InventorySlots": 1, 存货槽位
"MaxArmor": 45, 护甲
"MaxRearArmor": -1, 背后护甲
"InternalStructure": 16 内部结构
},
{
"Location": "LeftArm",部位 左臂
"Hardpoints": [ 外挂点
{
"WeaponMount": "Energy", 武器装备 能量武器
"Omni": false 全部
},
{
"WeaponMount": "AntiPersonnel", 反步兵
"Omni": false 全部
}
],
"Tonnage": 0, 重量
"InventorySlots": 8, 库存插槽
"MaxArmor": 170, 护甲
"MaxRearArmor": -1, 背后护甲
"InternalStructure": 85 内部结构
},
{
"Location": "LeftTorso", 左躯干
"Hardpoints": [
{
"WeaponMount": "Missile", 导弹
"Omni": false
},
{
"WeaponMount": "Missile", 导弹
"Omni": false
}
],
"Tonnage": 0, 重量
"InventorySlots": 10, 库存插槽
"MaxArmor": 210, 护甲
"MaxRearArmor": 105, 背后护甲
"InternalStructure": 105 内部结构
},
{
"Location": "CenterTorso", 中心躯干
"Hardpoints": [
{
"WeaponMount": "Energy", 能量武器
"Omni": false
},
{
"WeaponMount": "Energy", 能量武器
"Omni": false
}
],
"Tonnage": 0, 重量
"InventorySlots": 4, 库存插槽
"MaxArmor": 320, 护甲
"MaxRearArmor": 160, 背后护甲
"InternalStructure": 160 内部结构
},
{
"Location": "RightTorso", 右侧身躯
"Hardpoints": [
{
"WeaponMount": "Ballistic", 弹道武器
"Omni": false
},
{
"WeaponMount": "Ballistic", 弹道武器
"Omni": false
}
],
"Tonnage": 0,
"InventorySlots": 10,
"MaxArmor": 210,
"MaxRearArmor": 105,
"InternalStructure": 105
},
{
"Location": "RightArm", 右臂
"Hardpoints": [
{
"WeaponMount": "Energy", 能量武器
"Omni": false
},
{
"WeaponMount": "AntiPersonnel", 反步兵武器
"Omni": false
}
],
"Tonnage": 0,
"InventorySlots": 8,
"MaxArmor": 170,
"MaxRearArmor": -1,
"InternalStructure": 85
},
{
"Location": "LeftLeg", 左腿
"Hardpoints": [],
"Tonnage": 0,
"InventorySlots": 4,
"MaxArmor": 210,
"MaxRearArmor": -1,
"InternalStructure": 105
},
{
"Location": "RightLeg", 右腿
"Hardpoints": [],
"Tonnage": 0,
"InventorySlots": 4,
"MaxArmor": 210,
"MaxRearArmor": -1,
"InternalStructure": 105
}
],
"LOSSourcePositions": [
{
"x": 0,
"y": 17,
"z": 0
},
{
"x": 5,
"y": 16,
"z": -1
},
{
"x": -5,
"y": 16,
"z": -1
}
],
"LOSTargetPositions": [
{
"x": 0,
"y": 17,
"z": 0
},
{
"x": 5,
"y": 16,
"z": -1
},
{
"x": -5,
"y": 16,
"z": -1
},
{
"x": 3.5,
"y": 5.5,
"z": 1
},
{
"x": -3.5,
"y": 5.5,
"z": 1
}
],
"VariantName": "AS7-D",
"ChassisTags": {
"items": [],
"tagSetSourceFile": ""
},
"StockRole": "Juggernaut & Close Assault",(阿特拉斯D是战场之王,能把令人眩晕的武器部署在任何范围的目标上。它也值得注意的是通常安装的最大数量的装甲可能。很少有对手能与这个怪物短暂接触。)
"YangsThoughts": "The Atlas D is the king of the battlefield, capable of bringing a dizzying array of weapons to bear on targets at any range. It is also noteworthy for normally mounting the maximum amount of armor possible. Few opponents can survive even brief contact with this monster."
}
任务合同:
BattleTech_Data\StreamingAssets\data\contracts
BattleTech_Data\StreamingAssets\data\contractsDeprecated
ambushconvoy 埋伏车队
arenaskirmish 竞技场小冲突
assassinate 暗杀
capturebase 占领基地
captureescort 俘虏护卫队
defendbase 防御基地
destroybase 破坏基地
escortsingle 护送者
itrom_attack 伊特罗姆攻击
itrom_defense 伊特罗姆防御
panzyr_attack 潘齐尔攻击
panzyr_defense 潘齐尔防御
rescue 营救
simplebattle 简单战役
simpleskirmish 简单主义
smithon_attack 史密森攻击
smithon_defense 史密森防御
story_1a_retreat 撤退a
story_1b_retreat 撤退b
story_2_threeyearslater 三年后
story_3_axylus 斧
story_4_liberationofweldry Weldy的故事情节解放
story_5_servedcold 严寒
story_6a_treasuretrove 宝库a
story_6b_treasuretrove 宝库b
story_7_gunboatdiplomacy 炮舰外交
story_8_locura 洛克拉(意大利语:疯狂)
story_9_downfall 倒台
travelonly 仅仅是旅行
tyrlon_attack 暴龙攻击
rescue 营救
rescuedouble 双人营救
rescuesingle 单人援救
simplebattle 简单战役
descriptions 描述
conversations 对话
常量
例子:AudioConstants.json 音频稳定器
"VOPlayChance_Always" : 1,
"VOPlayChance_Common" : 0.75,
"VOPlayChance_Uncommon" : 0.33,
"VOPlayChance_Rare" : 0.1,
"QueuedAudioDelay" : 0.3,
"AttackPreFireDuration" : 1, 攻击前等待时间
"AttackAfterFireDelay" : 0.5, 攻击后等待时间
"AttackAfterFireDuration" : 1, 攻击后等待时间
"AttackAfterCompletionDuration" : 2, 攻击完成后等待时间
"audioEmitterPrefab" : "sfxPrfObj_audioEmitter",
"maxShortAudioEmitters" : 15,
"maxLongAudioEmitters" : 20,
"rallyHealthPercentageThreshold" : 0.5,
"distanceToTargetRTPCThreshold" : 750.0,
"audioFadeDuration" : 2.5,
"ambientVODelay" : 45.0,
"ambientVOChance" : 0.25,
"DEBUG_Always_Play_VO": false
例子:CombatGameConstants.json 游戏战斗常数
"Phase": 相位
{
"PhaseSpecial": 1,
"PhaseLight": 2,
"PhaseMedium": 3,
"PhaseHeavy": 4,
"PhaseAssault": 5,
"PhaseLightVehicle": 3,
"PhaseMediumVehicle": 4,
"PhaseHeavyVehicle": 5,
"PhaseAssaultVehicle": 5,
"PhaseLightTurret": 5,
"PhaseMediumTurret": 5,
"PhaseHeavyTurret": 5,
"PhaseAssaultTurret": 5
},
"Skills": 技能
{
"MechDefaultGunnery": 1,
"MechDefaultGuts": 1,
"MechDefaultPiloting": 1,
"MechDefaultTactics": 1,
"VehicleDefaultGunnery": 1,
"VehicleDefaultGuts": 1,
"VehicleDefaultPiloting": 1,
"VehicleDefaultTactics": 1,
"TurretDefaultGunnery": 1,
"TurretDefaultGuts": 1,
"TurretDefaultPiloting": 1,
"TurretDefaultTactics": 1
},
"Heat": 热量
{
"OverheatLevel": 0.6, 过载
"MaxHeat": 100, 最大热量
"WalkHeat": 0, 步行热量
"SprintHeat": 5, 冲刺热量
"JumpHeatUnitSize": 6, 跳跃式热单位尺寸
"JumpHeatPerUnit": 1, 单位跳跃热量
"JumpHeatMin": 5,
"EngineDamageHeat": 0,
"InternalHeatSinkCount": 10,
"DefaultHeatSinkDissipationCapacity": 3,
"StartupSinkRatio": 0.75,
"GlobalHeatIncreaseMultiplier": 1.0,
"GlobalHeatSinkMultiplier": 1.0,
"CriticalHeatPerLocationLight": 4,
"CriticalHeatPerLocationMedium": 5,
"CriticalHeatPerLocationHeavy": 7,
"CriticalHeatPerLocationAssault": 10,
"ShutdownCausesInjury": false,
"ShowPeakHeat": false
},
"Visibility": 能见度
{
"BaseSpotterDistance": 300.0, 基本观测距离
"SpotterTacticsMultiplier": 0.0, 观测策略乘法器
"RatioFullVis": 0.79,
"RatioObstructedVis": 0.41,
"MinRatioFromActors": 0.2,
"ShutDownVisibilityModifier": 0.0,
"ShutDownSignatureModifier": -0.5,
"BaseSensorDistance": 400.0,
"UseAsymmetricalSensors": true,
"ShowExtendedBlipsBeforeContact": false,
"ExtendedSensorDistanceMultiplier": 1.0,
"SensorHysteresisAdditive": 50.0,
"ShutdownSpottingDistanceMultiplier": 0.1,
"ProneSpottingDistanceMultiplier": 0.25,
"AllowRearArcSpotting": true,
"NumSensorLockSteps": 1,
"SensorLockSingleStepEffect":
例子:MechStatisticsConstants.json 机械统计常数
{
"ARMOR_PER_TENTH_TON" : 8.0,
"CBILLS_PER_ARMOR_POINT" : 625.0,
"TONNAGE_PER_ARMOR_POINT" : 0.0125,
"ARMOR_PER_STEP" : 5.0,
"MaxSprintFactor" : 350.0,
"MinSprintFactor" : 125.0,
"MinStockJumpFactor" : 2.0,
"MaxArmorFactor" : 1600.0,
"MaxStructureFactor" : 760.0,
"MaxStockMeleeDamage" : 140.0,
"MinStockMeleeDamage" : 15.0,
"MaxHeatEfficiency" : 100.0,
"MinHeatEfficiency" : 35.0,
"MaxStockAvgRange" : 390.0,
"MinStockAvgRange" : 115.0,
"MaxStockFirepower" : 355.0,
"MinStockFirepower" : 50.0,
"MaxStockStabilityDamage" : 110.0,
"MinStockStabilityDamage" : 0.0,
"ArmorAllocationRatioHead" : 0.0833,
"ArmorAllocationRatioCenterTorso" : 0.1667,
"ArmorAllocationRatioCenterTorsoRear" : 0.0833,
"ArmorAllocationRatioLeftTorso" : 0.125,
"ArmorAllocationRatioLeftTorsoRear" : 0.0694,
"ArmorAllocationRatioRightTorso" : 0.125,
"ArmorAllocationRatioRightTorsoRear" : 0.0694,
"ArmorAllocationRatioLeftArm" : 0.0694,
"ArmorAllocationRatioRightArm" : 0.0694,
"ArmorAllocationRatioLeftLeg" : 0.0694,
"ArmorAllocationRatioRightLeg" : 0.0694
}
events 事件
factions 派系
genderedoptions 性别 头像 声音 之类的
hardpoints 要点
heatsinks 散热器
BattleTech_Data\StreamingAssets\data\heatsinks
例子:Gear_HeatSink_Generic_Bulk-Bank.json
{
"DissipationCapacity" : 0, 耗散能力
"Description" : {
"Cost" : 470000, 花费
"Rarity" : 5, 稀有
"Purchasable" : true, 可购买的
"Manufacturer" : "Generic", 制造商 通用
"Model" : "Bulk Bank", 模型 散装银行
"UIName" : "Heat Bank + +", UI名 热库
"Id" : "Gear_HeatSink_Generic_Bulk-Bank", 代号
"Name" : "Bulk Bank Heat Bank ", 名字 (热库被安装,以允许更多的热能收集,增加内部损伤发生的阈值,从过度的热量积累,从而提高持续的武器射击能力。)
"Details" : "Heat Banks are installed to allow for more thermal energy collection, increasing the threshold at which internal damage occurs from excess heat buildup and thus boosting sustained weapons fire capability. ",
"Icon" : "uixSvgIcon_equipment_HeatBank" 图标
},
"BonusValueA" : "+ 30 Max Heat", 加值A 30最大热量
"BonusValueB" : "+ 15 Overheat Threshold", 加值B 15过热阈值
"ComponentType" : "HeatSink", 组件类型 散热器
"ComponentSubType" : "Heatsink", 组件子类型 散热器
"PrefabIdentifier" : "",
"BattleValue" : 0, 战场价值
"InventorySize" : 6, 库存
"Tonnage" : 1, 重量
"AllowedLocations" : "All", 允许位置
"DisallowedLocations" : "All", 不允许位置
"CriticalComponent" : false, 关键部件
"statusEffects" : [ 地位效应
{
"durationData" : {
"duration" : -1, 持续时间
"ticksOnActivations" : false, 在激活时打勾
"useActivationsOfTarget" : false, 使用激活目标
"ticksOnEndOfRound" : false, 在结束时回答
"ticksOnMovements" : false, 在运动上打勾
"stackLimit" : -1, 堆栈限制
"clearedWhenAttacked" : false 被攻击时清除
},
"targetingData" : {
"effectTriggerType" : "Passive", 效果触发器类型 被动
"triggerLimit" : 0, 触发限制
"extendDurationOnTrigger" : 0, 延长触发持续时间
"specialRules" : "NotSet", 特别规则 未设定
"effectTargetType" : "Creator", 效果目标类型 创建者
"range" : 0, 范围
"forcePathRebuild" : false, 强制路径重建
"forceVisRebuild" : false,
"showInTargetPreview" : false,
"showInStatusPanel" : true
},
"effectType" : "StatisticEffect",
"Description" : {
"Id" : "StatusEffect-Heat_Max-T3",
"Name" : "MAX HEAT INCREASED",
"Details" : "Maximum allowed heat increased by [AMT].",
"Icon" : "uixSvgIcon_equipment_HeatBank"
},
"nature" : "Buff",
"statisticData" : {
"appliesEachTick" : false,
"effectsPersistAfterDestruction" : false,
"statName" : "MaxHeat",
"operation" : "Int_Add",
"modValue" : "30",
"modType" : "System.Int32",
"additionalRules" : "NotSet",
"targetCollection" : "NotSet",
"targetWeaponCategory" : "NotSet",
"targetWeaponType" : "NotSet",
"targetAmmoCategory" : "NotSet",
"targetWeaponSubType" : "NotSet"
},
"tagData" : null,
"floatieData" : null,
"actorBurningData" : null,
"vfxData" : null,
"instantModData" : null,
"poorlyMaintainedEffectData" : null
},
{
"durationData" : {
"duration" : -1,
"ticksOnActivations" : false,
"useActivationsOfTarget" : false,
"ticksOnEndOfRound" : false,
"ticksOnMovements" : false,
"stackLimit" : -1,
"clearedWhenAttacked" : false
},
"targetingData" : {
"effectTriggerType" : "Passive",
"triggerLimit" : 0,
"extendDurationOnTrigger" : 0,
"specialRules" : "NotSet",
"effectTargetType" : "Creator",
"range" : 0,
"forcePathRebuild" : false,
"forceVisRebuild" : false,
"showInTargetPreview" : false,
"showInStatusPanel" : true
},
"effectType" : "StatisticEffect",
"Description" : {
"Id" : "StatusEffect-Overheat_Threshold-T3",
"Name" : "Increased Overheat Level",
"Details" : "Overheat threshold increased by 15",
"Icon" : "uixSvgIcon_equipment_HeatBank"
},
"nature" : "Buff",
"statisticData" : {
"appliesEachTick" : false,
"effectsPersistAfterDestruction" : false,
"statName" : "OverheatLevel",
"operation" : "Int_Add",
"modValue" : "15",
"modType" : "System.Int32",
"additionalRules" : "NotSet",
"targetCollection" : "NotSet",
"targetWeaponCategory" : "NotSet",
"targetWeaponType" : "NotSet",
"targetAmmoCategory" : "NotSet",
"targetWeaponSubType" : "NotSet"
},
"tagData" : null,
"floatieData" : null,
"actorBurningData" : null,
"vfxData" : null,
"instantModData" : null,
"poorlyMaintainedEffectData" : null
}
],
"ComponentTags" : {
"items" : [
"component_type_variant",
"component_type_variant3"
],
"tagSetSourceFile" : ""
}
}
heraldry 徽章
好吧2W字了,其他的部分发在视频下方简介里了(没错就是要忽悠点击量……rua!)
学习坛友HUAC12345与wishOne写的MOD指南分析出的部分内容
感谢各位大大的支持