添加祈求机制(Invoke)
2020-09-07 本文已影响0人
慕海生
祈求机制的改法,我们是模仿着兄弟原有的青玉魔像 (JadeGolem) 的机制来修改,所以我们很多添加函数的位置都选择在 JadeGolem 旁边,话不多说,这里就直接贴代码了
1. Hrtprozis.cs
搜索代码
public int anzEnemyJadeGolem = 0;
在下面添加两行
public int OwnInvoke = 0;
public int EnemyInvoke = 0;
搜索代码
help.logg("cthunbonus: " + this.anzOgOwnCThunAngrBonus + " " + this.anzOgOwnCThunHpBonus + " " + this.anzOgOwnCThunTaunt);
在下面添加一行
help.logg("invoke: " + this.OwnInvoke + " " + this.EnemyInvoke);
搜索代码
public void updateJadeGolemsInfo(int anzOwnJG, int anzEmemyJG)
{
anzOwnJadeGolem = anzOwnJG;
anzEnemyJadeGolem = anzEmemyJG;
}
在下面添加我们的自定义函数 updateInvokedInfo
public void updateInvokedInfo(int Owninvoke, int Ememyinvoke)
{
this.OwnInvoke = Owninvoke;
this.EnemyInvoke = Ememyinvoke;
}
2.silverfish_HB.cs
在
Hrtprozis.Instance.updateJadeGolemsInfo(GameState.Get().GetFriendlySidePlayer().GetTag(GAME_TAG.JADE_GOLEM), GameState.Get().GetOpposingSidePlayer().GetTag(GAME_TAG.JADE_GOLEM));
的下一行添加调用我们所写的自定义函数 updateInvokedInfo
Hrtprozis.Instance.updateInvokedInfo(GameState.Get().GetFriendlySidePlayer().GetTag((GAME_TAG)1366), GameState.Get().GetOpposingSidePlayer().GetTag((GAME_TAG)1366));
3. Playfield.cs
搜索代码
public int anzEnemyJadeGolem = 0;
在下面添加两行
public int OwnInvoke = 0;
public int EnemyInvoke = 0;
搜索代码
this.anzEnemyJadeGolem = prozis.anzEnemyJadeGolem;
在下面添加两行
this.OwnInvoke = prozis.OwnInvoke;
this.EnemyInvoke = prozis.EnemyInvoke;
搜索代码
this.anzEnemyJadeGolem = p.anzEnemyJadeGolem;
在下面添加两行
this.OwnInvoke = p.OwnInvoke;
this.EnemyInvoke = p.EnemyInvoke;
搜索代码
retval += this.anzOgOwnCThunAngrBonus + this.anzOwnJadeGolem + this.anzOwnElementalsLastTurn;
修改为
retval += this.anzOgOwnCThunAngrBonus + this.anzOwnJadeGolem + this.OwnInvoke + this.anzOwnElementalsLastTurn;
搜索函数
public CardDB.Card getNextJadeGolem(bool own)
在这个函数上面添加 getGalakrondInvoke 函数
public void getGalakrondInvoke(bool own)
{
int pos = own ? this.ownMinions.Count : this.enemyMinions.Count;
CardDB.Card DRG_238t14t3kid = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.DRG_238t14t3);
CardDB.Card DRG_238t12t2kid = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.DRG_238t12t2);
if (own) this.OwnInvoke++; else this.EnemyInvoke++;
TAG_CLASS cls = own ? this.ownHeroStartClass : this.enemyHeroStartClass;
switch(cls)
{
case TAG_CLASS.SHAMAN://萨满
this.callKid(DRG_238t14t3kid, pos, own);
break;
case TAG_CLASS.WARLOCK://术士
this.callKid(DRG_238t12t2kid, pos, own);
this.callKid(DRG_238t12t2kid, pos + 1, own);
break;
case TAG_CLASS.WARRIOR://战士
this.minionGetTempBuff(own ? this.ownHero : this.enemyHero, 3, 0);
break;
case TAG_CLASS.PRIEST://牧师
this.drawACard(CardDB.cardIDEnum.None, own, true);
break;
case TAG_CLASS.ROGUE://盗贼
this.drawACard(CardDB.cardIDEnum.DAL_741, own, true);//虚灵跟班
break;
default:
Helpfunctions.Instance.ErrorLog("[提示] 未知的英雄进行祈求");
break;
}
return;
}
还有调试相关修改,如果你不会调试,可以不进行修改
在 BoardTester.cs 文件
搜索代码
int anzEnemyJadeGolem = 0;
在下面添加两行
int OwnInvoke = 0;
int EnemyInvoke = 0;
搜索
if (s.StartsWith("elementals: "))
在上面添加代码
if (s.StartsWith("invoke: "))
{
String[] ss = s.Split(' ');
OwnInvoke = Convert.ToInt32(ss[1]);
EnemyInvoke = Convert.ToInt32(ss[2]);
}
搜索
Hrtprozis.Instance.updateJadeGolemsInfo(this.anzOwnJadeGolem, this.anzEnemyJadeGolem);
在下一行添加
Hrtprozis.Instance.updateInvokedInfo(this.OwnInvoke, this.EnemyInvoke);
到此修改结束,如果有卡要进行祈求则使用 public void getGalakrondInvoke(bool own) 函数
转载来源http://wjh-blog.test.upcdn.net/blog/index.php/archives/18/
仅供个人研究学习之用