68 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from flask import Flask, render_template, jsonify, request
 | |
| 
 | |
| app = Flask(__name__)
 | |
| 
 | |
| @app.route('/')
 | |
| def index():
 | |
|     return render_template('index.html')
 | |
| 
 | |
| @app.route('/results', methods=['POST'])
 | |
| def results():
 | |
|     combinations = calculate_combinations(request.get_json())
 | |
|     return jsonify(combinations)
 | |
| 
 | |
| 
 | |
| # Data Methods
 | |
| def calculate_combinations(equipment, do_print=False):
 | |
|     # name, defense, resistance
 | |
|     eq_headware = equipment["head"]
 | |
|     eq_chestware = equipment["chest"]
 | |
|     eq_legwear = equipment["legs"]
 | |
| 
 | |
|     # Create a list of all possible eq combinations
 | |
|     results = []
 | |
|     for hw in eq_headware:
 | |
|         for cw in eq_chestware:
 | |
|             for lw in eq_legwear:
 | |
|                 result = {}
 | |
|                 result["eq"] = [hw[0], cw[0], lw[0]]
 | |
|                 result["def"] = hw[1] + cw[1] + lw[1]
 | |
|                 result["res"] = hw[2] + cw[2] + lw[2]
 | |
|                 results.append(result)
 | |
| 
 | |
|     # Sort the combinations by combined total of def anf res
 | |
|     results.sort(key=lambda i: i["def"] + i["res"])
 | |
| 
 | |
|     if do_print:
 | |
|         for result in results:
 | |
|             print("{} ({} def {} res) -".format(result["def"] + result["res"], result["def"], result["res"]))
 | |
|             for eq in result["eq"]:
 | |
|                 print("\t{}".format(eq))
 | |
| 
 | |
|     return results
 | |
| 
 | |
| 
 | |
| """
 | |
| eq_headware = [
 | |
|     ["Ljosalfar Hood", 98, 510],
 | |
|     ["Kobold Hood", 0, 614],
 | |
|     ["Northern Cowl", 584, 130],
 | |
|     ["High Fomorian Hood", 487, 112]
 | |
| ]
 | |
| 
 | |
| eq_chestware = [
 | |
|     ["Ljosalfar Robe", 121, 528],
 | |
|     ["High Fomorian Garb", 544, 0],
 | |
|     ["Darkest Garb", 514, 169],
 | |
|     ["Northern Garb", 535, 119],
 | |
|     ["Northern Robe", 486, 108]
 | |
| ]
 | |
| 
 | |
| eq_legwear = [
 | |
|     ["Northern Boots", 636, 142],
 | |
|     ["Terra Boots", 129, 369],
 | |
|     ["High Fomorian Boots", 516, 0],
 | |
|     ["Ljosalfar Boots", 280, 280]
 | |
| ]
 | |
| """
 |