_(:3」∠)_看见mod讨论群在说这个东西难打啊那个mod难玩啊什么啊什么的。忽然就想到现在tr的数据已经被mod放大了很多倍。比如动不动就是破万伤害的武器和秒杀怪物之类的。但是数据高了,我们可以改机制啊!比如说,对于防御机制来说,tr一直是以一个定量defense来囊括所有的伤害减免,其中,近战,魔法,远程,召唤物伤害,全是在这一范畴之内的。————你还没发现这玩意的远大前途吗?!这个内容放着不用可是太可惜了哦?我是指,为什么不来加一些特殊的,开心的内容,把防御细分化一下。我们可以,就是直接简单粗暴的减免某一类型的伤害……为什么不呢。
好了废话少说,我也是直接放干货。
首先是伤害机制。Terraria里的伤害是由一个Hurt的函数构建的。(可能用词不当。)如下所示。
Hurt(int Damage, int hitDirection, bool pvp = false, bool quiet = false, string deathText = " was slain...", bool Crit = false)
参数一目了然,我也就不一一赘述。而在tml的examplemod中也提到了这一点。在Exampleplaye.cs里,是这么写的
public override void Hurt(bool pvp, bool quiet, double damage, int hitDirection, bool crit)
恩,重载了几个数据。
不要忘了我们的任务,我们的任务是细分防御机制,不过已经说到这里了,已经很简单了吧。来几个if判定?
if (!this.immune) //永远无敌。
{
return 0.0;
}
for (int j = 0; j < 1000; j++)
{
if (Main.projectile[j].magic = true;)
{
Return damage * 0.1;
}
}
是不是很明了=w=
或者说,想要rabi-ribi里那种「根性」的效果?可以。
If(this.damage > Player.statLife)
{
return statLife - 1.0;
} //或许还要在KillMe函数里继续判定,因为不确定不死先还是处死玩家先
……
_(:3」∠)_只要你想玩,随便你怎么玩啦。
那么今天话题就到这里,散了吧。反正这个东西肯定有人做过吧。恩。
好了废话少说,我也是直接放干货。
首先是伤害机制。Terraria里的伤害是由一个Hurt的函数构建的。(可能用词不当。)如下所示。
Hurt(int Damage, int hitDirection, bool pvp = false, bool quiet = false, string deathText = " was slain...", bool Crit = false)
参数一目了然,我也就不一一赘述。而在tml的examplemod中也提到了这一点。在Exampleplaye.cs里,是这么写的
public override void Hurt(bool pvp, bool quiet, double damage, int hitDirection, bool crit)
恩,重载了几个数据。
不要忘了我们的任务,我们的任务是细分防御机制,不过已经说到这里了,已经很简单了吧。来几个if判定?
if (!this.immune) //永远无敌。
{
return 0.0;
}
for (int j = 0; j < 1000; j++)
{
if (Main.projectile[j].magic = true;)
{
Return damage * 0.1;
}
}
是不是很明了=w=
或者说,想要rabi-ribi里那种「根性」的效果?可以。
If(this.damage > Player.statLife)
{
return statLife - 1.0;
} //或许还要在KillMe函数里继续判定,因为不确定不死先还是处死玩家先
……
_(:3」∠)_只要你想玩,随便你怎么玩啦。
那么今天话题就到这里,散了吧。反正这个东西肯定有人做过吧。恩。