Ejemplo n.º 1
0
 public override void OnEvent(TriggerEvent triggerEvent, Room room, Player player, object data)
 {
     if (data is string winners)
     {
         if (winners == ".")
         {
             return;
         }
         foreach (Player p in room.Players)
         {
             int id = p.ClientId;
             if (id > 0 && winners.Contains(p.Name) && !ClientDBOperation.CheckTitle(id, TitleId))
             {
                 int value = ClientDBOperation.GetTitleMark(id, MarkId);
                 //value++;
                 value += 10;        //for test
                 if (value >= 100)
                 {
                     ClientDBOperation.SetTitle(id, TitleId);
                     Client client = room.Hall.GetClient(id);
                     if (client != null)
                     {
                         client.AddProfileTitle(TitleId);
                     }
                 }
                 else
                 {
                     ClientDBOperation.SetTitleMark(id, MarkId, value);
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 public override void OnEvent(TriggerEvent triggerEvent, Room room, Player player, object data)
 {
     if (triggerEvent == TriggerEvent.EventPhaseStart && player.Phase == Player.PlayerPhase.Start && player.GetMark("Nonexistence") == 0)
     {
         player.SetMark("Nonexistence", 1);
     }
     else if (triggerEvent == TriggerEvent.BeforeGameOverJudge && player.GetMark("Nonexistence") == 0)
     {
         int id = player.ClientId;
         if (id > 0 && !ClientDBOperation.CheckTitle(id, TitleId))
         {
             int value = ClientDBOperation.GetTitleMark(id, MarkId);
             value++;
             if (value >= 30)
             {
                 ClientDBOperation.SetTitle(id, TitleId);
                 Client client = room.Hall.GetClient(id);
                 if (client != null)
                 {
                     client.AddProfileTitle(TitleId);
                 }
             }
             else
             {
                 ClientDBOperation.SetTitleMark(id, MarkId, value);
             }
         }
     }
 }
Ejemplo n.º 3
0
 public override void OnEvent(TriggerEvent triggerEvent, Room room, Player player, object data)
 {
     if (data is DeathStruct death && death.Damage.From != null && death.Damage.From.GetMark("multi_kill_count") >= 6)
     {
         int id = death.Damage.From.ClientId;
         if (id > 0 && !ClientDBOperation.CheckTitle(id, TitleId))
         {
             ClientDBOperation.SetTitle(id, TitleId);
             Client client = room.Hall.GetClient(id);
             if (client != null)
             {
                 client.AddProfileTitle(TitleId);
             }
         }
     }
 }
Ejemplo n.º 4
0
 public override void OnEvent(TriggerEvent triggerEvent, Room room, Player player, object data)
 {
     if (data is JudgeStruct judge && judge.Reason == EightDiagram.ClassName && judge.IsBad())
     {
         int id = player.ClientId;
         if (id > 0 && !ClientDBOperation.CheckTitle(id, TitleId))
         {
             player.AddMark("Contradictory");
             if (player.GetMark("Contradictory") >= 10)
             {
                 ClientDBOperation.SetTitle(id, TitleId);
                 Client client = room.Hall.GetClient(id);
                 if (client != null)
                 {
                     client.AddProfileTitle(TitleId);
                 }
             }
         }
     }
 }