001package com.fs.starfarer.api.impl.campaign.missions.academy; 002 003import java.awt.Color; 004 005import com.fs.starfarer.api.campaign.econ.MarketAPI; 006import com.fs.starfarer.api.characters.PersonAPI; 007import com.fs.starfarer.api.impl.campaign.ids.People; 008import com.fs.starfarer.api.ui.TooltipMakerAPI; 009import com.fs.starfarer.api.util.Misc; 010 011public class GATalkToBaird extends GABaseMission { 012 013 public static enum Stage { 014 TALK_TO_BAIRD, 015 COMPLETED, 016 } 017 018 protected PersonAPI baird; 019 020 @Override 021 protected boolean create(MarketAPI createdAt, boolean barEvent) { 022 // if already accepted by the player, abort 023 if (!setGlobalReference("$gaTTB_ref")) { 024 return false; 025 } 026 027 baird = getImportantPerson(People.BAIRD); 028 if (baird == null) return false; 029 030 setStartingStage(Stage.TALK_TO_BAIRD); 031 addSuccessStages(Stage.COMPLETED); 032 033 setStoryMission(); 034 035 makeImportant(baird, null, Stage.TALK_TO_BAIRD); 036 setStageOnMemoryFlag(Stage.COMPLETED, baird.getMarket(), "$gaTTB_completed"); 037 038 setRepFactionChangesNone(); 039 setRepPersonChangesNone(); 040 041 beginStageTrigger(Stage.TALK_TO_BAIRD); 042 triggerSetGlobalMemoryValuePermanent("$bairdWantsToTalk", true); 043 endTrigger(); 044 045 return true; 046 } 047 048 protected void updateInteractionDataImpl() { 049 050 } 051 052 @Override 053 public void addDescriptionForNonEndStage(TooltipMakerAPI info, float width, float height) { 054 float opad = 10f; 055 Color h = Misc.getHighlightColor(); 056 if (currentStage == Stage.TALK_TO_BAIRD) { 057 info.addPara("Talk to Provost " + baird.getName().getLast() + " at the Galatia Academy.", opad); 058 } 059 } 060 061 @Override 062 public boolean addNextStepText(TooltipMakerAPI info, Color tc, float pad) { 063 Color h = Misc.getHighlightColor(); 064 if (currentStage == Stage.TALK_TO_BAIRD) { 065 info.addPara("Talk to Provost " + baird.getName().getLast() + " at the Galatia Academy", tc, pad); 066 return true; 067 } 068 return false; 069 } 070 071 @Override 072 public String getBaseName() { 073 return "Talk to Provost " + baird.getName().getLast(); 074 } 075 076 @Override 077 public String getPostfixForState() { 078 if (startingStage != null) { 079 return ""; 080 } 081 return super.getPostfixForState(); 082 } 083 084 085} 086 087 088 089 090