Skip to content

Commit

Permalink
AI_Albaz
Browse files Browse the repository at this point in the history
  • Loading branch information
Wind2009-Louse committed Jul 25, 2024
1 parent 11169f2 commit 00918ee
Show file tree
Hide file tree
Showing 9 changed files with 5,948 additions and 5 deletions.
5 changes: 5 additions & 0 deletions BotWrapper/bot.conf
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,11 @@ Name=艾克莉西娅 Deck=Dogmatika Dialog=ecclesia.zh-CN
教导卡组。
AI_LV4 SUPPORT_MASTER_RULE_3 SUPPORT_NEW_MASTER_RULE SUPPORT_MASTER_RULE_2020

!艾克莉西娅-阿不思
Name=艾克莉西娅 Deck=Albaz Dialog=ecclesia.zh-CN
以阿不思的落胤为中心的卡组。
AI_LV4 SUPPORT_MASTER_RULE_3 SUPPORT_MASTER_RULE_2020

!神数不神-刹帝利
Name=神数不神 Deck=Kashtira Dialog=Zefra.zh-CN
俱舍怒威族卡组。
Expand Down
64 changes: 64 additions & 0 deletions Decks/AI_Albaz.ydk
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#created by ...
#main
32731036
25451383
60242223
62962630
62962630
62962630
68468459
68468459
45484331
45883110
95515789
19096726
14558127
14558127
14558127
23434538
23434538
23434538
36577931
1984618
1984618
6498706
6498706
34995106
44362883
75500286
81439173
24224830
24224830
29948294
36637374
65681983
82738008
18973184
10045474
10045474
10045474
19271881
32756828
17751597
#extra
11321089
38811586
44146295
44146295
92892239
70534340
3410461
24915933
72272462
1906812
41373230
51409648
87746184
87746184
53971455
!side
56787189
55273561
68468460
72554664
95515790
3 changes: 2 additions & 1 deletion Dialogs/ecclesia.zh-CN.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"welcome": [
"这里就是大灵峰吗?",
"这里是教导龙国。"
"这里是教导龙国。",
"这里是开放的大地。"
],
"deckerror": [
"{0}被冰水咒缚了!"
Expand Down
5,861 changes: 5,861 additions & 0 deletions Game/AI/Decks/AlbazExecutor.cs

Large diffs are not rendered by default.

13 changes: 12 additions & 1 deletion Game/AI/DefaultExecutor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1129,6 +1129,15 @@ protected bool DefaultOnBecomeTarget()
_CardId.EvenlyMatched,
_CardId.DivineArsenalAAZEUS_SkyThunder
};
int[] destroyAllMonsterList =
{
_CardId.DarkHole,
_CardId.InterruptedKaijuSlumber
};
int[] destroyAllOpponentMonsterList =
{
_CardId.Raigeki
};
int[] destroyAllOpponentSpellList =
{
_CardId.HarpiesFeatherDuster,
Expand All @@ -1137,6 +1146,8 @@ protected bool DefaultOnBecomeTarget()

if (Util.ChainContainsCard(destroyAllList)) return true;
if (Enemy.HasInSpellZone(destroyAllOpponentSpellList, true) && Card.Location == CardLocation.SpellZone) return true;
if (Util.ChainContainsCard(destroyAllMonsterList) && Card.Location == CardLocation.MonsterZone) return true;
if (Duel.CurrentChain.Any(c => c.Controller == 1 && c.IsCode(destroyAllOpponentMonsterList)) && Card.Location == CardLocation.MonsterZone) return true;
if (lightningStormOption == 0 && Card.Location == CardLocation.MonsterZone && Card.IsAttack()) return true;
if (lightningStormOption == 1 && Card.Location == CardLocation.SpellZone) return true;
// TODO: ChainContainsCard(id, player)
Expand Down Expand Up @@ -1579,7 +1590,7 @@ protected bool DefaultCheckWhetherCardIsNegated(ClientCard card)
if (originId == 0) originId = card.Data.Id;
return crossoutDesignatorIdList.Contains(originId)
|| (calledbytheGraveIdCountMap.ContainsKey(originId) && calledbytheGraveIdCountMap[originId] > 0)
|| card.IsDisabled();
|| (card.IsDisabled() && ((int)card.Location & (int)CardLocation.Onfield) > 0);
}

protected bool DefaultCheckWhetherCardIdIsNegated(int cardId)
Expand Down
2 changes: 1 addition & 1 deletion Game/GameAI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1162,14 +1162,14 @@ public BattlePhaseAction ToMainPhase2()

private bool ShouldExecute(CardExecutor exec, ClientCard card, ExecutorType type, int desc = -1, int timing = -1)
{
Executor.SetCard(type, card, desc, timing);
if (card.Id != 0 && type == ExecutorType.Activate)
{
if (_activatedCards.ContainsKey(card.Id) && _activatedCards[card.Id] >= 9)
return false;
if (!Executor.OnPreActivate(card))
return false;
}
Executor.SetCard(type, card, desc, timing);
bool result = card != null && exec.Type == type &&
(exec.CardId == -1 || exec.CardId == card.Id) &&
(exec.Func == null || exec.Func());
Expand Down
2 changes: 1 addition & 1 deletion Game/GameBehavior.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1024,7 +1024,7 @@ private void InternalOnSelectCard(BinaryReader packet, Func<IList<ClientCard>, i
card.Controller = player;
}
if (card == null) continue;
if (card.Id == 0)
if (card.Id == 0 || card.Location == CardLocation.Deck)
card.SetId(id);
cards.Add(card);
}
Expand Down
1 change: 1 addition & 0 deletions WindBot.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
<Compile Include="Game\AI\CardSelector.cs" />
<Compile Include="Game\AI\DeckAttribute.cs" />
<Compile Include="Game\AI\DecksManager.cs" />
<Compile Include="Game\AI\Decks\AlbazExecutor.cs" />
<Compile Include="Game\AI\Decks\AltergeistExecutor.cs" />
<Compile Include="Game\AI\Decks\BraveExecutor.cs" />
<Compile Include="Game\AI\Decks\FamiliarPossessedExecutor.cs" />
Expand Down
2 changes: 1 addition & 1 deletion YGOSharp.OCGWrapper.Enums/CardRace.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public enum CardRace
Thunder = 0x1000,
Dragon = 0x2000,
Beast = 0x4000,
BestWarrior = 0x8000,
BeastWarrior = 0x8000,
Dinosaur = 0x10000,
Fish = 0x20000,
SeaSerpent = 0x40000,
Expand Down

0 comments on commit 00918ee

Please sign in to comment.