OfficialCardListUtility.cs 72 KB

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