这两个会得出不一样的perk
local perk = allperks[this.Math.rand(0, allperks.len() - 1)];
local perkins = allperks[this.Math.rand(0, allperks.len() - 1)];
没玩重铸不清楚,可以这样试试,加入你代码的重铸
local perk = allperks[this.Math.rand(0, allperks.len() - 1)];
local perkadd = this.Const.Perks.findById(perk.getID());
if(perkadd != null)
{
this.Tactical.EventLog.log(Const.UI.getColorizedEntityName(actor) + "从敌人身上学会 : " + perk.getName() + " !");
actor.m.PerkPointsSpent += 1;//额外特性数值
actor.getPerkTree().m.MaxWidth = 18;//重铸
actor.getPerkTree().addPerk(perkID,11,false);//重铸
actor.m.Skills.add(this.new(perkadd.Script));
actor.m.Skills.update();
return;
}
this.Tactical.EventLog.log(Const.UI.getColorizedEntityName(actor) + "无法学会敌人特性 : " + perk.getName() + " !");