mirror of
https://github.com/RussellChamp/Grimoire.git
synced 2026-10-27 16:12:33 +00:00
Updated the printing of intelligent items; added minimum value threshold
This commit is contained in:
1 parent
2219b0d69b
commit
c6b80fb7d4
3 files changed
+68
-54
No files matched your search
+52
-42
@@ -15,6 +15,7 @@
|
||||
this.spellType = "arcane";
|
||||
this.casterLevel = 1;
|
||||
this.baseCost = 1000;
|
||||
this.minimumTotalCost = 0;
|
||||
|
||||
this.sources = [
|
||||
{
|
||||
@@ -80,41 +81,56 @@
|
||||
};
|
||||
|
||||
this.generateItems = function() {
|
||||
var tries = 10;
|
||||
var itemList = {};
|
||||
itemList.items = [];
|
||||
do {
|
||||
itemList.items = [];
|
||||
if(tries === 0) {
|
||||
itemList.notes = "ERROR: Could not generate items over " + self.minimumTotalCost + "gp after 10 tries";
|
||||
break;
|
||||
}
|
||||
|
||||
if(self.radio) {
|
||||
//console.log("Generating item from " + self.radio);
|
||||
var source = self.radio.split("|");
|
||||
var types = ["minor", "medium", "major"];
|
||||
for(var idx in types) { //for each item level
|
||||
for(var i = 0; i < self.itemCount[idx]; i++) {
|
||||
itemList.items.push(self.generateItem(source[1], types[idx]));
|
||||
if(self.radio) {
|
||||
//console.log("Generating item from " + self.radio);
|
||||
var source = self.radio.split("|");
|
||||
var types = ["minor", "medium", "major"];
|
||||
for(var idx in types) { //for each item level
|
||||
for(var i = 0; i < self.itemCount[idx]; i++) {
|
||||
itemList.items.push(self.generateItem(source[1], types[idx]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
var ss = "";
|
||||
for( var idx in self.sources) {
|
||||
var source = self.sources[idx];
|
||||
if(source.selected) {
|
||||
ss += source.shortName + " ";
|
||||
else {
|
||||
var ss = "";
|
||||
for( var idx in self.sources) {
|
||||
var source = self.sources[idx];
|
||||
if(source.selected) {
|
||||
ss += source.shortName + " ";
|
||||
}
|
||||
}
|
||||
if(ss) {
|
||||
//console.log("Generating items from " + ss);
|
||||
itemList.items = Grimoire.getItems(self.itemCount[0], self.itemCount[1], self.itemCount[2]);
|
||||
}
|
||||
else {
|
||||
console.log("Error: No sources selected");
|
||||
}
|
||||
}
|
||||
if(ss) {
|
||||
//console.log("Generating items from " + ss);
|
||||
itemList.items = Grimoire.getItems(self.itemCount[0], self.itemCount[1], self.itemCount[2]);
|
||||
}
|
||||
else {
|
||||
console.log("Error: No sources selected");
|
||||
}
|
||||
}
|
||||
itemList.timestamp = new Date();
|
||||
tries--;
|
||||
} while(self.minimumTotalCost && self.getValue(itemList.items) < self.minimumTotalCost);
|
||||
self.addItemList(itemList);
|
||||
};
|
||||
|
||||
this.generateIntelligence = function(cost) {
|
||||
var list = {};
|
||||
var itemInt = Intelligence.getItemIntelligence(cost);
|
||||
var list = {
|
||||
items: [{
|
||||
name: "Intelligent Item",
|
||||
intelligence: itemInt,
|
||||
cost: cost + itemInt.cost,
|
||||
}],
|
||||
};
|
||||
/*
|
||||
var stats = Intelligence.getItemIntelligence(cost).print().split(";");
|
||||
list.notes = "";
|
||||
for(var s in stats) {
|
||||
@@ -124,10 +140,14 @@
|
||||
}
|
||||
|
||||
list.timestamp = new Date();
|
||||
self.itemLists.push(list);
|
||||
*/
|
||||
self.addItemList(list);
|
||||
};
|
||||
|
||||
this.addItemList = function(list) {
|
||||
if(!list.timestamp) {
|
||||
list.timestamp = new Date();
|
||||
}
|
||||
self.itemLists.push(list);
|
||||
setTimeout(function() { self.scrollItemsBottom(); }, 200);
|
||||
//otherwise the scroll will get ahead of the add
|
||||
@@ -151,24 +171,14 @@
|
||||
};
|
||||
|
||||
this.getDeity = function() {
|
||||
self.itemLists.push({
|
||||
timestamp: new Date(),
|
||||
items: [
|
||||
{
|
||||
name: "Deity: " + Grimoire.getDeity()
|
||||
}
|
||||
],
|
||||
self.addItemList({
|
||||
notes: "Deity: " + Grimoire.getDeity(),
|
||||
});
|
||||
};
|
||||
|
||||
this.getEnergyType = function() {
|
||||
self.itemLists.push({
|
||||
timestamp: new Date(),
|
||||
items: [
|
||||
{
|
||||
name: "Energy Type: " + Grimoire.getEnergyResistance()
|
||||
}
|
||||
],
|
||||
self.addItemList({
|
||||
notes: "Energy Type: " + Grimoire.getEnergyResistance()
|
||||
});
|
||||
};
|
||||
|
||||
@@ -180,7 +190,7 @@
|
||||
itemList.spells.push(Spells.getLevelSpell(level, type));
|
||||
itemList.timestamp = new Date();
|
||||
console.log(itemList);
|
||||
self.itemLists.push(itemList);
|
||||
self.addItemList(itemList);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -221,7 +231,7 @@
|
||||
}
|
||||
|
||||
itemList.timestamp = new Date();
|
||||
self.itemLists.push(itemList);
|
||||
self.addItemList(itemList);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
.footer {
|
||||
height: 2em;
|
||||
white-space:nowrap;
|
||||
padding-bottom:4em;
|
||||
}
|
||||
|
||||
.list-header {
|
||||
@@ -47,6 +48,10 @@ input.numberbox {
|
||||
width: 4em;
|
||||
display:inline-block;
|
||||
}
|
||||
input.largecount {
|
||||
width: 10em;
|
||||
display:inline-block;
|
||||
}
|
||||
|
||||
.sourceItem {
|
||||
padding: .2em;
|
||||
|
||||
+11
-12
@@ -32,12 +32,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
<div class="menu">
|
||||
QUICK BUTTONS
|
||||
Get Deity
|
||||
Get Energy Type
|
||||
Get Spell (level)
|
||||
Generate Spell Book (caster level)
|
||||
Generate Item Intelligence (price)
|
||||
QUICK BUTTONS OR ADS?
|
||||
</div>
|
||||
</div>
|
||||
<!--LIST OF ITEM LISTS-->
|
||||
@@ -51,9 +46,11 @@
|
||||
<span ng-if="grimoire.getValue(list.items) > 0"><strong>Total Value: </strong>{{grimoire.getValue(list.items)|number}}gp</span>
|
||||
<ul>
|
||||
<li ng-repeat="item in list.items track by $index">{{item.name}}<span ng-if="item.description"> {{item.description}}</span><span ng-if="item.cost > 0"> {{item.cost|number}}gp</span><a class="super" target="_blank" ng-if="item.url" href={{item.url}}>link</a>
|
||||
<ul ng-if="item.intelligence"><li>{{item.intelligence.print()}}</li></ul></li>
|
||||
<!--PRINT ITEM INTELLIGENCE-->
|
||||
<ul ng-if="item.intelligence"><li ng-repeat="stat in item.intelligence.print().split(';')" ng-if="stat.split(':')[0] != 'Cost'"><strong>{{stat.split(':')[0]}}:</strong>{{stat.split(':')[1]}}</li></ul></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<!--START SPELLS LIST-->
|
||||
<li ng-repeat="spell in list.spells track by $index">{{spell.name}} ({{spell.type}}, Level {{spell.level}}) {{spell.source}}</li>
|
||||
</ul>
|
||||
{{list.notes}}
|
||||
@@ -61,11 +58,13 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 big footer">
|
||||
<div class="col-md-3 menu">Minor Item <input type="number" class="numberbox form-control" ng-model="grimoire.itemCount[0]"></div>
|
||||
<div class="col-md-3 menu">Medium Item <input type="number" class="numberbox form-control" ng-model="grimoire.itemCount[1]"></div>
|
||||
<div class="col-md-3 menu">Major Item <input type="number" class="numberbox form-control" ng-model="grimoire.itemCount[2]"></div>
|
||||
<div class="col-md-3 menu"><input type="button" value="GO" ng-click="grimoire.generateItems()"></div>
|
||||
<div class="col-md-12 footer">
|
||||
<div class="col-md-7">
|
||||
<div class="col-md-4 big menu">Minor Item <input type="number" class="numberbox form-control" ng-model="grimoire.itemCount[0]"></div>
|
||||
<div class="col-md-4 big menu">Medium Item <input type="number" class="numberbox form-control" ng-model="grimoire.itemCount[1]"></div>
|
||||
<div class="col-md-4 big menu">Major Item <input type="number" class="numberbox form-control" ng-model="grimoire.itemCount[2]"></div>
|
||||
</div>
|
||||
<div class="col-md-5 menu"><input type="button" value="GO" class="big" ng-click="grimoire.generateItems()">(Minimum Total Cost: <input type="number" class="largecount form-control" ng-model="grimoire.minimumTotalCost">gp)</div>
|
||||
</div>
|
||||
<div class="col-md-12 footer">
|
||||
<strong>Quick Links:</strong>
|
||||
|
||||
Reference in new issue
Block a user