-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathfallout.js
104 lines (104 loc) · 3.37 KB
/
fallout.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
var perksList = require('./fallout.converted.json');
var userData = require('./fallout.userSettings.json');
fs = require('fs');
// fs.writeFileSync('fallout.converted.json', JSON.stringify(convertedName, null, '\t');
// var currentPerks = [];
// var availablePerks = [];
// var desiredPerks = [];
// var blockdPerks = [];
// var dislikePerks = [];
var PerkModel = (function () {
function PerkModel(model) {
if (model) {
this.id = model.id;
this.name = model.name;
this.rank = model.rank;
this.attribute = model.attribute;
this.attributeLevel = model.attributeLevel;
this.characterLevel = model.characterLevel;
this.description = model.description;
}
}
return PerkModel;
})();
var perkModels = perksList.map(function (item) { return new PerkModel(item); });
var User = (function () {
function User() {
}
return User;
})();
var UserPerk = (function () {
function UserPerk(perk, user) {
this.perk = perk;
this.user = user;
}
UserPerk.prototype.isAvailble = function () {
if (this.isCurrent()) {
return false;
}
// Fit SPECIAL
// Fit Rank
// not desired or Required for desired
return true;
};
UserPerk.prototype.isBlocked = function () {
if (this.isCurrent()) {
return false;
}
// Not SPECIAL Or Not Fit Rank
// not desired or Required for desired
return true;
};
UserPerk.prototype.isCurrent = function () {
// Is current
return false;
// return user.hasPerk(this.perk);
};
UserPerk.prototype.isDislike = function () {
if (this.isCurrent()) {
return false;
}
// dislike and not required for desired
return false;
//return user.hasPerk(this.perk);
};
return UserPerk;
})();
var SortedPerks = (function () {
function SortedPerks() {
this.currentPerks = [];
this.availablePerks = [];
this.blockedPerks = [];
this.dislikePerks = [];
}
return SortedPerks;
})();
var sortedPerks = new SortedPerks();
perkModels.forEach(function (perk) {
var userPerk = new UserPerk(perk, userData);
if (userPerk.isCurrent()) {
sortedPerks.currentPerks.push(userPerk);
}
if (userPerk.isAvailble()) {
sortedPerks.availablePerks.push(userPerk);
}
if (userPerk.isBlocked()) {
sortedPerks.blockedPerks.push(userPerk);
}
if (userPerk.isDislike()) {
sortedPerks.dislikePerks.push(userPerk);
}
});
console.log('------------------------------------------------------------------');
console.log('--------------------AVAILABLE------------------------');
console.log('------------------------------------------------------------------');
sortedPerks.availablePerks.forEach(function (item) {
console.log(item.perk.name);
});
console.log('------------------------------------------------------------------');
console.log('--------------------BLOCKED------------------------');
console.log('------------------------------------------------------------------');
sortedPerks.blockedPerks.forEach(function (item) {
console.log(item.perk.name);
});
module.exports = function () { };