Example #1
0
        public override void OnEvent(TrustedAI ai, TriggerEvent triggerEvent, Player player, object data)
        {
            if (triggerEvent == TriggerEvent.ChoiceMade && data is string str)
            {
                Room          room = ai.Room;
                List <string> strs = new List <string>(str.Split(':'));
                if (strs[1] == Name && ai.Self == player)
                {
                    string choice = strs[2];
                    Player target = null;
                    foreach (Player p in room.GetAlivePlayers())
                    {
                        if (p.HasFlag("shangyiTarget"))
                        {
                            target = p;
                            break;
                        }
                    }

                    if (target != null)
                    {
                        if (choice == "hidden_general")
                        {
                            ai.SetKnown(target, "hd");
                        }
                        else if (choice == "handcards")
                        {
                            ai.ClearKnownCards(target);
                            foreach (int id in target.HandCards)
                            {
                                ai.SetPrivateKnownCards(target, id);
                            }
                        }
                    }
                }
            }
        }