OfficialCardListUtility.cs 72 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3. using System;
  4. using System.Linq;
  5. using System.Net;
  6. using System.Text;
  7. public class OfficialCardListUtility
  8. {
  9. public static List<string[]> GetCardDatas(List<TextAsset> textAssets)
  10. {
  11. List<string[]> CardDatas = new List<string[]>();
  12. foreach (TextAsset textAsset in textAssets)
  13. {
  14. string sourceString = textAsset.text;
  15. for (int i = 0; i < 20; i++)
  16. {
  17. sourceString = sourceString.Replace($"<liclass=\"image_lists_itemdatapage-{i + 1}\">", "��");
  18. }
  19. string[] CardDataArray = sourceString.Split("��");
  20. for (int i = 0; i < CardDataArray.Length; i++)
  21. {
  22. string[] CardData = CardDataArray[i].Split('\n');
  23. if (CardData.Length == 1)
  24. {
  25. continue;
  26. }
  27. CardDatas.Add(CardData);
  28. }
  29. }
  30. return CardDatas;
  31. }
  32. public static void AttachCardData(CEntity_Base cEntity_Base, List<string[]> CardDatas_JPN, List<string[]> CardDatas_ENG, ref List<int> evoCosts_level, ref List<int> evoCosts_memory)
  33. {
  34. string[] targetCardData = null;
  35. int value;
  36. bool hasAceName = false;
  37. #region JPN card data parse
  38. foreach (string[] CardData in CardDatas_JPN)
  39. {
  40. if (CardData.Length >= 3)
  41. {
  42. if (!string.IsNullOrEmpty(CardData[2]))
  43. {
  44. if (CardData[2].Contains(cEntity_Base.CardID))
  45. {
  46. targetCardData = CardData;
  47. break;
  48. }
  49. }
  50. }
  51. }
  52. if (targetCardData != null)
  53. {
  54. for (int i = 0; i < targetCardData.Length; i++)
  55. {
  56. if (!string.IsNullOrEmpty(targetCardData[i]))
  57. {
  58. //Card Color
  59. if (targetCardData[i].Contains("<divclass=\"card_detailcard_detail_"))
  60. {
  61. targetCardData[i] = targetCardData[i].Replace("<divclass=\"card_detailcard_detail_", "").Replace("\">", "").Replace("multicolor", "");
  62. string[] parseByUnderBar = targetCardData[i].Split('_');
  63. foreach (string cardColorName in parseByUnderBar)
  64. {
  65. foreach (string cardColorNameValues in DataBase.CardColorNameDictionary.Values)
  66. {
  67. if (cardColorName.Trim() == cardColorNameValues)
  68. {
  69. cEntity_Base.cardColors.Add(DictionaryUtility.GetCardColor(cardColorName.Trim(), DataBase.CardColorNameDictionary));
  70. }
  71. }
  72. }
  73. }
  74. //Card Type
  75. if (targetCardData[i].Contains("cardtype"))
  76. {
  77. foreach (string cardTypeName in DataBase.CardKindJPNameDictionary.Values)
  78. {
  79. if (targetCardData[i].Contains(cardTypeName))
  80. {
  81. cEntity_Base.cardKind = DictionaryUtility.GetCardKind(cardTypeName, DataBase.CardKindJPNameDictionary);
  82. }
  83. }
  84. }
  85. //Card Level
  86. if (targetCardData[i].Contains("cardlv"))
  87. {
  88. targetCardData[i] = targetCardData[i].Replace("<liclass=\"cardlv\">Lv.", "").Replace("</li>", "");
  89. if (int.TryParse(targetCardData[i], out value))
  90. {
  91. cEntity_Base.Level = value;
  92. }
  93. }
  94. //Card Name
  95. if (targetCardData[i].Contains("card_name"))
  96. {
  97. targetCardData[i] = targetCardData[i].Replace("<divclass=\"card_name\">", "").Replace("</div>", "")
  98. .Replace("?", "o").Replace("?", "e");
  99. cEntity_Base.CardName_JPN = targetCardData[i].CleanString();
  100. if (cEntity_Base.CardName_JPN.Contains("ACE"))
  101. {
  102. hasAceName = true;
  103. }
  104. }
  105. //Form
  106. if (targetCardData[i].Contains("<dt>形態</dt>"))
  107. {
  108. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  109. if (!string.IsNullOrEmpty(targetCardData[i + 1]) && targetCardData[i + 1] != "-")
  110. {
  111. cEntity_Base.Form_JPN.Add(targetCardData[i + 1].CleanString());
  112. }
  113. }
  114. //Attribute
  115. if (targetCardData[i].Contains("<dt>属性</dt>"))
  116. {
  117. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  118. if (!string.IsNullOrEmpty(targetCardData[i + 1]) && targetCardData[i + 1] != "-")
  119. {
  120. cEntity_Base.Attribute_JPN.Add(targetCardData[i + 1].CleanString());
  121. }
  122. }
  123. //Type
  124. if (targetCardData[i].Contains("<dt>タイプ</dt>"))
  125. {
  126. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  127. if (!string.IsNullOrEmpty(targetCardData[i + 1]) && targetCardData[i + 1] != "-")
  128. {
  129. string[] typeStrings = targetCardData[i + 1].Split('/');
  130. foreach (string typeString in typeStrings)
  131. {
  132. if (!string.IsNullOrEmpty(typeString))
  133. {
  134. cEntity_Base.Type_JPN.Add(typeString.CleanString());
  135. }
  136. }
  137. }
  138. }
  139. //DP
  140. if (targetCardData[i].Contains("<dt>DP</dt>"))
  141. {
  142. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dl>", "");
  143. if (!string.IsNullOrEmpty(targetCardData[i + 1]))
  144. {
  145. if (int.TryParse(targetCardData[i + 1], out value))
  146. {
  147. cEntity_Base.DP = value;
  148. }
  149. }
  150. }
  151. //Play Cost
  152. if (targetCardData[i].Contains("<dt>登場コスト</dt>"))
  153. {
  154. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  155. if (!string.IsNullOrEmpty(targetCardData[i + 1]))
  156. {
  157. if (int.TryParse(targetCardData[i + 1].Trim(), out value))
  158. {
  159. cEntity_Base.PlayCost = value;
  160. }
  161. }
  162. }
  163. //Rarity
  164. if (targetCardData[i].Contains("<li>") && targetCardData[i].Contains("</li>"))
  165. {
  166. targetCardData[i] = targetCardData[i].Replace("<li>", "").Replace("</li>", "");
  167. if (targetCardData[i] == "�o")
  168. {
  169. targetCardData[i] = "P";
  170. }
  171. if (!string.IsNullOrEmpty(targetCardData[i]))
  172. {
  173. cEntity_Base.rarity = (Rarity)Enum.Parse(typeof(Rarity), targetCardData[i]);
  174. }
  175. }
  176. //Evo Cost 1
  177. if (targetCardData[i].Contains("<dt>進化コスト1</dt>"))
  178. {
  179. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "").Replace("Lv.", "").Replace("から", "��");
  180. string[] evoCostStrings = targetCardData[i + 1].Split("��");
  181. if (evoCostStrings.Length >= 2)
  182. {
  183. if (int.TryParse(evoCostStrings[0], out value))
  184. {
  185. int x = value;
  186. evoCosts_level.Add(x);
  187. }
  188. if (int.TryParse(evoCostStrings[1], out value))
  189. {
  190. int x = value;
  191. if (cEntity_Base.CardID == "BT1-054")
  192. {
  193. x = 3;
  194. }
  195. if (cEntity_Base.CardID == "BT6-050")
  196. {
  197. x = 3;
  198. }
  199. evoCosts_memory.Add(x);
  200. }
  201. }
  202. }
  203. //Evo Cost 2
  204. if (targetCardData[i].Contains("<dt>進化コスト2</dt>"))
  205. {
  206. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "").Replace("Lv.", "").Replace("から", "��");
  207. string[] evoCostStrings = targetCardData[i + 1].Split("��");
  208. if (evoCostStrings.Length >= 2)
  209. {
  210. if (int.TryParse(evoCostStrings[0], out value))
  211. {
  212. int x = value;
  213. evoCosts_level.Add(x);
  214. }
  215. if (int.TryParse(evoCostStrings[1], out value))
  216. {
  217. int x = value;
  218. evoCosts_memory.Add(x);
  219. }
  220. }
  221. }
  222. //Effect Description
  223. if (targetCardData[i].Contains("<dt>����</dt>") || targetCardData[i].Contains("<dt>��i�e�L�X�g</dt>"))
  224. {
  225. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  226. if (!string.IsNullOrEmpty(targetCardData[i + 1]) && targetCardData[i + 1] != "-")
  227. {
  228. cEntity_Base.EffectDiscription_JPN += targetCardData[i + 1].Replace("<br>", "");
  229. }
  230. }
  231. //Inherited Effect Description
  232. if (targetCardData[i].Contains("<dt>�i��������</dt>") || (!(cEntity_Base.cardKind.Contains(CardKind.Digimon) && hasAceName) && targetCardData[i].Contains("<dt>下段テキスト</dt>")))
  233. {
  234. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  235. if (!string.IsNullOrEmpty(targetCardData[i + 1]) && targetCardData[i + 1] != "-")
  236. {
  237. cEntity_Base.InheritedEffectDiscription_JPN += targetCardData[i + 1].Replace("<br>", "");
  238. }
  239. }
  240. //Security Effect Description
  241. if (targetCardData[i].Contains("<dt>�Z�L�����e�B����</dt>") || (!(cEntity_Base.cardKind.Contains(CardKind.Digimon) || cEntity_Base.cardKind.Contains(CardKind.DigiEgg)) && targetCardData[i].Contains("<dt>下段テキスト</dt>")))
  242. {
  243. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  244. if (!string.IsNullOrEmpty(targetCardData[i + 1]) && targetCardData[i + 1] != "-")
  245. {
  246. cEntity_Base.SecurityEffectDiscription_JPN += targetCardData[i + 1].Replace("<br>", "");
  247. }
  248. }
  249. //Overflow Memory
  250. if (cEntity_Base.cardKind.Contains(CardKind.Digimon) && hasAceName && targetCardData[i].Contains("<dt>下段テキスト</dt>"))
  251. {
  252. if (targetCardData[i + 1].Contains("overflow-5"))
  253. {
  254. cEntity_Base.OverflowMemory = 4;
  255. }
  256. else if (targetCardData[i + 1].Contains("overflow-4"))
  257. {
  258. cEntity_Base.OverflowMemory = 4;
  259. }
  260. else if (targetCardData[i + 1].Contains("overflow-3"))
  261. {
  262. cEntity_Base.OverflowMemory = 3;
  263. }
  264. }
  265. }
  266. }
  267. }
  268. #endregion
  269. targetCardData = null;
  270. foreach (string[] CardData in CardDatas_ENG)
  271. {
  272. if (CardData.Length >= 3)
  273. {
  274. if (!string.IsNullOrEmpty(CardData[2]))
  275. {
  276. if (CardData[2].Contains(cEntity_Base.CardID))
  277. {
  278. targetCardData = CardData;
  279. break;
  280. }
  281. }
  282. }
  283. }
  284. if (targetCardData == null)
  285. {
  286. AttachEnglishCardDataFromDigimonDev(cEntity_Base);
  287. }
  288. else
  289. {
  290. for (int i = 0; i < targetCardData.Length; i++)
  291. {
  292. if (!string.IsNullOrEmpty(targetCardData[i]))
  293. {
  294. //Card Name
  295. if (targetCardData[i].Contains("card_name"))
  296. {
  297. targetCardData[i] = targetCardData[i].Replace(" ", "").Replace("<divclass=\"card_name\">", "").Replace("</div>", "")
  298. .Replace("&amp;", "&");
  299. cEntity_Base.CardName_ENG = targetCardData[i].Replace("�I", "!").CleanString();
  300. }
  301. //Form
  302. if (targetCardData[i].Contains("<dt>Form</dt>"))
  303. {
  304. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  305. if (!string.IsNullOrEmpty(targetCardData[i + 1]) && targetCardData[i + 1] != "-")
  306. {
  307. cEntity_Base.Form_ENG.Add(targetCardData[i + 1].CleanString());
  308. }
  309. }
  310. //Attribute
  311. if (targetCardData[i].Contains("<dt>Attribute</dt>"))
  312. {
  313. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  314. if (!string.IsNullOrEmpty(targetCardData[i + 1]) && targetCardData[i + 1] != "-")
  315. {
  316. cEntity_Base.Attribute_ENG.Add(targetCardData[i + 1].CleanString());
  317. }
  318. }
  319. //Type
  320. if (targetCardData[i].Contains("<dt>Type</dt>"))
  321. {
  322. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  323. if (!string.IsNullOrEmpty(targetCardData[i + 1]) && targetCardData[i + 1] != "-")
  324. {
  325. string[] typeStrings = targetCardData[i + 1].Split('/');
  326. foreach (string typeString in typeStrings)
  327. {
  328. if (!string.IsNullOrEmpty(typeString))
  329. {
  330. cEntity_Base.Type_ENG.Add(typeString.CleanString());
  331. }
  332. }
  333. }
  334. }
  335. //Effect Description
  336. if (targetCardData[i].Contains("<dt>Effect</dt>") || targetCardData[i].Contains("<dt>��i�e�L�X�g</dt>"))
  337. {
  338. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  339. if (!string.IsNullOrEmpty(targetCardData[i + 1]) && targetCardData[i + 1] != "-")
  340. {
  341. cEntity_Base.EffectDiscription_ENG += targetCardData[i + 1].Replace("<br>", "");
  342. }
  343. if (cEntity_Base.CardID == "BT2-010")
  344. {
  345. cEntity_Base.EffectDiscription_ENG += "[On Deletion] If it's your turn, gain 1 memory.";
  346. }
  347. }
  348. //Inherited Effect Description
  349. if (targetCardData[i].Contains("<dt>InheritedEffect</dt>") && !(cEntity_Base.cardKind.Contains(CardKind.Digimon) && cEntity_Base.IsACE))
  350. {
  351. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  352. if (!string.IsNullOrEmpty(targetCardData[i + 1]) && targetCardData[i + 1] != "-")
  353. {
  354. cEntity_Base.InheritedEffectDiscription_ENG += targetCardData[i + 1].Replace("<br>", "");
  355. }
  356. }
  357. //Security Effect Description
  358. if (targetCardData[i].Contains("<dt>SecurityEffect</dt>"))
  359. {
  360. targetCardData[i + 1] = targetCardData[i + 1].Replace("<dd>", "").Replace("</dd>", "");
  361. if (!string.IsNullOrEmpty(targetCardData[i + 1]) && targetCardData[i + 1] != "-")
  362. {
  363. if (cEntity_Base.CardName_JPN == "X�R��")
  364. {
  365. cEntity_Base.InheritedEffectDiscription_ENG += targetCardData[i + 1].Replace("<br>", "");
  366. }
  367. else
  368. {
  369. cEntity_Base.SecurityEffectDiscription_ENG += targetCardData[i + 1].Replace("<br>", "");
  370. }
  371. }
  372. }
  373. }
  374. }
  375. }
  376. if (cEntity_Base.IsACE)
  377. {
  378. if (cEntity_Base.CardName_JPN.Contains("ACE"))
  379. {
  380. cEntity_Base.CardName_JPN = cEntity_Base.CardName_JPN.Replace("ACE", "");
  381. }
  382. if (cEntity_Base.CardName_ENG.Contains("ACE"))
  383. {
  384. cEntity_Base.CardName_ENG = cEntity_Base.CardName_ENG.Replace("ACE", "");
  385. }
  386. if (cEntity_Base.CardName_ENG.Contains("Ace"))
  387. {
  388. cEntity_Base.CardName_ENG = cEntity_Base.CardName_ENG.Replace("Ace", "");
  389. }
  390. }
  391. #region Card erratas
  392. if (cEntity_Base.Type_JPN.Contains("X�R��"))
  393. {
  394. if (!cEntity_Base.Type_ENG.Contains("XAntibody"))
  395. {
  396. cEntity_Base.Type_ENG.Add("XAntibody");
  397. }
  398. }
  399. if (cEntity_Base.CardID == "BT2-024" || cEntity_Base.CardID == "BT2-029" || cEntity_Base.CardID == "BT4-024" || cEntity_Base.CardID == "BT4-028" || cEntity_Base.CardID == "BT4-034")
  400. {
  401. while (cEntity_Base.Type_ENG.Contains("SeaAnimal") || cEntity_Base.Type_ENG.Contains("Sea Animal"))
  402. {
  403. cEntity_Base.Type_ENG.Remove("SeaAnimal");
  404. cEntity_Base.Type_ENG.Remove("Sea Animal");
  405. }
  406. cEntity_Base.Type_ENG.Add("Aquatic");
  407. }
  408. if (cEntity_Base.CardID == "BT1-042")
  409. {
  410. cEntity_Base.CardName_ENG = "LoaderLeomon";
  411. }
  412. if (cEntity_Base.CardID == "P-063")
  413. {
  414. cEntity_Base.CardName_ENG = "RuliTsukiyono";
  415. }
  416. if (cEntity_Base.CardID == "ST12-09")
  417. {
  418. if (!cEntity_Base.cardColors.Contains(CardColor.Black))
  419. {
  420. cEntity_Base.cardColors.Add(CardColor.Black);
  421. }
  422. }
  423. if (cEntity_Base.CardID == "BT9-067")
  424. {
  425. cEntity_Base.EffectDiscription_ENG = "[On Play][When Digivolving] Place 1 [Raijinmon], 1 [Fujinmon], and 1 [Suijinmon] from your trash under this Digimon in any order as its bottom digivolution cards. Gain 1 memory for each card placed.[When Attacking] If the level 6 cards in this Digimon's digivolution cards have 3 or more colors among them, this Digimon gets +3000 DP until the end of your opponent's turn. If they have 4 or more colors, <De-Digivolve 1> 1 of your opponent's Digimon.";
  426. }
  427. if (cEntity_Base.CardID == "BT8-097")
  428. {
  429. cEntity_Base.EffectDiscription_ENG = "Reduce the memory cost of this card in your hand by 1 for each Digimon your opponent has in play.[Main] Your opponent can't play Digimon by effects until the end of their turn. Delete all of your opponent's Digimon with 6000 DP or less.";
  430. }
  431. if (cEntity_Base.CardID == "BT10-086")
  432. {
  433. cEntity_Base.EffectDiscription_ENG = "Digivolve: 3 from [Omnimon]When a Digimon with [X Antibody] in its digivolution cards would digivolve into this card, reduce the digivolution cost by 2.[When Digivolving] Return all of your opponent's Digimon with the highest level to the bottom of their owners' decks in any order.[When Digivolving][When Attacking][Once Per Turn] By placing 1 [X Antibody] or level 6 card from this Digimon's digivolution cards at the bottom of its owner's deck, reveal all of your opponent's security cards, and trash 1 of them. Place the rest in your opponent's security stack face down. Then, your opponent shuffles their security stack.";
  434. }
  435. if (cEntity_Base.CardID == "BT10-097")
  436. {
  437. cEntity_Base.EffectDiscription_ENG = "[Main] Reveal the top 6 cards of your deck. You may add 2 cards with [Blue Flare] in their traits among them to your hand, and play 1 [Kiriha Aonuma] among them without paying its memory cost. Place the rest at the bottom of your deck in any order. Then, place this card in your Battle Area.[Main] <Delay> (By trashing this card in your battle area, activate the effect below. You can't activate this effect the turn this card enters play.) - Gain 2 memory.";
  438. }
  439. if (cEntity_Base.CardID == "BT10-096")
  440. {
  441. cEntity_Base.SecurityEffectDiscription_ENG = "[Security] Reveal the top 3 cards of your deck. You may add 1 Digimon card with [Xros Heart] in its traits among them to your hand and play 1 [Taiki Kudo] among them without paying its memory cost. Place the rest at the bottom of your deck in any order.";
  442. }
  443. if (cEntity_Base.CardID == "BT10-093")
  444. {
  445. cEntity_Base.EffectDiscription_ENG = "[All Turns][Once Per Turn] When a purple card is placed under this Tamer, <Draw 1> (Draw 1 card from your deck), and gain 1 memory.[Your turn] [Once per turn] When you would play 1 level 4 or higher Digimon card with [Bagra Army] in its traits, by placing up to 3 purple Digimon cards from under your Tamers in the digivolution cards of the Digimon card played, reduce the memory cost of that Digimon by 2 for each card placed.";
  446. }
  447. if (cEntity_Base.CardID == "BT10-004")
  448. {
  449. cEntity_Base.InheritedEffectDiscription_ENG = "[Your Turn][Once Per Turn] When an effect suspends a Digimon, this Digimon gets +1000 DP for the turn.";
  450. }
  451. if (cEntity_Base.CardID == "EX3-068 ")
  452. {
  453. cEntity_Base.EffectDiscription_ENG = "[Main] 1 of your opponent's Digimon gets -6000 DP for the turn. Then, you may return 1 card with the [Four Great Dragons] trait from your trash to your hand.";
  454. }
  455. if (cEntity_Base.CardID == "P-060")
  456. {
  457. cEntity_Base.InheritedEffectDiscription_ENG = "[When Attacking][Once Per Turn] If you have a [Ruli Tsukiyono] in play, gain 1 memory.";
  458. }
  459. if (cEntity_Base.CardID == "P-029")
  460. {
  461. cEntity_Base.InheritedEffectDiscription_ENG = "[Your Turn] When digivolving this Digimon into an [AncientGreymon] in your hand, reduce its digivolution cost by 2.";
  462. }
  463. if (cEntity_Base.CardID == "P-030")
  464. {
  465. cEntity_Base.InheritedEffectDiscription_ENG = "[Your Turn] When digivolving this Digimon into an [AncientGarurumon] in your hand, reduce its digivolution cost by 2.";
  466. }
  467. if (cEntity_Base.CardID == "P-012")
  468. {
  469. cEntity_Base.EffectDiscription_ENG = "[Main] If you have a Digimon with [Veedramon] in its name, you may suspend this Tamer to activate one of the following effects: - Trigger <Draw 1>. (Draw 1 card from your deck. - 1 of your Digimon gets +1000 DP for the turn.";
  470. }
  471. if (cEntity_Base.CardID == "P-045")
  472. {
  473. cEntity_Base.InheritedEffectDiscription_ENG = "[All Turns] All of your other Digimon with the same name as this Digimon gain <Decoy (Black/White)>. (When one of your other black or white Digimon would be deleted by an opponent's effect, you may delete this Digimon to prevent that deletion.)";
  474. }
  475. if (cEntity_Base.CardID == "EX1-073")
  476. {
  477. cEntity_Base.EffectDiscription_ENG = "[On Play] You may place up to 5 level 5 red and black cards with [Cyborg] in their traits and different card numbers from your hand and trash in this Digimon's digivolution cards to gain 1 memory for each card placed.[All Turns]This Digimon's DP can't be reduced.[All Turns]When this Digimon would be deleted, you may trash 2 level5 Digimon cards in this Digimon's digivolution cards to prevent this Digimon from being deleted.";
  478. }
  479. if (cEntity_Base.CardID == "EX3-063")
  480. {
  481. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("When DNA", "If DNA");
  482. }
  483. if (cEntity_Base.CardID == "EX3-058")
  484. {
  485. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("for its digivolution cost", "for the cost").Replace("for its DNA digivolve cost", "for the cost").Replace("[Free] in its traits", "the [Free] trait");
  486. }
  487. if (cEntity_Base.CardID == "EX3-057")
  488. {
  489. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("[On Deletion]", "[When Digivolving]").Replace("the top 2 cards of their decks", "the top 2 cards of both players' decks");
  490. }
  491. if (cEntity_Base.CardID == "EX3-055")
  492. {
  493. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("trash 1 card among them", "trash 1 such card among them");
  494. }
  495. if (cEntity_Base.CardID == "EX3-045")
  496. {
  497. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("You may suspend 1 of you or your opponent�fs Digimon", "You may suspend 1 Digimon").Replace("[Fairy] in its traits", "[Fairy] in one of their traits").Replace("[Fairy] in their traits", "[Fairy] in one of their traits");
  498. }
  499. if (cEntity_Base.CardID == "EX3-035")
  500. {
  501. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("Return 1 card with", "You may return 1 card with").Replace("Then, you may return 1 [Magnadramon]", "Then, by returning 1 [Magnadramon]").Replace("in any order to trash the top 2 cards of your opponent's security stack", "in any order, trash the top 2 cards of your opponent's security stack").Replace("with [Four Great Dragons] in its trait", "with the [Four Great Dragons] trait");
  502. }
  503. if (cEntity_Base.CardID == "EX3-031")
  504. {
  505. cEntity_Base.InheritedEffectDiscription_ENG = cEntity_Base.InheritedEffectDiscription_ENG.Replace("with [Four Great Dragons] in its traits, it gains gains", "with the [Four Great Dragons] trait, 1 of those Digimon gains");
  506. }
  507. if (cEntity_Base.CardID == "EX3-030")
  508. {
  509. cEntity_Base.EffectDiscription_ENG = "[On Play] Reveal the top 4 cards of your deck. Add 1 yellow card with [Angel], [Cherub], [Throne], [Authority], [Seraph] or [Virtue], other than [Three Great Angels], in one of its traits and 1 card with the [Four Great Dragons] trait among them to your hand. Place the rest at the bottom of your deck in any order.";
  510. cEntity_Base.InheritedEffectDiscription_ENG = "[Your Turn] [Once Per Turn] When you play a Digimon with the [Four Great Dragons] trait, 1 of those Digimon gains <Rush> for the turn. (This Digimon may attack the turn it was played.)";
  511. }
  512. if (cEntity_Base.CardID == "EX3-028")
  513. {
  514. cEntity_Base.EffectDiscription_ENG = "[On Play] Reveal the top 4 cards of your deck. Add 1 yellow card with [Angel], [Cherub], [Throne], [Authority], [Seraph] or [Virtue], other than [Three Great Angels], in one of its traits and 1 card with the [Four Great Dragons] trait among them to your hand. Place the rest at the bottom of your deck in any order.";
  515. }
  516. if (cEntity_Base.CardID == "EX3-026")
  517. {
  518. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("or [Aquatic] in its traits", "or [Aqua] or [Sea Animal] in one of its traits");
  519. }
  520. if (cEntity_Base.CardID == "EX3-024")
  521. {
  522. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("You may suspend 1 of your Digimon with [Dramon] or [Examon] in its name to force 1 of your opponent�fs Digimon to attack", "By suspending 1 of your Digimon with [Dramon] or [Examon] in its name, your opponent attacks with 1 of their Digimon");
  523. cEntity_Base.InheritedEffectDiscription_ENG = cEntity_Base.InheritedEffectDiscription_ENG.Replace("You may suspend 1 of your Digimon with [Dramon] or [Examon] in its name to force 1 of your opponent�fs Digimon to attack", "By suspending 1 of your Digimon with [Dramon] or [Examon] in its name, your opponent attacks with 1 of their Digimon");
  524. }
  525. if (cEntity_Base.CardID == "EX3-023")
  526. {
  527. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("with [Aquatic] in its traits", "with [Aqua] or [Sea Animal] in one of its traits");
  528. cEntity_Base.InheritedEffectDiscription_ENG = cEntity_Base.InheritedEffectDiscription_ENG.Replace("return 1", "you may return 1");
  529. }
  530. if (cEntity_Base.CardID == "EX3-022")
  531. {
  532. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("from one of your", "from 1 of your");
  533. cEntity_Base.InheritedEffectDiscription_ENG = cEntity_Base.InheritedEffectDiscription_ENG.Replace("play a blue level 3 Digimon card from 1 of your blue Digimon without", "play 1 blue level 3 Digimon card from 1 of your blue Digimon's digivolution cards without");
  534. }
  535. if (cEntity_Base.CardID == "EX3-014")
  536. {
  537. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("each card with [Dragon] in its traits", "each card with [Dragon], [saur] or [Ceratopsian] in one of its traits");
  538. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("[Dragon] traits", "[Dragon], [saur], or [Ceratopsian] in one of its traits");
  539. }
  540. if (cEntity_Base.CardID == "EX3-008")
  541. {
  542. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("[Free] in its traits from your trash for its play cost", "the [Free] trait from your trash for the cost");
  543. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("for its DNA digivolve cost", "for the cost");
  544. }
  545. if (cEntity_Base.CardID == "EX3-006")
  546. {
  547. cEntity_Base.EffectDiscription_ENG = "[On Play] Reveal the top 4 cards of your deck. Add 1 Digimon card with [Rock Dragon], [Earth Dragon], [Bird Dragon], [Machine Dragon] or [Sky Dragon] in its traits and 1 [Hina Kurihara] among them to your hand. Place the rest at the bottom of your deck in any order.";
  548. }
  549. if (cEntity_Base.CardID == "EX3-005")
  550. {
  551. cEntity_Base.EffectDiscription_ENG = "[Your Turn][Once Per Turn] When you play a [Hina Kurihara], delete 1 of your opponent's Digimon with 3000 DP or less.";
  552. }
  553. if (cEntity_Base.CardID == "EX3-004")
  554. {
  555. cEntity_Base.EffectDiscription_ENG = "[On Play] You may trash 1 card with [Imperialdramon] in its name or [Free] in its traits from your hand to <Draw 2>. (Draw 2 cards from your deck.)";
  556. }
  557. if (cEntity_Base.CardID == "EX3-003")
  558. {
  559. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("with [Dragon] in its traits", "with [Dragon], [saur] or [Ceratopsian] in one of its traits");
  560. }
  561. if (cEntity_Base.CardID == "EX3-001")
  562. {
  563. cEntity_Base.InheritedEffectDiscription_ENG = cEntity_Base.InheritedEffectDiscription_ENG.Replace("When a Digimon", "When this Digimon");
  564. }
  565. if (cEntity_Base.CardID == "P-071")
  566. {
  567. cEntity_Base.EffectDiscription_ENG = "[Security] At the end of the battle, you may play 1 purple level 3 Digimon card from your trash without paying its memory cost. Then, add this card to its owner's hand.";
  568. }
  569. if (cEntity_Base.CardID == "BT12-094")
  570. {
  571. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("under this Tamer, 1 of your Digimon gets +2000 DP for the turn", "under this Tamer, gain 1 memory");
  572. }
  573. if (cEntity_Base.CardID == "BT11-009")
  574. {
  575. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("place 2 cards in this Digimon's", "place 1 card in this Digimon's");
  576. }
  577. if (cEntity_Base.CardID == "EX3-030")
  578. {
  579. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("it gains <Rush>", "1 of those Digimon gains <Rush>");
  580. }
  581. if (cEntity_Base.CardID == "ST13-09")
  582. {
  583. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("you may reveal", "reveal");
  584. }
  585. if (cEntity_Base.CardID == "ST13-02")
  586. {
  587. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("you may reveal", "reveal");
  588. }
  589. if (cEntity_Base.CardID == "EX2-037")
  590. {
  591. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("that Digimon", "1 of those Digimon");
  592. }
  593. if (cEntity_Base.CardID == "BT9-071")
  594. {
  595. cEntity_Base.EffectDiscription_ENG = "[On Play] Reveal the top 3 cards of your deck. Add 1 card with [Undead] or [Dark Animal] in its traits among them to your hand and trash 1 card with [Undead] or [Dark Animal] in its traits among them. Place the rest at the bottom of your deck in any order.";
  596. }
  597. if (cEntity_Base.CardID == "BT9-106")
  598. {
  599. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("You may digivolve", "Digivolve");
  600. }
  601. if (cEntity_Base.CardID == "BT9-100")
  602. {
  603. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("Then, unsuspend", "Then, you may unsuspend");
  604. }
  605. if (cEntity_Base.CardID == "BT9-056")
  606. {
  607. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("unsuspend this Digimon", "you may unsuspend this Digimon");
  608. }
  609. if (cEntity_Base.CardID == "BT9-014")
  610. {
  611. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("choose any number", "you may choose any number");
  612. }
  613. if (cEntity_Base.CardID == "BT8-093")
  614. {
  615. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("you may delete this Tamer to play", "by deleting this Tamer , you may play");
  616. }
  617. if (cEntity_Base.CardID == "BT6-097")
  618. {
  619. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("Trash up to 2", "Trash 2");
  620. }
  621. if (cEntity_Base.CardID == "BT6-033")
  622. {
  623. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("trash cards", "trash any number of cards").Replace("there are 3 remaining", "you have 3 or more remaining");
  624. }
  625. if (cEntity_Base.CardID == "BT4-114")
  626. {
  627. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("You may unsuspend", "Unsuspend").Replace("their names", "their names (other than [KendoGarurumon])");
  628. }
  629. if (cEntity_Base.CardID == "BT3-090")
  630. {
  631. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("play 1 purple", "you may play 1 purple");
  632. }
  633. if (cEntity_Base.CardID == "BT2-112")
  634. {
  635. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("If you attack", "When you attack");
  636. }
  637. if (cEntity_Base.CardID == "EX4-005")
  638. {
  639. cEntity_Base.EffectDiscription_ENG = "[Digivolve][Koromon]: Cost 0" + cEntity_Base.EffectDiscription_ENG;
  640. }
  641. if (cEntity_Base.CardID == "EX4-006")
  642. {
  643. cEntity_Base.EffectDiscription_ENG = "[Digivolve][Gigimon]: Cost 0" + cEntity_Base.EffectDiscription_ENG;
  644. }
  645. if (cEntity_Base.CardID == "EX4-007")
  646. {
  647. cEntity_Base.EffectDiscription_ENG = "Digivolve: 2 from Lv.3 w/[Agumon] in name and [Dinosaur] trait" + cEntity_Base.EffectDiscription_ENG;
  648. }
  649. if (cEntity_Base.CardID == "EX4-008")
  650. {
  651. cEntity_Base.EffectDiscription_ENG = "Digivolve: 2 from Lv.3 w/[Guilmon] in name" + cEntity_Base.EffectDiscription_ENG;
  652. }
  653. if (cEntity_Base.CardID == "EX4-009")
  654. {
  655. cEntity_Base.EffectDiscription_ENG = "[Digivolve][GeoGreymon]: Cost 3" + cEntity_Base.EffectDiscription_ENG;
  656. }
  657. if (cEntity_Base.CardID == "EX4-010")
  658. {
  659. cEntity_Base.EffectDiscription_ENG = "Digivolve: 3 from Lv.4 w/[Growlmon] in name" + cEntity_Base.EffectDiscription_ENG;
  660. }
  661. if (cEntity_Base.CardID == "EX4-011")
  662. {
  663. cEntity_Base.EffectDiscription_ENG = "Digivolve: 3 from Lv.5 w/[WarGrowlmon] in name" + cEntity_Base.EffectDiscription_ENG;
  664. }
  665. if (cEntity_Base.CardID == "EX4-024")
  666. {
  667. cEntity_Base.EffectDiscription_ENG = "[Digivolve][Viximon]: Cost 0" + cEntity_Base.EffectDiscription_ENG;
  668. }
  669. if (cEntity_Base.CardID == "EX4-025")
  670. {
  671. cEntity_Base.EffectDiscription_ENG = "Digivolve: 2 from Lv.3 w/[Lopmon] or [Terriermon] in name" + cEntity_Base.EffectDiscription_ENG;
  672. }
  673. if (cEntity_Base.CardID == "EX4-026")
  674. {
  675. cEntity_Base.EffectDiscription_ENG = "[Digivolve][Renamon]: Cost 2" + cEntity_Base.EffectDiscription_ENG;
  676. }
  677. if (cEntity_Base.CardID == "EX4-027")
  678. {
  679. cEntity_Base.EffectDiscription_ENG = "[Digivolve][Veemon]: Cost 2" + cEntity_Base.EffectDiscription_ENG;
  680. }
  681. if (cEntity_Base.CardID == "EX4-028")
  682. {
  683. cEntity_Base.EffectDiscription_ENG = "[Digivolve][Kyubimon]: Cost 3" + cEntity_Base.EffectDiscription_ENG;
  684. }
  685. if (cEntity_Base.CardID == "EX4-029")
  686. {
  687. cEntity_Base.EffectDiscription_ENG = "Digivolve: 3 from Lv.4 2-color w/green" + cEntity_Base.EffectDiscription_ENG;
  688. }
  689. if (cEntity_Base.CardID == "EX4-031")
  690. {
  691. cEntity_Base.EffectDiscription_ENG = "Digivolve: 3 from Lv.5 2-color w/green" + cEntity_Base.EffectDiscription_ENG;
  692. }
  693. if (cEntity_Base.CardID == "EX4-035")
  694. {
  695. cEntity_Base.EffectDiscription_ENG = "Digivolve: 2 from Lv.3 w/[Lopmon] or [Terriermon] in name" + cEntity_Base.EffectDiscription_ENG;
  696. }
  697. if (cEntity_Base.CardID == "EX4-036")
  698. {
  699. cEntity_Base.EffectDiscription_ENG = "Digivolve: 3 from Lv.4 w/[Gargomon] in name or 2-color w/green" + cEntity_Base.EffectDiscription_ENG;
  700. }
  701. if (cEntity_Base.CardID == "EX4-037")
  702. {
  703. cEntity_Base.EffectDiscription_ENG = "Digivolve: 4 from Lv.5 w/[Rapidmon] in name or 2-color w/green" + cEntity_Base.EffectDiscription_ENG;
  704. }
  705. if (cEntity_Base.CardID == "EX5-015")
  706. {
  707. if (!cEntity_Base.EffectDiscription_ENG.Contains("Gabumon") || !cEntity_Base.EffectDiscription_ENG.Contains("Tsunomon"))
  708. {
  709. cEntity_Base.EffectDiscription_ENG = "Digivolve: 0 from [Gabumon] or [Tsunomon]" + cEntity_Base.EffectDiscription_ENG;
  710. }
  711. }
  712. if (cEntity_Base.CardID == "EX5-018")
  713. {
  714. if (!cEntity_Base.EffectDiscription_ENG.Contains("Garurumon"))
  715. {
  716. cEntity_Base.EffectDiscription_ENG = "[Digivolve][Garurumon]: Cost 0" + cEntity_Base.EffectDiscription_ENG;
  717. }
  718. }
  719. if (cEntity_Base.CardID == "EX5-027")
  720. {
  721. if (!cEntity_Base.EffectDiscription_ENG.Contains("Frimon"))
  722. {
  723. cEntity_Base.EffectDiscription_ENG = "[Digivolve][Frimon]: Cost 0" + cEntity_Base.EffectDiscription_ENG;
  724. }
  725. }
  726. if (cEntity_Base.CardID == "EX5-030")
  727. {
  728. if (!cEntity_Base.EffectDiscription_ENG.Contains("Liollmon") || !cEntity_Base.EffectDiscription_ENG.Contains("Elecmon"))
  729. {
  730. cEntity_Base.EffectDiscription_ENG = "Digivolve: 2 from [Liollmon] or [Elecmon]" + cEntity_Base.EffectDiscription_ENG;
  731. }
  732. }
  733. if (cEntity_Base.CardID == "EX5-032")
  734. {
  735. if (!cEntity_Base.EffectDiscription_ENG.Contains("Leomon"))
  736. {
  737. cEntity_Base.EffectDiscription_ENG = "[Digivolve] Lv.4 w/[Leomon] in name: Cost 3" + cEntity_Base.EffectDiscription_ENG;
  738. }
  739. }
  740. if (cEntity_Base.CardID == "EX5-044")
  741. {
  742. if (!cEntity_Base.EffectDiscription_ENG.Contains("Frimon"))
  743. {
  744. cEntity_Base.EffectDiscription_ENG = "[Digivolve][Frimon]: Cost 0" + cEntity_Base.EffectDiscription_ENG;
  745. }
  746. }
  747. if (cEntity_Base.CardID == "EX5-047")
  748. {
  749. if (!cEntity_Base.EffectDiscription_ENG.Contains("Liollmon") || !cEntity_Base.EffectDiscription_ENG.Contains("Elecmon"))
  750. {
  751. cEntity_Base.EffectDiscription_ENG = "Digivolve: 2 from [Liollmon] or [Elecmon]" + cEntity_Base.EffectDiscription_ENG;
  752. }
  753. }
  754. if (cEntity_Base.CardID == "EX5-048")
  755. {
  756. if (!cEntity_Base.EffectDiscription_ENG.Contains("Sukamon"))
  757. {
  758. cEntity_Base.EffectDiscription_ENG = "[Digivolve] Lv.4 w/[Sukamon] in name: Cost 3" + cEntity_Base.EffectDiscription_ENG;
  759. }
  760. }
  761. if (cEntity_Base.CardID == "EX5-049")
  762. {
  763. if (!cEntity_Base.EffectDiscription_ENG.Contains("Leomon"))
  764. {
  765. cEntity_Base.EffectDiscription_ENG = "[Digivolve] Lv.4 w/[Leomon] in name: Cost 3" + cEntity_Base.EffectDiscription_ENG;
  766. }
  767. }
  768. if (cEntity_Base.CardID == "EX5-055")
  769. {
  770. if (!cEntity_Base.EffectDiscription_ENG.Contains("Leomon"))
  771. {
  772. cEntity_Base.EffectDiscription_ENG = "[Digivolve] Lv.5 w/[Leomon] in name: Cost 4" + cEntity_Base.EffectDiscription_ENG;
  773. }
  774. }
  775. if (cEntity_Base.CardID == "EX5-073")
  776. {
  777. if (!cEntity_Base.EffectDiscription_ENG.Contains("Apollomon") || !cEntity_Base.EffectDiscription_ENG.Contains("Dianamon"))
  778. {
  779. cEntity_Base.EffectDiscription_ENG = "��DNA Digivolution: 0 from [Apollomon] + [Dianamon]��" + cEntity_Base.EffectDiscription_ENG;
  780. }
  781. }
  782. if (cEntity_Base.CardID == "BT7-085")
  783. {
  784. cEntity_Base.EffectDiscription_JPN = "�y�o�ꎞ�z����̃f�W����1�̂̐i�������A������3���j������B";
  785. cEntity_Base.EffectDiscription_ENG = "[On Play] Trash 3 digivolution cards from the bottom of 1 of your opponent's Digimon.";
  786. cEntity_Base.InheritedEffectDiscription_JPN = "�y�A�^�b�N���z�m�^�[����1��n���̑���̃^�[���I�����܂ŁA�i�����������Ȃ�����̃f�W����1�̂̓A�^�b�N�ƃu���b�N���ł��Ȃ��B";
  787. cEntity_Base.InheritedEffectDiscription_ENG = "[When Attacking][Once Per Turn] Until the end of your opponent's next turn, 1 of your opponent's Digimon with no digivolution cards can't attack or block.";
  788. cEntity_Base.SecurityEffectDiscription_JPN = "�y�Z�L�����e�B�z���̃J�[�h���R�X�g���x���킸�ɓo�ꂳ����B";
  789. cEntity_Base.SecurityEffectDiscription_ENG = "[Security] Play this card without paying its memory cost.";
  790. }
  791. if (cEntity_Base.CardID == "BT7-086")
  792. {
  793. cEntity_Base.EffectDiscription_JPN = "�y���C���z�m�^�[����1��n�����̃g���b�V������A�����Ɂu�n�C�u���b�h�́v�����ƒJ�[�h5�����D���ȏ��Ԃł��̃e�C�}�[�̉��ɒu�����ƂŁA���̃e�C�}�[��Ԃ�Lv.5�̃f�W�����Ƃ��Ĉ�����D�́u�J�C�[���O���C�����v�ɐi���R�X�g���x�����Đi���ł���B";
  794. cEntity_Base.EffectDiscription_ENG = "[Main][Once Per Turn] You may place 5 cards with [Hybrid] in their traits from your trash under this Tamer in any order to digivolve it into an [EmperorGreymon] in your hand for its digivolution cost as if this Tamer is a level 5 red Digimon.";
  795. cEntity_Base.InheritedEffectDiscription_JPN = "�y�����̃^�[���z���̃f�W������DP��+2000����B���̃f�W������DP��10000�ȏ�̊ԁA���̃f�W�����́�Z�L�����e�B�A�^�b�N+1��i���̃f�W�������`�F�b�N����Z�L�����e�B�̖���+1�j�𓾂�B";
  796. cEntity_Base.InheritedEffectDiscription_ENG = "[Your Turn] This Digimon gets +2000 DP. While this Digimon has 10000 DP or more, it gains <Security Attack +1>. (This Digimon checks 1 additional security card.)";
  797. cEntity_Base.SecurityEffectDiscription_JPN = "�y�Z�L�����e�B�z���̃J�[�h���R�X�g���x���킸�ɓo�ꂳ����B";
  798. cEntity_Base.SecurityEffectDiscription_ENG = "[Security] Play this card without paying its memory cost.";
  799. }
  800. if (cEntity_Base.CardID == "BT7-087")
  801. {
  802. cEntity_Base.EffectDiscription_JPN = "�y���C���z�m�^�[����1��n�����̎�D����A�����Ɂu�n�C�u���b�h�́v�����ƒJ�[�h5�����D���ȏ��Ԃł��̃e�C�}�[�̉��ɒu�����ƂŁA���̃e�C�}�[��‚�Lv.5�̃f�W�����Ƃ��Ĉ�����D�́u�}�O�i�K���������v�ɐi���R�X�g���x�����Đi���ł���B";
  803. cEntity_Base.EffectDiscription_ENG = "[Main][Once Per Turn] You may place 5 cards with [Hybrid] in their traits from your hand under this Tamer in any order to digivolve it into a [MagnaGarurumon] in your hand for its digivolution cost as if this Tamer is a level 5 blue Digimon.";
  804. cEntity_Base.InheritedEffectDiscription_JPN = "�y�����̃^�[���z�m�^�[����1��n�����̎�D�����ʂő������Ƃ��A�������[��+1����B���̌�A���̃^�[���̊ԁA���̃f�W�����̓u���b�N����Ȃ��B";
  805. cEntity_Base.InheritedEffectDiscription_ENG = "[Your Turn][Once Per Turn] When an effect adds a card to your hand, gain 1 memory. Then, this Digimon can't be blocked for the turn.";
  806. cEntity_Base.SecurityEffectDiscription_JPN = "�y�Z�L�����e�B�z���̃J�[�h���R�X�g���x���킸�ɓo�ꂳ����B";
  807. cEntity_Base.SecurityEffectDiscription_ENG = "[Security] Play this card without paying its memory cost.";
  808. }
  809. if (cEntity_Base.CardID == "BT7-088")
  810. {
  811. cEntity_Base.EffectDiscription_JPN = "�y�o�ꎞ�z�����̃Z�L�����e�B�̓��e��S�Ċm�F���āA���̒��̓����Ɂu�n�C�u���b�h�́v���u�/���m�v�����ƒJ�[�h1�����I�[�v�����Ď�D�ɉ�������B�������Ƃ�, �჊�J�o���[+1�s�f�b�L�t��i�����̓f�b�L�̏ォ��J�[�h��1���Z�L�����e�B�̏�ɒu���j�B���̌�A�����̃Z�L�����e�B���V���b�t������B";
  812. cEntity_Base.EffectDiscription_ENG = "[On Play] You may search your security stack for 1 card with [Hybrid] or [Ten Warriors] in its traits, reveal it, and add it to your hand. If you added a card to your hand, <Recovery +1 (Deck)>. (Place the top card of your deck on top of your security stack.) Then, shuffle your security stack.";
  813. cEntity_Base.InheritedEffectDiscription_JPN = "�y����̃^�[���z�����̃Z�L�����e�B�f�W�����S�Ă�DP��+3000����B";
  814. cEntity_Base.InheritedEffectDiscription_ENG = "[Opponent's Turn] All of your Security Digimon get +3000 DP.";
  815. cEntity_Base.SecurityEffectDiscription_JPN = "�y�Z�L�����e�B�z���̃J�[�h���R�X�g���x���킸�ɓo�ꂳ����B";
  816. cEntity_Base.SecurityEffectDiscription_ENG = "[Security] Play this card without paying its memory cost.";
  817. }
  818. if (cEntity_Base.CardID == "BT7-089")
  819. {
  820. cEntity_Base.EffectDiscription_JPN = "�y�����̃^�[���z���̃e�C�}�[���΂̃f�W�����ɐi������Ƃ��A�x�����i���R�X�g��-1����B";
  821. cEntity_Base.EffectDiscription_ENG = "[Your Turn] When this Tamer digivolves into a green Digimon, reduce the memory cost of the digivolution by 1.";
  822. cEntity_Base.InheritedEffectDiscription_JPN = "��ђʁ�i���̃f�W�������A�^�b�N�����o�g���ő���̃f�W�������������ł������Ƃ��A���̃f�W�����̓Z�L�����e�B���`�F�b�N����j";
  823. cEntity_Base.InheritedEffectDiscription_ENG = "<Piercing> (When this Digimon attacks and deletes an opponent's Digimon and survives the battle, it performs any security checks it normally would.)";
  824. cEntity_Base.SecurityEffectDiscription_JPN = "�y�Z�L�����e�B�z���̃J�[�h���R�X�g���x���킸�ɓo�ꂳ����B";
  825. cEntity_Base.SecurityEffectDiscription_ENG = "[Security] Play this card without paying its memory cost.";
  826. }
  827. if (cEntity_Base.CardID == "BT7-091")
  828. {
  829. cEntity_Base.EffectDiscription_JPN = "�y�o�ꎞ�z��1�h���[��i�����̃f�b�L����J�[�h��1�������j�B���̌�A�����̎�D��1���j������B";
  830. cEntity_Base.EffectDiscription_ENG = " [On Play] <Draw 1>. (Draw 1 card from your deck.) Then, trash 1 card in your hand.";
  831. cEntity_Base.InheritedEffectDiscription_JPN = "�y���Ŏ��z�������[��+1����B";
  832. cEntity_Base.InheritedEffectDiscription_ENG = "[On Deletion] Gain 1 memory.";
  833. cEntity_Base.SecurityEffectDiscription_JPN = "�y�Z�L�����e�B�z���̃J�[�h���R�X�g���x���킸�ɓo�ꂳ����B";
  834. cEntity_Base.SecurityEffectDiscription_ENG = "[Security] Play this card without paying its memory cost.";
  835. }
  836. if (cEntity_Base.CardID == "BT12-088")
  837. {
  838. cEntity_Base.EffectDiscription_JPN = "�y�����̃^�[���J�n���z�������[��2�ȉ��̂Ƃ��A3�ɂ���B";
  839. cEntity_Base.EffectDiscription_ENG = "[Start of Your Turn] If you have 2 memory or less, set your memory to 3.";
  840. cEntity_Base.InheritedEffectDiscription_JPN = "�y�����̃^�[���z���̃f�W������DP+2000�B���̃f�W������DP��10000�ȏ�̊ԁA���̃f�W�����́u�y�����̃^�[���z[�^�[���ɂP��]���̃f�W����������̃Z�L�����e�B���`�F�b�N�����Ƃ��A�������[+2�B�v�̌��ʂ𓾂�B";
  841. cEntity_Base.InheritedEffectDiscription_ENG = "[Your Turn] This Digimon gets +2000 DP. While this Digimon has 10000 or more DP, it gains \"[Your Turn][Once per Turn] When this Digimon checks an opponent's security, gain 2 memory.\"";
  842. cEntity_Base.SecurityEffectDiscription_JPN = "�y�Z�L�����e�B�z���̃J�[�h���R�X�g���x���킸�ɓo�ꂳ����B";
  843. cEntity_Base.SecurityEffectDiscription_ENG = "[Security] Play this card without paying its memory cost.";
  844. }
  845. if (cEntity_Base.CardID == "BT14-086")
  846. {
  847. cEntity_Base.EffectDiscription_JPN = "�y�����̃��C���t�F�C�Y�J�n���z����̃f�W����������Ȃ�A�������[+1�B�y���C���z���̂Ɂu�k�������v/�u���񂴂������v���܂ނ������Ɂu�f�W�΁v�����Ž����̃f�W����1�̂Ɂ�}�C���h�����N��i���̃e�C�}�[���A�i�����Ƀe�C�}�[�J�[�h���������̃f�W�����̐i�����̉��ɒu���j�B";
  848. cEntity_Base.EffectDiscription_ENG = "[Start of Your Main Phase] If your opponent has a Digimon, gain 1 memory. [Main] <Mind Link> with 1 of your Digimon with [Numemon] or [Monzaemon] in its name, or the [DigiPolice] trait. (Place this Tamer as that Digimon's bottom digivolution card if there are no Tamer cards in its digivolution cards.)";
  849. cEntity_Base.InheritedEffectDiscription_JPN = "�y���݂��̃^�[���z���̃f�W���������̂Ɂu�k�������v/�u���񂴂������v���܂ނ������Ɂu�f�W�΁v�����ŠԁA���̃f�W�����́�W���~���O��Ɓ�ċN����𓾂�B�y���݂��̃^�[���I�����z���̃f�W�����̐i��������A�u�ʕP�ь��v1�����R�X�g���x���킸�ɓo��ł���B";
  850. cEntity_Base.InheritedEffectDiscription_ENG = "[All Turns] While this Digimon has [Numemon] or [Monzaemon] in its name, or the [DigiPolice] trait, it gains <Jamming> and <Reboot>. [End of All Turns] You may play 1 [Satsuki Tamahime] from this Digimon's digivolution cards without paying the cost.";
  851. cEntity_Base.SecurityEffectDiscription_JPN = "�y�Z�L�����e�B�z���̃J�[�h���R�X�g���x���킸�ɓo�ꂳ����B";
  852. cEntity_Base.SecurityEffectDiscription_ENG = "[Security] Play this card without paying its memory cost.";
  853. }
  854. if (cEntity_Base.CardID == "BT14-087")
  855. {
  856. cEntity_Base.EffectDiscription_JPN = "�y�����̃��C���t�F�C�Y�J�n���z����̃f�W����������Ȃ�A�������[+1�B�y���C���z�����Ɂu���b�^�v/�uSoC�v�����Ž����̃f�W����1�̂Ɂ�}�C���h�����N��i���̃e�C�}�[���A�i�����Ƀe�C�}�[�J�[�h���������̃f�W�����̐i�����̉��ɒu���j�B";
  857. cEntity_Base.EffectDiscription_ENG = "[Start of Your Main Phase] If your opponent has a Digimon, gain 1 memory. [Main] <Mind Link> with 1 of your Digimon with the [Dark Animal] or [SoC] trait. (Place this Tamer as that Digimon's bottom digivolution card if there are no Tamer cards in its digivolution cards.)";
  858. cEntity_Base.InheritedEffectDiscription_JPN = "�y���݂��̃^�[���z���̃f�W�����������Ɂu���b�^�v/�uSoC�v�����ŠԁA���̃f�W�����́�A�g��Ɓ�u���b�J�[��𓾂�B�y���݂��̃^�[���I�����z���̃f�W�����̐i��������A�u�i�Z�l�m�v1�����R�X�g���x���킸�ɓo��ł���B";
  859. cEntity_Base.InheritedEffectDiscription_ENG = "[All Turns] While this Digimon has the [Dark Animal] or [SoC] trait, it gains <Alliance> and <Blocker>. [End of All Turns] You may play 1 [Eiji Nagasumi] from this Digimon's digivolution cards without paying the cost.";
  860. cEntity_Base.SecurityEffectDiscription_JPN = "�y�Z�L�����e�B�z���̃J�[�h���R�X�g���x���킸�ɓo�ꂳ����B";
  861. cEntity_Base.SecurityEffectDiscription_ENG = "[Security] Play this card without paying its memory cost.";
  862. }
  863. if (cEntity_Base.CardID == "EX4-012")
  864. {
  865. cEntity_Base.EffectDiscription_JPN = "�y�i�����zDP6000�ȉ��̑���̃f�W����1�̂����ł�����B����̃f�W����1�̂��ƂɁA����DP���Ō��ʂ̏���{2000�B�y���݂��̃^�[���z�m�^�[����1��n����̃f�W���������ł����Ƃ��A�����̃e�C�}�[������Ȃ�A�ł�DP�̍�������̃f�W����1�̂����ł�����B";
  866. }
  867. if (cEntity_Base.CardID == "BT13-007")
  868. {
  869. cEntity_Base.EffectDiscription_ENG = "[Breeding] [Your Turn] All of your Digimon can't digivolve.\n[Breeding][Your Turn][Once Per Turn] When a [Royal Knight] trait Digimon card would be played, you may reduce the play cost by 4. Further reduce it by 1 for each of this Digimon's digivolution cards.\n[Breeding][Start of Your Main Phase] Reveal the top card of your Digi - Egg deck, then pllace that card and all of your [Royal Knight] trait Digimon as this Digimon as its bottom digivolution cards.";
  870. }
  871. if (cEntity_Base.CardID == "EX5-070")
  872. {
  873. cEntity_Base.EffectDiscription_JPN = "�����̃f�W����������ԁA���̃J�[�h�͐F�����𖳎��ł���B�y�Z�L�����e�B�z���̃J�[�h����D�ɉ�����B�y���C���z�i�����ɁuX�R�́v���Ȃ������̃f�W����1�̂���D�̓����ɁuX�R�́v�����ƒf�W�����J�[�h�Ɏx�����i���R�X�g-1�Ői���ł���B���������Ƃ��A���̃J�[�h�����̃f�W�����̐i�����̉��ɒu���B�q���[���r����:�uX�R�́v�Ƃ��Ă������B";
  874. cEntity_Base.EffectDiscription_ENG = "While you have a Digimon, you may ignore this card's color requirements.[Security] Add this card to its owner's hand.[Main] 1 of your Digimon without [X Antibody] in its digivolution cards may digivolve into a Digimon card with the [X Antibody] trait in your hand with the digivolution cost reduced by 1. If it did, place this card as its bottom digivolution card.[Rule] Name: Also treated as [X Antibody].";
  875. cEntity_Base.InheritedEffectDiscription_JPN = "�y���݂��̃^�[���z���̃f�W�����������̌��ʈȊO�Ńo�g���G���A�𗣂��Ƃ��A���̃f�W�����̐i��������A�f�W�����J�[�h1������D�ɖ߂��A�uX�R�́v1���������̃Z�L�����e�B�̏�ɒu���B";
  876. cEntity_Base.InheritedEffectDiscription_ENG = "[All Turns] When this Digimon would leave the battle area other than by one of your effects, from this Digimon's digivolution cards, return 1 Digimon card to the hand and place 1 [X Antibody] on top of your security stack.";
  877. cEntity_Base.SecurityEffectDiscription_JPN = "";
  878. cEntity_Base.SecurityEffectDiscription_ENG = "";
  879. }
  880. if (!string.IsNullOrEmpty(cEntity_Base.EffectDiscription_ENG))
  881. {
  882. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("and/or", "and");
  883. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.Replace("<br>", "");
  884. }
  885. if (!string.IsNullOrEmpty(cEntity_Base.InheritedEffectDiscription_ENG))
  886. {
  887. cEntity_Base.InheritedEffectDiscription_ENG = cEntity_Base.InheritedEffectDiscription_ENG.Replace("and/or", "and");
  888. cEntity_Base.InheritedEffectDiscription_ENG = cEntity_Base.InheritedEffectDiscription_ENG.Replace("<br>", "");
  889. }
  890. if (!string.IsNullOrEmpty(cEntity_Base.SecurityEffectDiscription_ENG))
  891. {
  892. cEntity_Base.SecurityEffectDiscription_ENG = cEntity_Base.SecurityEffectDiscription_ENG.Replace("and/or", "and");
  893. cEntity_Base.SecurityEffectDiscription_ENG = cEntity_Base.SecurityEffectDiscription_ENG.Replace("<br>", "");
  894. }
  895. #endregion
  896. #region Effect Description Remove Tags
  897. cEntity_Base.EffectDiscription_ENG = cEntity_Base.EffectDiscription_ENG.GetTagRemovedString();
  898. cEntity_Base.InheritedEffectDiscription_ENG = cEntity_Base.InheritedEffectDiscription_ENG.GetTagRemovedString();
  899. cEntity_Base.SecurityEffectDiscription_ENG = cEntity_Base.SecurityEffectDiscription_ENG.GetTagRemovedString();
  900. cEntity_Base.EffectDiscription_JPN = cEntity_Base.EffectDiscription_JPN.GetTagRemovedString();
  901. cEntity_Base.InheritedEffectDiscription_JPN = cEntity_Base.InheritedEffectDiscription_JPN.GetTagRemovedString();
  902. cEntity_Base.SecurityEffectDiscription_JPN = cEntity_Base.SecurityEffectDiscription_JPN.GetTagRemovedString();
  903. #endregion
  904. }
  905. static void AttachEnglishCardDataFromDigimonDev(CEntity_Base cEntity_Base)
  906. {
  907. string url = $"https://digimoncardgame.fandom.com/wiki/{cEntity_Base.CardID}";
  908. Debug.Log(url);
  909. WebClient wc = new WebClient();
  910. wc.Encoding = Encoding.UTF8;
  911. string resultText = wc.DownloadString(url);
  912. List<string> parseByEnter = resultText.Split('\n').ToList();
  913. for (int i = 0; i < parseByEnter.Count; i++)
  914. {
  915. if (!string.IsNullOrEmpty(parseByEnter[i]))
  916. {
  917. bool replaceEmpty = true;
  918. if (i >= 3)
  919. {
  920. if (!string.IsNullOrEmpty(parseByEnter[i]) && (!string.IsNullOrEmpty(parseByEnter[i - 1]) || !string.IsNullOrEmpty(parseByEnter[i - 3])))
  921. {
  922. if (parseByEnter[i - 1].Contains("<td>Name</td>"))
  923. {
  924. replaceEmpty = false;
  925. }
  926. if (parseByEnter[i - 1].Contains("<td>Form</td>"))
  927. {
  928. replaceEmpty = false;
  929. }
  930. if (parseByEnter[i - 1].Contains("<td>Attribute</td>"))
  931. {
  932. replaceEmpty = false;
  933. }
  934. if (parseByEnter[i - 1].Contains("<td>Type</td>"))
  935. {
  936. replaceEmpty = false;
  937. }
  938. if ((parseByEnter[i - 3].Contains("Card Effect(s)") || parseByEnter[i - 3].Contains("CardEffect(s)")) && parseByEnter[i - 3].Contains("sectionheader"))
  939. {
  940. replaceEmpty = false;
  941. }
  942. if ((parseByEnter[i - 3].Contains("Inherited Effect") || parseByEnter[i - 3].Contains("InheritedEffect")) && parseByEnter[i - 3].Contains("sectionheader"))
  943. {
  944. replaceEmpty = false;
  945. }
  946. if ((parseByEnter[i - 3].Contains("Security Effect") || parseByEnter[i - 3].Contains("SecurityEffect")) && parseByEnter[i - 3].Contains("sectionheader"))
  947. {
  948. replaceEmpty = false;
  949. }
  950. }
  951. }
  952. parseByEnter[i] = parseByEnter[i].Replace("\t", "").Replace("\n", "").Trim();
  953. if (replaceEmpty)
  954. {
  955. parseByEnter[i] = parseByEnter[i].Replace(" ", "").Trim();
  956. }
  957. else
  958. {
  959. parseByEnter[i] = parseByEnter[i].GetTagRemovedString();
  960. }
  961. }
  962. }
  963. for (int i = 0; i < parseByEnter.Count; i++)
  964. {
  965. if (!string.IsNullOrEmpty(parseByEnter[i]))
  966. {
  967. if (i >= 3)
  968. {
  969. if (!string.IsNullOrEmpty(parseByEnter[i]) && (!string.IsNullOrEmpty(parseByEnter[i - 1]) || !string.IsNullOrEmpty(parseByEnter[i - 3])))
  970. {
  971. //�J�[�h��
  972. if (parseByEnter[i - 1].Contains("<td>Name</td>"))
  973. {
  974. cEntity_Base.CardName_ENG = parseByEnter[i];
  975. }
  976. //�`��
  977. if (parseByEnter[i - 1].Contains("<td>Form</td>"))
  978. {
  979. if (!string.IsNullOrEmpty(parseByEnter[i]))
  980. {
  981. if (parseByEnter[i] != "-")
  982. {
  983. cEntity_Base.Form_ENG.Add(parseByEnter[i]);
  984. }
  985. }
  986. }
  987. //����
  988. if (parseByEnter[i - 1].Contains("<td>Attribute</td>"))
  989. {
  990. if (!string.IsNullOrEmpty(parseByEnter[i]))
  991. {
  992. if (parseByEnter[i] != "-")
  993. {
  994. cEntity_Base.Attribute_ENG.Add(parseByEnter[i]);
  995. }
  996. }
  997. }
  998. //�^�C�v
  999. if (parseByEnter[i - 1].Contains("<td>Type</td>"))
  1000. {
  1001. if (!string.IsNullOrEmpty(parseByEnter[i]))
  1002. {
  1003. if (parseByEnter[i] != "-")
  1004. {
  1005. string[] typeStrings = parseByEnter[i].Split('/');
  1006. foreach (string typeString in typeStrings)
  1007. {
  1008. if (!string.IsNullOrEmpty(typeString))
  1009. {
  1010. cEntity_Base.Type_ENG.Add(typeString);
  1011. }
  1012. }
  1013. }
  1014. }
  1015. }
  1016. //����
  1017. if ((parseByEnter[i - 3].Contains("Card Effect(s)") || parseByEnter[i - 3].Contains("CardEffect(s)")) && parseByEnter[i - 3].Contains("sectionheader"))
  1018. {
  1019. if (!string.IsNullOrEmpty(parseByEnter[i]))
  1020. {
  1021. if (parseByEnter[i] != "-")
  1022. {
  1023. cEntity_Base.EffectDiscription_ENG += parseByEnter[i];
  1024. }
  1025. }
  1026. }
  1027. //�i��������
  1028. if ((parseByEnter[i - 3].Contains("Inherited Effect") || parseByEnter[i - 3].Contains("InheritedEffect")) && parseByEnter[i - 3].Contains("sectionheader"))
  1029. {
  1030. if (!string.IsNullOrEmpty(parseByEnter[i]))
  1031. {
  1032. if (parseByEnter[i] != "-")
  1033. {
  1034. cEntity_Base.InheritedEffectDiscription_ENG += parseByEnter[i];
  1035. }
  1036. }
  1037. }
  1038. //�Z�L�����e�B����
  1039. if ((parseByEnter[i - 3].Contains("Security Effect") || parseByEnter[i - 3].Contains("SecurityEffect")) && parseByEnter[i - 3].Contains("sectionheader"))
  1040. {
  1041. if (!string.IsNullOrEmpty(parseByEnter[i]))
  1042. {
  1043. if (parseByEnter[i] != "-")
  1044. {
  1045. cEntity_Base.SecurityEffectDiscription_ENG += parseByEnter[i];
  1046. }
  1047. }
  1048. }
  1049. }
  1050. }
  1051. }
  1052. }
  1053. }
  1054. static string GetTagRemovedString(string text)
  1055. {
  1056. if (!string.IsNullOrEmpty(text))
  1057. {
  1058. while (text.Contains("<") && text.Contains(">"))
  1059. {
  1060. int startIndex = text.IndexOf("<");
  1061. int endIndex = text.IndexOf(">");
  1062. string s = text.Substring(startIndex, endIndex - startIndex + 1);
  1063. text = text.Replace(s, "");
  1064. }
  1065. text = DataBase.ReplaceToASCII(text);
  1066. }
  1067. return text;
  1068. }
  1069. }
  1070. /// <summary>
  1071. /// string extension methods
  1072. /// </summary>
  1073. public static partial class StringExtensions
  1074. {
  1075. /// <summary>
  1076. /// Removes all instances of the specified string from the current string.
  1077. /// </summary>
  1078. public static string CleanString(this string self)
  1079. {
  1080. string cleanString = self;
  1081. if (!string.IsNullOrEmpty(self))
  1082. {
  1083. foreach (string str in new string[] {"\n", "\r", "\t" })
  1084. {
  1085. cleanString = cleanString.Replace(str, "");
  1086. }
  1087. }
  1088. return cleanString;
  1089. }
  1090. /// <summary>
  1091. /// Removes all tags from the current string.
  1092. /// </summary>
  1093. public static string GetTagRemovedString(this string self)
  1094. {
  1095. if (!string.IsNullOrEmpty(self))
  1096. {
  1097. while (self.Contains("<") && self.Contains(">"))
  1098. {
  1099. int startIndex = self.IndexOf("<");
  1100. int endIndex = self.IndexOf(">");
  1101. string s = self.Substring(startIndex, endIndex - startIndex + 1);
  1102. self = self.Replace(s, "");
  1103. }
  1104. self = DataBase.ReplaceToASCII(self);
  1105. }
  1106. return self;
  1107. }
  1108. }