Files
shelter-editor/index.html
T
2016-07-16 13:44:59 -05:00

200 lines
8.4 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, width=device-width, user-scalable=no">
<title>Fallout Shelter - Save Editor</title>
<meta name="description" content="Web app to edit Fallout Shelter save games. You can change dwellers SPECIAL, other stats and vault's resources.">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/style.css">
</head>
<body ng-app="shelter" ng-controller="dwellerController">
<div class="container">
<div class="row box" ng-show="section == 'vault'">
<div class="col-sm-12 vault_info">
<form ng-show="fileName" name="vaultForm">
<div class="form-group row" ng-class="{ 'has-error': vaultForm.vaultName.$invalid }">
<div class="col-sm-4">
<label>Name</label>
<input type="text" class="form-control" name="vaultName" placeholder="Vault Name" ng-model="save.vault.VaultName" ng-pattern="/^[0-9]{3}$/">
</div>
<div class="col-sm-4">
<label>Caps</label>
<input type="number" class="form-control" name="caps" ng-model="save.vault.storage.resources.Nuka">
</div>
<div class="col-sm-4">
<label>NukaColaQuantum</label>
<input type="number" class="form-control" name="nuka" ng-model="save.vault.storage.resources.NukaColaQuantum">
</div>
</div>
<div class="form-group row">
<div class="col-sm-4">
<label>Lunch Boxes</label>
<input type="number" class="form-control" name="lunchbox" ng-model="lunchboxCount">
</div>
<div class="col-sm-4">
<label>Mr. Handies</label>
<input type="number" class="form-control" name="handy" ng-model="handyCount">
</div>
<div class="col-sm-4">
<label>Pet Carrier</label>
<input type="number" class="form-control" name="petCarrier" ng-model="petCarrierCount">
</div>
<div class="col-sm-4">
<label>Starter Pack</label>
<input type="number" class="form-control" name="starterPack" ng-model="starterPackCount">
</div>
</div>
<div class="form-group row">
<div class="col-sm-4">
<label>Food</label>
<input type="number" class="form-control" name="caps" ng-model="save.vault.storage.resources.Food">
</div>
<div class="col-sm-4">
<label>Energy</label>
<input type="number" class="form-control" name="energy" ng-model="save.vault.storage.resources.Energy">
</div>
<div class="col-sm-4">
<label>Water</label>
<input type="number" class="form-control" name="water" ng-model="save.vault.storage.resources.Water">
</div>
</div>
<div class="form-group row">
<div class="col-sm-6">
<label>Stimpack</label>
<input type="number" class="form-control" name="stimpack" ng-model="save.vault.storage.resources.StimPack">
</div>
<div class="col-sm-6">
<label>RadAway</label>
<input type="number" class="form-control" name="radaway" ng-model="save.vault.storage.resources.RadAway">
</div>
</div>
</form>
</div>
</div>
<div class="row box" ng-show="section == 'dwellers'">
<div class="dwellers list-group col-sm-4">
<a ng-repeat="d in save.dwellers.dwellers" ng-click="editDweller(d);" ng-class="{ 'active': dweller == d }" class="list-group-item">{{ d.name }} {{ d.lastName }}</a>
</div>
<div class="dweller_info col-sm-8" ng-hide="!dweller.name">
<a href="#" class="back_button glyphicon glyphicon-chevron-left" ng-click="closeDweller()">Back</a>
<form name="dwellerForm">
<div class="form-group row">
<div class="col-sm-4">
<label>First Name</label>
<input type="text" class="form-control" name="firstName" placeholder="First Name" ng-model="dweller.name">
</div>
<div class="col-sm-4">
<label>Last Name</label>
<input type="text" class="form-control" name="lastName" placeholder="Last Name" ng-model="dweller.lastName">
</div>
<div class="col-sm-4">
<label>Gender</label>
<select class="form-control" name="gender" ng-model="dweller.gender" ng-options="key*1 as value for (key,value) in { 1: 'Female', 2: 'Male' }"></select>
</div>
</div>
<div class="form-group row">
<div class="col-sm-4">
<label>Happiness</label>
<input type="number" min="0" max="100" class="form-control" name="happiness" ng-model="dweller.happiness.happinessValue">
</div>
<div class="col-sm-4">
<label>Health</label>
<input type="number" class="form-control" name="health" ng-model="dweller.health.healthValue">
</div>
<div class="col-sm-4">
<label>Radiation</label>
<input type="number" class="form-control" name="radiation" ng-model="dweller.health.radiationValue">
</div>
<div class="col-sm-4">
<label>Level</label>
<input type="number" class="form-control" name="level" ng-model="dweller.experience.currentLevel">
</div>
</div>
<div class="form-group row">
<div class="col-sm-1 stat" ng-repeat="stat in dweller.stats.stats">
<label ng-bind="statsName[$index]" class="center"></label>
<div class="bar" ng-class="'value' + stat.value"></div>
<input type="number" class="form-control" ng-model="stat.value" min="0" max="10">
</div>
</div>
<div class="row save">
<button type="button" class="btn btn-primary pull-right" ng-click="maxSpecial()">Max Stats</button>
</div>
</form>
</div>
</div>
<div class="row tabs">
<a href="#" class="tab">Fallout Shelter - Save Editor</a>
<a href="#shelter" ng-hide="!save.dwellers" class="tab" ng-click="section = 'vault'" ng-class="{ 'active': section == 'vault' }">Vault {{ save.vault.VaultName }}<small></small></a>
<a href="#dweller" ng-hide="!save.dwellers" class="tab" ng-click="section = 'dwellers'" ng-class="{ 'active': section == 'dwellers' }">Dwellers <small>({{ save.dwellers.dwellers.length }})</small></a>
</div>
<div class="row save">
<button class="btn btn-primary pull-right" ng-click="download()" ng-show="fileName">Save</button>
</div>
<br>
<div class="instructions">
Drag a save file here (e.g. Vault1.sav) <br />
or select one here<br><input type="file" id="sav_file" name="sav_file" />
</div>
<div class="presets">
<br><label title="Savefile names can only be 'Vault1.sav', 'Vault2.sav' or 'Vault3.sav'">Savefile Name: </label> <input type="text" name="presetSaveName" id="presetSaveName" placeholder="Vault1.sav" value="Vault1.sav" ><hr>
<button class="btn" onclick="preset('NewSave', document.getElementById('presetSaveName').value)">New Save</button>
<button class="btn" onclick="preset('Stats9999', document.getElementById('presetSaveName').value)">All 9999</button>
<button class="btn" onclick="preset('SuperDwellers', document.getElementById('presetSaveName').value)">Super Dwellers</button>
<button class="btn" onclick="preset('SuperHack', document.getElementById('presetSaveName').value)">Super Hack</button>
</div>
</div>
<script src="js/jquery-2.1.4.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/json2.min.js"></script>
<script src="js/aes.js"></script>
<script src="js/FileSaver.js"></script>
<script src="js/shelter.js"></script>
</body>
</html>