一些准备:

1.所有单位代码均在rulesmo.ini文件内,而这个文件正常情况下是被expandmo99.mix文件加密的,可以在网上下载纯净的rulesmo.ini文件并放在根目录下,这样就可以覆盖expandmo99.mix的效果了。
其它文件如artmo.ini等文件也可以如此做。

2.rulesmo.ini文件内的代码很长,为了便于魔改代码,可以在根目录新建rulesmo_changes.ini,我们将魔改单位的代码在此文件内编写,然后打开rulesmo.ini,在顶部添加以下代码:

1
2
[#include]
1=rulesmo_changes.ini

如此做,rulesmo_changes.ini的优先级便大于rulesmo.ini了,我们的魔改代码就不会影响本体了。
其它文件如artmo.ini等文件也可以如此做,可新建artmo_changes.ini文件,然后打开artmo.ini并添加以下代码(推荐在顶部添加):
1
2
[#include]
1=artmo_changes.ini

3.rulesmo.ini中,不同类型的单位代码要在规定的位置编写,因此建议提前在rulesmo_changes.ini中提前写好:

1
2
3
4
5
6
7
8
9
10
[General]  ;核心代码设置,如游戏速度、建造速度、战争迷雾等,只建议修改以下内容
PadAircraft=ORCA,BEAG,STORM,FORTRESS,HBIRD,FOX,BLIGHT,VENOM,DUST,LIONH,SEIZER ;官方游戏内的喷气机类型,如果想要魔改新的喷气机,必须在此处填写
[InfantryTypes] ;步兵单位,官方代码到150,任何魔改新的单位都不能占用已有的代码
[VehicleTypes] ;载具和船只单位,官方代码到363
[AircraftTypes] ;飞行器单位,包括喷气机和直升机,官方代码到50
[BuildingTypes] ;建筑单位,官方代码到1155
[SuperWeaponTypes] ;支援技能,官方代码到134
[Warheads] ;弹头,官方代码到733
[WeaponTypes] ;武器,官方代码到1072
[Projectiles] ;抛射体,官方代码到353,另外还占用了666

以下内容为全局设置,非必要不建议添加:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[JumpjetControls]  ;与喷气机有关的性质
[SpecialWeapons] ;游戏中特定超级武器所使用的弹头、抛射体和动画文件
[GenericPrerequisites] ;通用建造条件
[AudioVisual] ;声音和画面设置
[CrateRules] ;随机工具箱相关
[Powerups] ;随机工具箱相关
[CombatDamage] ;战斗伤害计算
[Radiation] ;辐射伤害与逻辑
[ElevationModel] ;高地与地形优势
[WallModel] ;围墙的视觉与逻辑模型
[GlobalControls] ;全局控制开关
[MultiplayerDialogSettings] ;多人游戏房间的界面设置
[Maximums] ;游戏中各种数值的上限
[AI] ;全局AI行为控制
[IQ] ;AI智能等级参数
[Easy] ;不同难度下AI的具体参数
[Normal] ;不同难度下AI的具体参数
[Difficult] ;不同难度下AI的具体参数
[MouseCursors] ;鼠标指针样式
[Colors] ;颜色索引
[ColorAdd] ;颜色数值定义
[TunnelTypes] ;地形属性
[FatalTunnel] ;特殊地形
[BasicTunnel] ;隧道相关
[ArmorTypes] ;单位护甲类型
[TerrainTypes] ;树木、岩石等,官方代码到109,一般不参与魔改
[SmudgeTypes] ;弹坑等贴图,官方代码到45,一般不参与魔改
[OverlayTypes] ;矿石、油桶等,官方代码到254,一般不参与魔改
[Animations] ;开火、建造、爆炸等动画,官方代码到2261,一般不参与魔改
[VoxelAnims] ;体素动画,官方代码到14,一般不参与魔改
[Particles] ;火焰、毒气等细微动画,官方代码到86,一般不参与魔改
[ParticleSystems] ;飞机尾迹等动画,官方代码到78,一般不参与魔改

新型长剑毁灭装甲

这个载具单位是战役中独有的单位,注册名称为[SHINBOT],通过新注册换皮单位[SHINBOTX]做到在遭遇战中能够建造。在rulesmo_changes.ini中添加以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
[VehicleTypes]
1000=SHINBOTX

[SHINBOTX]
Image=SHINBOT
UIName=NAME:SHINBOT
Name=Shin Tsurugi Decimator
Gattling.Cycle=yes
IsGattling=yes
TurretCount=1
WeaponCount=6
Weapon1=ShinBeams
EliteWeapon1=ShinBeamsE
Weapon2=ShinMissiles
EliteWeapon2=ShinMissilesE
Weapon3=ShinMissiles
EliteWeapon3=ShinMissilesE
Weapon4=ShinMissiles
EliteWeapon4=ShinMissilesE
Weapon5=ShinCannons
EliteWeapon5=ShinCannonsE
Weapon6=ShinMissiles
EliteWeapon6=ShinMissilesE
WeaponStages=3
Stage1=200
Stage2=300
Stage3=350
EliteStage1=200
EliteStage2=300
EliteStage3=350
RateUp=1
RateDown=2
Strength=2500
Category=AFV
Armor=r_heavy
Turret=yes
RadarInvisible=yes
IsTilter=yes
Cloneable=no
ProtectedDriver=yes
TooBigToFitUnderBridge=true
Sight=7
Speed=6
PipScale=Passengers
Passengers=2 ;载员格子数
OpenTopped=yes
EnterTransportSound=EnterTransport
LeaveTransportSound=ExitTransport
Experience.PromotePassengers=yes
SizeLimit=2 ;要求允许进入的载员占用格子大小,需要小于这个数
Passengers.BySize=yes ;no时所有载员都只占一格,但进入时仍受SizeLimit限制
CrateGoodie=no
PixelSelectionBracketDelta=-12
SelfHealing=yes
Chronoshift.Allow=yes ;可以被超时空
EMP.Modifier=25%
IgnoresFirestorm=yes
AirRangeBonus=2
Crusher=yes
Sensors=yes
SensorsSight=7
Cost=2500
Soylent=1250
Bounty.Value=500
Bounty=yes
Bounty.Display=yes
Points=100
ROT=6
IsSelectableCombatant=yes
Explosion=UNITEXPL3,UNITEXPL4,UNITEXPL5,UNITEXPL6
VoiceSelect=FTank3Select
VoiceMove=FTank3Move
VoiceAttack=FTank3AttackCommand
DieSound=GenVehicleDie
MoveSound=FutureTankMoveStart
CrushSound=TankCrush
TurretRotateSound=FTankRotate
MinDebris=6
MaxDebris=8
Locomotor={4A582741-9839-11d1-B709-00A024DDAFD1}
MovementZone=Destroyer
ThreatPosed=40
DamageParticleSystems=SparkSys,SmallGreySSys
DamageSmokeOffset=100,100,275
Weight=8
VeteranAbilities=STRONGER
EliteAbilities=SELF_HEAL,FIREPOWER,FASTER
Accelerates=true
SlowdownDistance=1
AccelerationFactor=1
DeaccelerationFactor=0
ZFudgeColumn=8
ZFudgeTunnel=13
Size=9
OpportunityFire=yes
PreventAttackMove=no
CanPassiveAquire=yes
OmniCrusher=yes
OmniCrusher.Aggressive=no
DamageSound=VehicleDamagedHeavy
Survivor.RookiePassengerChance=90%
Survivor.VeteranPassengerChance=95%
Survivor.ElitePassengerChance=100%
Parachute.Anim=PARACHBIG
Crewed=no
AllowedToStartInMultiplayer=no
OmniCrushResistant=yes
VehicleThief.Allowed=no
CanBeReversed=no
EMP.Threshold=no
IFVMode=16
Chronoshift.Crushable=no
TechLevel=9 ; 改为可用等级(如9)
Prerequisite=GAWEAP ; 需要添加建造前提(原版没有)
BuildTimeMultiplier=1.0 ; 改为正常速度(121太慢了)
Owner=Europeans,UnitedStates,Pacific

打开游戏后发现可以建造,但是没有单位动画。在artmo_changes.ini中添加以下代码:
1
2
3
4
5
6
7
8
9
10
11
12
[SHINBOTX] ; Shin Tsurugi Decimator  长剑魔改
Voxel=yes
Remapable=yes
TurretOffset=-50
Weapon1FLH=370,80,165
Weapon2FLH=-30,100,320
Weapon3FLH=-30,100,320
Weapon4FLH=-30,100,320
Weapon5FLH=155,80,360
Weapon6FLH=-30,100,320
AlternateFLH0=200,40,145
AlternateFLH1=200,-40,145