再次研究攻击主动性,蜜狐请进

[GOKZEALOT_BLADE_DAMG]
{
ID=60;
name=Zealot - Power Blade;
rendertype=1;
model=gokbladeshot;
lineofsight=1;
turret=1;
unitsonly=1;//!!!

range=135;
reloadtime=1;//0.5;
weaponvelocity=300;
startvelocity=25;
weaponacceleration=300;
areaofeffect=0;
edgeeffectiveness=1;
weapontimer=0;
burnblow=1;

soundstart=gokzeal1;
soundhit=gokzeal1hit;//!!!

tolerance=32000;

//damage and reloadtime doubled
[DAMAGE]
	{
	default=101;
	gokzealot=60;
	}
}

连续3次60秒悲剧:6_327:
[GOKZEALOT_BLADE_TARG]
{
ID=61;
name=Zealot - Aggro Targeter;
rendertype=1;
model=gokbladeshot;
lineofsight=1;
turret=1;

range=0;
reloadtime=1;
weaponvelocity=1000;
areaofeffect=8;

tolerance=32000;

[DAMAGE]
	{
	default=0;
	}
}

武器有两个
很奇怪,它自己会去攻击建筑物,但是你不能叫它去攻击,你叫它去攻击它就会在建筑物前站着不动
有时后它自己决定去攻击建筑物也会站着不动

你叫它攻击地面则是站在原地完全不动,但是大刀会发亮

第二个武器是主武器吧?

不知道,但是第1个武器是没有伤害的,猜测是手动攻击用的武器,作者的意图应该是防止单位在指定攻击地面时做无谓的攻击动作,于是做了个固定动作不攻击的武器1,但是造成了当你指定它攻击建筑物时会不动的BUG。

武器1的攻击距离是0,也就是不可能达到的攻击距离,导致其不能攻击。有时候单位可能会自己决定用武器2攻击,导致不能攻击的原因可能也是这个。

我试试删除武器1,看看有没有这个问题。

屏蔽掉武器1,问题基本解决,现在想知道有没有默认shootall的方法,每次都要输入这个不是很爽

rendertype=4

4=plasma shell
这个攻击类型到底是什么意思?
我发现双爪的攻击类型是这个

火炮炮弹的意思,但这只是设置画面渲染上的问题。。。应该不影响。。。

46# 塔斯普可
那样设计是有原因的。大刀单位一直没有必要去手动攻击,你可以联机几局试试,反而移动中自动扫荡是最合理的攻击方式
+shootall 是需要不时关闭、打开的,不然自动武器混乱的攻击目标会使相同数量的单位败战。因此虽然可以改为一劳永逸的,但很少有mods去那样改
大部分更改了 shootall的是颠倒过来
0040B8F5 /0F84 3A010000 je CTRL_A.0040BA35
单位攻击时的攻击目标筛选时的 shootall判断,更改为 jne 0040BA35后, 输入 +shootall是只射击战斗单位,取消则是攻击所有单位
4b73b0是设置+shootall标志位的调用,不过调用前先得设置好 TA内部的用户输入结构
可以直接修改shootall 标志位达到自动输入的结果
byte * ptr= [511de8]+37f30;
ptr指向的位==4则shootall打开, 0则关闭

jump if equal 被改为。。。 jump if not equal。。。
je和jne两条指令变成机器码是多少我还真不知道。。。

大刀主要是有些人不会用巡逻攻击,现在加了自杀攻击感觉方便多了,只要移动到附近就会主动扑上去攻击了,不需要巡逻,shootall算了,不弄了。

偶然间瞟了一眼代码
单位的行动应该还受到heart的控制
看起来好像单位的hp量与他的反应速度有关啊