public static void displaymixture(CharacterInstance ch, MixtureData mix) { ch.SendToPager(" .-. ,\r\n"); ch.SendToPager("`._ ,\r\n"); ch.SendToPager(" \\ \\ o\r\n"); ch.SendToPager(" \\ `-,.\r\n"); ch.SendToPager(" .'o . `.[] o\r\n"); ch.SendToPager("<~- - , ,[].'.[] ~> ___\r\n"); ch.SendToPager(" : : (-~.)\r\n"); ch.SendToPager(" ` ' `|'\r\n"); ch.SendToPager(" ` ' |\r\n"); ch.SendToPager(" `-. .-' |\r\n"); ch.SendToPager("-----{. _ _ .}-------------------\r\n"); ch.PagerPrintf("&gRecipe for Mixture &G%s&g:\r\n", mix.Name); ch.SendToPager("---------------------------------\r\n"); if (!mix.Object) { var ingredient1 = RepositoryManager.Instance.GetEntity <LiquidData>(mix.Data.ToList()[0]); var ingredient2 = RepositoryManager.Instance.GetEntity <LiquidData>(mix.Data.ToList()[1]); ch.SendToPager("&wCombine two liquids to create this mixture:"); if (ingredient1 == null) { ch.PagerPrintf("Vnum1 (%d) is invalid, tell an Admin\r\n", mix.Data.ToList()[0]); } else { ch.PagerPrintf("&wOne part &G%s&w (%d)\r\n", ingredient1.Name, mix.Data.ToList()[0]); } if (ingredient2 == null) { ch.PagerPrintf("Vnum2 (%d) is invalid, tell an Admin\r\n", mix.Data.ToList()[1]); } else { ch.PagerPrintf("&wAnd part &G%s&w (%d)&D\r\n", ingredient2.Name, mix.Data.ToList()[1]); } } else { var obj = RepositoryManager.Instance.OBJECTTEMPLATES.CastAs <Repository <long, ObjectTemplate> >().Get(mix.Data.ToList()[0]); if (obj == null) { ch.PagerPrintf("%s has a bad object vnum %d, inform an Admin\r\n", mix.Name, mix.Data.ToList()[0]); return; } var ingredient1 = RepositoryManager.Instance.GetEntity <LiquidData>(mix.Data.ToList()[1]); ch.SendToPager("Combine an object and a liquid in this mixture"); ch.PagerPrintf("&wMix &G%s&w (%d)\r\n", obj.Name, mix.Data.ToList()[0]); ch.PagerPrintf("&winto one part &G%s&w (%d)&D\r\n", ingredient1.Name, mix.Data.ToList()[1]); } }
private static MixtureData ReadMixture(TextReaderProxy proxy) { var word = string.Empty; var mix = new MixtureData(); do { word = proxy.ReadNextWord(); if (word.StartsWithIgnoreCase("*")) { continue; } if (word.StartsWithIgnoreCase("#")) { break; } switch (word.ToLower()) { case "end": break; case "data": mix.Data.ToList()[0] = proxy.ReadNumber(); mix.Data.ToList()[1] = proxy.ReadNumber(); mix.Data.ToList()[2] = proxy.ReadNumber(); break; case "into": mix.Data.ToList()[2] = proxy.ReadNumber(); break; case "name": mix.Name = proxy.ReadString().TrimHash(); break; case "object": mix.Object = proxy.ReadNumber() > 0; break; case "with": mix.Data.ToList()[0] = proxy.ReadNumber(); mix.Data.ToList()[1] = proxy.ReadNumber(); break; } } while (!proxy.EndOfStream && !word.EqualsIgnoreCase("end")); return(mix); }