mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-08 22:33:24 +00:00
Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c8b1f7d6a | ||
|
|
62d9749660 | ||
|
|
7db185e635 | ||
|
|
e69bdac75c | ||
|
|
231f7e9267 | ||
|
|
2ef44e38b3 | ||
|
|
d051829f98 | ||
|
|
01e8e71b28 | ||
|
|
14681aa9fa | ||
|
|
b93572b18d | ||
|
|
41c4b4243a | ||
|
|
f5127c2475 | ||
|
|
db4303d3c8 | ||
|
|
8bc100714f | ||
|
|
fabd370f4a | ||
|
|
769c20154d | ||
|
|
2b5edd75cb |
@@ -556,7 +556,7 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
|
||||
function updateAmmoCosts() {
|
||||
var costs = $scope.ammoList = [];
|
||||
var total = 0, i, l, item, q, limpets = 0, scoop = false;
|
||||
var total = 0, i, l, item, q, limpets = 0, srvs = 0, scoop = false;
|
||||
|
||||
for (var g in { standard: 1, internal: 1, hardpoints: 1 }) {
|
||||
var slotGroup = ship[g];
|
||||
@@ -577,6 +577,9 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
case 'fx': case 'hb': case 'cc': case 'pc':
|
||||
limpets = ship.cargoCapacity;
|
||||
break;
|
||||
case 'pv':
|
||||
srvs += slotGroup[i].c.vehicles;
|
||||
break;
|
||||
default:
|
||||
q = slotGroup[i].c.clip + slotGroup[i].c.ammo;
|
||||
}
|
||||
@@ -596,6 +599,17 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', '
|
||||
}
|
||||
}
|
||||
|
||||
//limpets if controllers exist and cargo space available
|
||||
if (srvs > 0) {
|
||||
item = {
|
||||
ammoName: 'SRVs',
|
||||
ammoMax: srvs,
|
||||
ammoUnitCost: 6005,
|
||||
ammoTotalCost: srvs * 6005
|
||||
};
|
||||
costs.push(item);
|
||||
total += item.ammoTotalCost;
|
||||
}
|
||||
//limpets if controllers exist and cargo space available
|
||||
if (limpets > 0) {
|
||||
item = {
|
||||
|
||||
@@ -154,6 +154,7 @@ angular.module('app').config(['$translateProvider', function($translateProvider)
|
||||
proceed: 'proceed',
|
||||
pc: 'Prospector Limpet Controller',
|
||||
pl: 'Pulse Laser',
|
||||
pv: 'Planetary Vehicle Hangar',
|
||||
PWR: 'PWR',
|
||||
rg: 'Rail Gun',
|
||||
range: 'range',
|
||||
|
||||
@@ -15,7 +15,7 @@ angular.module('app').config(['$translateProvider', function($translateProvider)
|
||||
}])
|
||||
.value('Languages', {
|
||||
en: 'English',
|
||||
de: 'Deutsh',
|
||||
de: 'Deutsch',
|
||||
it: 'Italiano',
|
||||
es: 'Español',
|
||||
fr: 'Français',
|
||||
|
||||
@@ -547,8 +547,8 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
|
||||
return this;
|
||||
};
|
||||
|
||||
Ship.prototype.useUtility = function(group, rating, clobber) {
|
||||
var component = Components.findHardpoint(group, 0, rating);
|
||||
Ship.prototype.useUtility = function(group, rating, name, clobber) {
|
||||
var component = Components.findHardpoint(group, 0, rating, name);
|
||||
for (var i = this.hardpoints.length; i--; ) {
|
||||
if ((clobber || !this.hardpoints[i].c) && !this.hardpoints[i].maxClass) {
|
||||
this.use(this.hardpoints[i], component.id, component);
|
||||
|
||||
@@ -46,6 +46,7 @@ angular.module('shipyard', ['ngLodash'])
|
||||
fx: 'Fuel Transfer Limpet Controller',
|
||||
pc: 'Prospector Limpet Controller',
|
||||
cc: 'Collector Limpet Controller',
|
||||
pv: 'Planetary Vehicle Hangar',
|
||||
|
||||
// Hard Points
|
||||
bl: 'Beam Laser',
|
||||
@@ -165,6 +166,7 @@ angular.module('shipyard', ['ngLodash'])
|
||||
*/
|
||||
.constant('Discounts', {
|
||||
'0%': 1,
|
||||
'2.5%': 0.975,
|
||||
'5%': 0.95,
|
||||
'10%': 0.90,
|
||||
'15%': 0.85,
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<div class="l" ng-if="c.c.maxmass">{{'max mass' | translate}}: {{c.c.maxmass}} <u translate="T"></u></div>
|
||||
<div class="l" ng-if="c.c.bins">{{c.c.bins}} <u translate="bins"></u></div>
|
||||
<div class="l" ng-if="c.c.rate">{{'rate' | translate}}: {{c.c.rate}} <u>kg/s</u> {{'refuel time' | translate}}: {{$r.fTime(fuel * 1000 / c.c.rate)}}</div>
|
||||
<div class="l" ng-if="c.c.vehicles">{{'vehicles' | translate}}: {{c.c.vehicles}}</div>
|
||||
<div class="l" ng-if="c.c.ammo">{{'ammo' | translate}}: {{$r.fCrd(c.c.ammo)}}</div>
|
||||
<div class="l" ng-if="c.c.cells">{{'cells' | translate}}: {{c.c.cells}}</div>
|
||||
<div class="l" ng-if="c.c.recharge">{{'recharge' | translate}}: {{c.c.recharge}} <u>MJ</u> {{'total' | translate}}: {{c.c.cells * c.c.recharge}} <u>MJ</u></div>
|
||||
|
||||
@@ -296,6 +296,10 @@
|
||||
<li class="c" ng-click="useUtility('sb','B')">B</li>
|
||||
<li class="c" ng-click="useUtility('sb','A')">A</li>
|
||||
</ul>
|
||||
<div class="select-group cap" translate="Heat Sink Launcher"></div>
|
||||
<ul>
|
||||
<li class="lc" ng-click="useUtility('cm',null,'Heat Sink Launcher')" translate="Heat Sink Launcher"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="slot" ng-repeat="h in ship.hardpoints | filter:{maxClass: '0'}" ng-click="selectSlot($event, h)" context-menu="select('h', h, $event, 'empty')" ng-class="{selected: selectedSlot==h}">
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<th rowspan="2" class="sortable le" ng-click="sortShips('name')" translate="ship"></th>
|
||||
<th rowspan="2" class="sortable" ng-click="sortShips('manufacturer')" translate="manufacturer"></th>
|
||||
<th rowspan="2" class="sortable" ng-click="sortShips('class')" translate="size"></th>
|
||||
<th rowspan="2" class="sortable" ng-click="sortShips('agility')" translate="agility"></th>
|
||||
<th colspan="4" translate="base"></th>
|
||||
<th colspan="4" translate="max"></th>
|
||||
<th colspan="5" class="sortable" ng-click="sortShips('hpCount')" translate="hardpoints"></th>
|
||||
@@ -49,6 +50,7 @@
|
||||
<td class="le" ng-bind="s.manufacturer"></td>
|
||||
<!-- Pad Size -->
|
||||
<td class="cap" ng-bind="SZM[s.class] | translate"></td>
|
||||
<td class="ri" ng-bind="s.agility"></td>
|
||||
<!-- Base -->
|
||||
<td class="ri">{{fCrd(s.speed)}} <u translate>m/s</u></td>
|
||||
<td class="ri">{{fCrd(s.boost)}} <u translate>m/s</u></td>
|
||||
|
||||
2
data
2
data
Submodule data updated: a3afc00fa3...bb316e77b2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "coriolis_shipyard",
|
||||
"version": "1.9.0",
|
||||
"version": "1.10.1",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/cmmcleod/coriolis"
|
||||
|
||||
@@ -268,8 +268,8 @@
|
||||
"fuelCapacity": 32,
|
||||
"cargoCapacity": 128,
|
||||
"ladenMass": 1339.2,
|
||||
"armour": 2078,
|
||||
"armourAdded": 240,
|
||||
"armour": 2228,
|
||||
"armourAdded": 390,
|
||||
"armourMultiplier": 1.95,
|
||||
"shieldMultiplier": 1.4,
|
||||
"totalCost": 882362060,
|
||||
|
||||
2
test/fixtures/expected-builds.json
vendored
2
test/fixtures/expected-builds.json
vendored
@@ -45,6 +45,6 @@
|
||||
"Attack": "25A5C4A4D6A4A3C1r0s0s0s0s000404-04-4a-5d27-.Iw18aQ==.Aw18aQ=="
|
||||
},
|
||||
"eagle": {
|
||||
"Figther": "42A3A3A1D2A2A2C0p0p24-40532j.Iw19A===.Aw19A==="
|
||||
"Figther": "42A3A3A1D2A2A2C0p0p24-40532j-.Iw1-EA==.Aw1-EA=="
|
||||
}
|
||||
}
|
||||
3
test/fixtures/valid-detailed-export.json
vendored
3
test/fixtures/valid-detailed-export.json
vendored
@@ -3423,7 +3423,8 @@
|
||||
"class": 1,
|
||||
"rating": "A",
|
||||
"group": "Fuel Scoop"
|
||||
}
|
||||
},
|
||||
null
|
||||
]
|
||||
},
|
||||
"stats": {
|
||||
|
||||
@@ -76,10 +76,24 @@ describe('Database', function() {
|
||||
expect(ids[id]).toBeFalsy('ID already exists: ' + id);
|
||||
expect(group[c].eddbID).toBeDefined('Standard component' + id + ' is missing EDDB ID');
|
||||
//validateEDDBId('Standard', group[c]);
|
||||
expect(group[c].grp).toBeDefined('Common component has no group defined, Type: ' + i + ', ID: ' + c);
|
||||
expect(group[c].grp).toBeDefined('Standard component has no group defined, Type: ' + i + ', ID: ' + c);
|
||||
ids[id] = true;
|
||||
}
|
||||
}
|
||||
|
||||
for (var s in DB.components.bulkheads) {
|
||||
var bulkheadSet = DB.components.bulkheads[s];
|
||||
for (var b in bulkheadSet) {
|
||||
var id = bulkheadSet[b].id;
|
||||
expect(ids[id]).toBeFalsy('ID already exists: ' + id);
|
||||
expect(bulkheadSet[b].eddbID).toBeDefined('Bulkhead component' + id + ' is missing EDDB ID');
|
||||
//validateEDDBId('Bulkheads', group[c]);
|
||||
expect(bulkheadSet[b].cost).toBeDefined('Bulkhead has no cost defined, ID: ' + id);
|
||||
expect(bulkheadSet[b].mass).toBeDefined('Bulkhead has no mass defined, ID: ' + id);
|
||||
ids[id] = true;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
it('has valid hardpoints', function() {
|
||||
|
||||
Reference in New Issue
Block a user