31 if (
entity.isPlayerFleet()) {
35 SectorEntityToken target = debris.getEntity().getContainingLocation().addCustomEntity(
36 null,
null, Entities.DEBRIS_FIELD_SHARED, debris.getEntity().getFaction().getId());
37 debris.getEntity().getContainingLocation().removeEntity(target);
40 target.getLocation().set(debris.getEntity().getLocation());
42 MemoryAPI debrisMemory = debris.getEntity().getMemory();
43 debrisMemory.set(MemFlags.SALVAGE_DEBRIS_FIELD, debris, 0);
44 target.setMemory(debrisMemory);
56 SalvageEntityGenDataSpec
spec = SalvageEntityGeneratorOld.getSalvageSpec(target.getCustomEntityType());
58 spec.getDropValue().clear();
59 spec.getDropRandom().clear();
61 spec.getDropValue().addAll(debris.getEntity().getDropValue());
62 spec.getDropRandom().addAll(debris.getEntity().getDropRandom());
64 spec.setProbDefenders(debris.getParams().defenderProb * debris.getParams().density);
65 spec.setMinStr(debris.getParams().minStr * debris.getParams().density);
66 spec.setMaxStr(debris.getParams().maxStr * debris.getParams().density);
67 spec.setMaxDefenderSize(debris.getParams().maxDefenderSize);
68 spec.setDefFaction(debris.getParams().defFaction);
70 float xp = debris.getParams().baseSalvageXP * debris.getParams().density;
71 spec.setXpSalvage(xp);
182 CampaignFleetAPI fleet =
getFleet();
183 if (fleet ==
null)
return null;
185 DebrisFieldTerrainPlugin scavenged =
null;
186 DebrisFieldTerrainPlugin usable =
null;
187 for (CampaignTerrainAPI curr : fleet.getContainingLocation().getTerrainCopy()) {
188 if (curr.getPlugin() instanceof DebrisFieldTerrainPlugin) {
189 DebrisFieldTerrainPlugin debris = (DebrisFieldTerrainPlugin) curr.getPlugin();
190 if (debris.containsEntity(fleet)) {
191 if (debris.isScavenged()) {
200 if (usable !=
null)
return usable;
206 Color gray = Misc.getGrayColor();
207 Color highlight = Misc.getHighlightColor();
209 tooltip.addTitle(
spec.getName());
212 tooltip.addPara(
"Pick through a debris field looking for anything of value.", pad);
215 if (debris ==
null) {
216 tooltip.addPara(
"Your fleet is not currently inside a debris field.", Misc.getNegativeHighlightColor(), pad);
217 }
else if (debris.isScavenged()) {
218 tooltip.addPara(
"Your fleet is inside a debris field, but it contains nothing of value.", Misc.getNegativeHighlightColor(), pad);
220 tooltip.addPara(
"Your fleet is inside a debris field and can begin scavenging.", Misc.getPositiveHighlightColor(), pad);