public override void AssignTasks(PlayerTaskList taskList, List <NormalPlayerTask> defaultTasks) { taskList.AddStringTask($"[{Color.magenta.ToHtmlStringRGBA()}]You're the Jester! Get voted out to win\n"); taskList.AddStringTask("Fake tasks:"); taskList.TaskCompletion = TaskCompletion.Fake; base.AssignTasks(taskList, defaultTasks); }
public static void Postfix( GameData __instance, [HarmonyArgument(0)] byte playerId, [HarmonyArgument(1)] ref Il2CppStructArray <byte> tasks ) { var player = __instance.GetPlayerById(playerId); var role = player.GetRole(); if (role == null) { return; } var list = new PlayerTaskList(player); role.AssignTasks(list, tasks.ToList().ConvertAll(i => new GameData.TaskInfo(i, 0))); Rpc <CustomSelectTasks> .Instance.Send(GameData.Instance, list); // we do not prevent setting default tasks to not break things like Impostor server }
public override void AssignTasks(PlayerTaskList taskList, IEnumerable <GameData.TaskInfo> defaultTasks) { taskList.AddStringTask("I love you kitty"); taskList.AddNormalTasks(defaultTasks); taskList.TaskCompletion = TaskCompletion.Required; }
/// <summary> /// Custom task selecting at game start. Not being called on death yet /// </summary> /// <param name="taskList">Task list you should change with its methods</param> /// <param name="defaultTasks">Tasks that were assigned by host with default game rules</param> public virtual void AssignTasks(PlayerTaskList taskList, IEnumerable <GameData.TaskInfo> defaultTasks) { taskList.AddNormalTasks(defaultTasks); }