001package com.fs.starfarer.api.impl.campaign; 002 003import java.awt.Color; 004import java.util.Random; 005 006import com.fs.starfarer.api.Global; 007import com.fs.starfarer.api.campaign.AICoreOfficerPlugin; 008import com.fs.starfarer.api.campaign.econ.CommoditySpecAPI; 009import com.fs.starfarer.api.characters.PersonAPI; 010import com.fs.starfarer.api.ui.Alignment; 011import com.fs.starfarer.api.ui.TooltipMakerAPI; 012 013/** 014 * 015 */ 016public class BaseAICoreOfficerPluginImpl implements AICoreOfficerPlugin { 017 public PersonAPI createPerson(String aiCoreId, String factionId, Random random) { 018 return null; 019 } 020 021 public void createPersonalitySection(PersonAPI person, TooltipMakerAPI tooltip) { 022 float opad = 10f; 023 Color text = person.getFaction().getBaseUIColor(); 024 Color bg = person.getFaction().getDarkUIColor(); 025 CommoditySpecAPI spec = Global.getSettings().getCommoditySpec(person.getAICoreId()); 026 027 tooltip.addSectionHeading("Personality: fearless", text, bg, Alignment.MID, 20); 028 tooltip.addPara("In combat, the " + spec.getName() + " is single-minded and determined. " + 029 "In a human captain, its traits might be considered reckless. In a machine, they're terrifying.", opad); 030 } 031 032 033// public StoryPointActionDelegate createIntegrateDelegate(final PersonAPI person, final FleetMemberAPI member) { 034// return new StoryPointActionDelegate() { 035// public String getTitle() { 036// return "Integrating " + person.getNameString() + " into " + member.getShipName(); 037// } 038// public TextPanelAPI getTextPanel() { 039// return null; 040// } 041// public float getBonusXPFraction() { 042// return 1f; 043// } 044// public void createDescription(TooltipMakerAPI info) { 045// float opad = 10f; 046// float pad = 3f; 047// float small = 5f; 048// Color h = Misc.getHighlightColor(); 049// 050// info.addPara("Fully integrate this AI core into the ship, giving it improved access to all " + 051// "subsystems.", 0f); 052// 053// info.addPara(BaseIntelPlugin.BULLET + "Increases the AI core's level by %s and grants an additional skill", small, h, "1"); 054// info.addPara(BaseIntelPlugin.BULLET + "Can not be removed by any means short of scuttling the ship", 0f); 055// } 056// 057// public void confirm() { 058// OfficerLevelupPlugin plugin = (OfficerLevelupPlugin) Global.getSettings().getPlugin("officerLevelUp"); 059// List<String> skills = plugin.pickLevelupSkills(person, null); 060// if (!skills.isEmpty()) { 061// Misc.setUnremovable(person, true); 062// person.getStats().setLevel(person.getStats().getLevel() + 1); 063// person.getStats().setSkillLevel(skills.get(0), 2); 064// } 065// } 066// }; 067// } 068 069} 070 071 072 073