private void MakeAndSendMotd(NetworkConnection connection) { var message = new Chat.SimpleChatMessage { baseToken = "{0}", paramTokens = new[] { GenerateMotDFormatted(connection) } }; SendPrivateMessage(message, connection); }
private IEnumerator AddHelperMessage(string message, float time) { yield return(new WaitForSeconds(time)); var chatMessage = new Chat.SimpleChatMessage { baseToken = message }; Chat.SendBroadcastChat(chatMessage); }
public static void DisplayQuestInChat(ClientMessage clientMessage, ServerMessage serverMessage) { Chat.SimpleChatMessage message = new Chat.SimpleChatMessage(); message.baseToken = string.Format("{0} {1} {2}{3} to receive: <color=#{4}>{5}</color>", Core.questDefinitions.types[(int)serverMessage.type], serverMessage.objective, clientMessage.target, serverMessage.type == 0 ? "s" : "", ColorUtility.ToHtmlStringRGBA(serverMessage.drop.baseColor), Language.GetString(ItemCatalog.GetItemDef(serverMessage.drop.itemIndex).nameToken)); Chat.SendBroadcastChat(message); }
private void SendCustomMessage(Interactor activator, string tradeInMessage) { NetworkConnection clientAuthorityOwner = activator.GetComponent <NetworkIdentity>().clientAuthorityOwner; Chat.SimpleChatMessage message = new Chat.SimpleChatMessage { baseToken = tradeInMessage, }; NetworkWriter writer = new NetworkWriter(); writer.StartMessage((short)59); writer.Write(message.GetTypeIndex()); writer.Write((MessageBase)message); writer.FinishMessage(); clientAuthorityOwner?.SendWriter(writer, QosChannelIndex.chat.intVal); }
private void Event_ServerDamageDealt(On.RoR2.GlobalEventManager.orig_ServerDamageDealt orig, DamageReport damageReport) { orig(damageReport); DamageReportHandler damageReportHandler = new DamageReportHandler(damageReport); Chat.SimpleChatMessage chatMessage = null; int hitPointPercentage = ConfigHpPercentageFilter.Value; string teamEntityLabel; string enemyEntityLabel; if (!damageReportHandler.VictimIsInPlayerTeam() || damageReport.damageInfo.rejected) { return; } teamEntityLabel = GetTeamEntityLabel(damageReportHandler.Victim); if (teamEntityLabel == null) { return; } // Fall Damage if (damageReportHandler.CheckIfFallDamageBroadcast(hitPointPercentage) && AtLeastOnePlayerTeamLogEnabled() && LogFallDamage()) { chatMessage = ComposeNewFallDamageMessage(teamEntityLabel, damageReportHandler.Damage); } // Shrines of Blood else if (damageReportHandler.CheckIfShrineBloodDamageBroadcast(hitPointPercentage) && AtLeastOnePlayerTeamLogEnabled() && LogShrinesOfBlood()) { chatMessage = ComposeNewShrineOfBloodMessage(teamEntityLabel, damageReportHandler.Damage); } // DoT Debuffs else if (tickDebuffHandler.IsTickDamageEvent(damageReportHandler) && AtLeastOnePlayerTeamLogEnabled() && LogDebuffs()) { enemyEntityLabel = tickDebuffHandler.ComposeLabel(damageReportHandler.TickingDebuffIndex); if (enemyEntityLabel == null) { return; } chatMessage = ComposeNewDebuffInfoMessage(enemyEntityLabel, teamEntityLabel); } // Normal Damage else if (damageReportHandler.CheckIfDamageBroadcast(hitPointPercentage) && damageReportHandler.Attacker != null && AtLeastOnePlayerTeamLogEnabled()) { BuffIndex attackerBuff = GetAttackerEliteBuff(damageReportHandler.Attacker); enemyEntityLabel = ComposeEnemyEntitiyLabel(damageReportHandler, attackerBuff); if (enemyEntityLabel == null) { return; } chatMessage = ComposeNewHitInfoMessage(enemyEntityLabel, teamEntityLabel, damageReportHandler.Damage); } if (chatMessage != null) { Chat.SendBroadcastChat(chatMessage); } }