mirror of
				https://github.com/Investigamer/cardconjurer.git
				synced 2025-10-28 13:50:25 -05:00 
			
		
		
		
	ask urza
This commit is contained in:
		
							
								
								
									
										22
									
								
								ask/askUrza.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								ask/askUrza.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| var fullAbilityList = new Array() | ||||
|  | ||||
| function loadAbilities() { | ||||
|     var xhttp = new XMLHttpRequest(); | ||||
|     xhttp.onreadystatechange = function() { | ||||
|         if (this.readyState == 4) { | ||||
|             fullAbilityList = xhttp.responseText.split("$$$") | ||||
|             for (var i = 0; i < 3; i ++) { | ||||
|                 fullAbilityList[i] = fullAbilityList[i].split(";") | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     xhttp.open("GET", "/askUrza/planeswalkerAbilities.txt", true); | ||||
|     xhttp.send(); | ||||
| } | ||||
|  | ||||
| function randomAbility(index) { | ||||
|     possibleAbilities = fullAbilityList[index] | ||||
|     document.getElementById("askUrzaResult").innerHTML = possibleAbilities[Math.floor(Math.random() * (possibleAbilities.length - 1))].replace(/\\"/g, '"') | ||||
| } | ||||
|  | ||||
| loadAbilities() | ||||
							
								
								
									
										82
									
								
								ask/askUrzaAbilityListGenerator.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								ask/askUrzaAbilityListGenerator.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,82 @@ | ||||
| <!DOCTYPE html PUBLIC> | ||||
| <html> | ||||
| <head> | ||||
|   <title>Ask Scryfall - Ability List Generator</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| </body> | ||||
| <script> | ||||
|     var plusAbilities = new Array() | ||||
|     var minusAbilities = new Array() | ||||
|     var ultimateAbilities = new Array() | ||||
|     function importPlaneswalkers(request) { | ||||
|         var xhttp = new XMLHttpRequest(); | ||||
|         xhttp.onreadystatechange = function() { | ||||
|             if (this.readyState == 4 && this.status == 200) { | ||||
|                 var planeswalkerList = this.responseText.split('oracle_text":"') | ||||
|                 var planeswalkerNameList = this.responseText.replace(/","name":"/g, "").split('"name":"') | ||||
|                 //console.log(planeswalkerNameList) | ||||
|                 var iAdjust = 0 | ||||
|                 for (var i = 1; i < planeswalkerList.length; i++) { | ||||
|                     var planeswalkerAbilityList = planeswalkerList[i].split('",')[0].split(/\\n/g) | ||||
|                     var planeswalkerName = planeswalkerNameList[i - iAdjust].split(/",/g)[0] | ||||
|                     if (planeswalkerName.includes(" // ")) { | ||||
|                         planeswalkerName = planeswalkerName.split(" // ")[1] | ||||
|                     } | ||||
|                     for (var n = 0; n < planeswalkerAbilityList.length; n++) { | ||||
|                         if (planeswalkerAbilityList[n].includes(":")) { | ||||
|                             var abilityText = planeswalkerAbilityList[n].substr(planeswalkerAbilityList[n].indexOf(": ") + 2) | ||||
|                             if (abilityText != undefined) { | ||||
|                                 //console.log(abilityText, planeswalkerName, iAdjust) | ||||
|                                 abilityText = abilityText.replace(planeswalkerName, "Urza, Academy Headmaster") | ||||
|                                 var abilityType = planeswalkerAbilityList[n].split(":")[0] | ||||
|                                 if (!abilityType.includes("X")) { | ||||
|                                     if (abilityType.includes("+")) { | ||||
|                                         //plus | ||||
|                                         plusAbilities[plusAbilities.length] = abilityText | ||||
|                                     } else if (abilityType.includes("\u2212") && parseInt(abilityType.replace("\u2212", "")) > 4) { | ||||
|                                         //ult | ||||
|                                         ultimateAbilities[ultimateAbilities.length] = abilityText | ||||
|                                     } else if (abilityType.includes("\u2212") || abilityType == "0") { | ||||
|                                         //minus | ||||
|                                         minusAbilities[minusAbilities.length] = abilityText | ||||
|                                     } else { | ||||
|                                     //do nothing | ||||
|                                     } | ||||
|                                 } | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                     if (i < planeswalkerList.length - 1 && planeswalkerList[i - 1].includes('"card_faces"')) { | ||||
|                         iAdjust += 1 | ||||
|                     } | ||||
|                 } | ||||
|                 if (this.responseText.includes('"has_more":true')) { | ||||
|                     importPlaneswalkers(this.responseText.split('"next_page":"')[1].split('","data"')[0].replace(/\\u0026/g, "&")) | ||||
|                 } else { | ||||
|                     var allAbilities = [plusAbilities, minusAbilities, ultimateAbilities] | ||||
|                     let csvContent = "data:text/csv;charset=utf-8,"; | ||||
|                      | ||||
|                     allAbilities.forEach(function(rowArray) { | ||||
|                         csvContent += rowArray.join(";") + "$$$"; | ||||
|                     }) | ||||
|                     var encodedUri = encodeURI(csvContent) | ||||
|                     var download = document.createElement('a') | ||||
|                     download.href = encodedUri | ||||
|                     download.download = 'planeswalkerAbilities.txt' | ||||
|                     document.body.appendChild(download) | ||||
|                     download.click() | ||||
|                 } | ||||
|             } else if (this.readyState == 4 && this.status == 404) { | ||||
|                 alert("An error occurred. Please try again."); | ||||
|             } | ||||
|         } | ||||
|         xhttp.open("GET", request, true); | ||||
|         xhttp.send(); | ||||
|     } | ||||
|     importPlaneswalkers("https://api.scryfall.com/cards/search?order=released&q=type%3Dplaneswalker") | ||||
| </script> | ||||
| </html> | ||||
|  | ||||
|  | ||||
							
								
								
									
										86
									
								
								ask/index.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								ask/index.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,86 @@ | ||||
| <?php include('../globalHTML/header.php'); ?> | ||||
|     <title>Ask Urza 2.0</title> | ||||
|     <h2 class='readable-background header-extension title center'>Ask Urza 2.0</h2> | ||||
|     <style> | ||||
|         .askUrzaGrid { | ||||
|             display: grid; | ||||
|             grid-template-columns: 1fr 1fr 1fr; | ||||
|             grid-template-rows: auto 90pt auto; | ||||
|             align-items: center; | ||||
|             justify-items: center; | ||||
|             grid-gap: 2rem; | ||||
|         } | ||||
|         .urzaCard { | ||||
|             width: 90vw; | ||||
|             text-align: center; | ||||
|             grid-column: 1 / span 3; | ||||
|         } | ||||
|         .urzaCard > img { | ||||
|             width: 100%; | ||||
|             height: auto; | ||||
|         } | ||||
|         .askUrzaButton { | ||||
|             height: auto; | ||||
|             width: 22vw; | ||||
|             transition: 0.25s; | ||||
|             cursor: pointer; | ||||
|         } | ||||
|         #askUrzaResult { | ||||
|             grid-column: 1 / span 3; | ||||
|             padding: 1rem; | ||||
|             margin: 0.5rem; | ||||
|             border-radius: 1rem; | ||||
|             font: 1.5rem belerenb; | ||||
|         } | ||||
|         @media screen and (min-width: 864pt) { | ||||
|             .askUrzaGrid { | ||||
|                 grid-template-columns: calc(360pt) 1fr 1fr 1fr !important; | ||||
|                 grid-template-rows: 92pt auto !important; | ||||
|             } | ||||
|             .urzaCard { | ||||
|                 grid-column: 1; | ||||
|                 grid-row: 1 / span 2 !important; | ||||
|             } | ||||
|             #askUrzaResult { | ||||
|                 grid-column: 2 / span 3 !important; | ||||
|             } | ||||
|         } | ||||
|         @media screen and (min-width: 380pt) { | ||||
|             .urzaCard { | ||||
|                 width: 360pt; | ||||
|             } | ||||
|             .askUrzaButton { | ||||
|                 height: auto; | ||||
|                 width: 100pt; | ||||
|                 transition: 0.25s; | ||||
|             } | ||||
|             .askUrzaButton:hover { | ||||
|                 width: 110pt; | ||||
|             } | ||||
|             .askUrzaButton:active { | ||||
|                 width: 120pt !important; | ||||
|             } | ||||
|         } | ||||
|     </style> | ||||
|     <div class="askUrzaGrid layer margin-large"> | ||||
|         <div class="urzaCard"> | ||||
|             <img src="/askUrza/urzaBlank.png"> | ||||
|         </div> | ||||
|         <div> | ||||
|             <img class="askUrzaButton" src="/askUrza/plus.png" onclick="randomAbility(0)"> | ||||
|         </div> | ||||
|         <div> | ||||
|             <img class="askUrzaButton" src="/askUrza/minus.png" onclick="randomAbility(1)"> | ||||
|         </div> | ||||
|         <div> | ||||
|             <img class="askUrzaButton" src="/askUrza/ultimate.png" onclick="randomAbility(2)"> | ||||
|         </div> | ||||
|         <h3 id="askUrzaResult" class='readable-background'></h3> | ||||
|     </div> | ||||
|     <div class="readable-background layer margin-large"> | ||||
|         <h5> | ||||
|             Ask Urza 2.0 is a replacement for AskUrza.com that periodically compiles all planeswalker abilities and sorts them into three categories for use with Urza, Academy Headmaster. This allows for much more unpredictability and, in my opinion, much more fun. To use Ask Urza, simply click on the +1, -1, or -6, and let the gods of chaos decide your fate! | ||||
|         </h5> | ||||
|     </div> | ||||
|     <script defer src="/askUrza/askUrza.js"></script> | ||||
| <?php include('../globalHTML/footer.php'); ?> | ||||
							
								
								
									
										
											BIN
										
									
								
								ask/minus.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ask/minus.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 47 KiB | 
							
								
								
									
										1
									
								
								ask/planeswalkerAbilities.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ask/planeswalkerAbilities.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								ask/plus.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ask/plus.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 44 KiB | 
							
								
								
									
										
											BIN
										
									
								
								ask/ultimate.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ask/ultimate.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 49 KiB | 
							
								
								
									
										
											BIN
										
									
								
								ask/urzaBlank.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ask/urzaBlank.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 653 KiB | 
		Reference in New Issue
	
	Block a user
	 Kyle
					Kyle