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 GAIntro extends GABaseMission { 012 013 public static enum Stage { 014 GO_TO_ACADEMY, 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("$gaIntro_ref")) { 024 return false; 025 } 026 027 baird = getImportantPerson(People.BAIRD); 028 if (baird == null) return false; 029 030 setStartingStage(Stage.GO_TO_ACADEMY); 031 addSuccessStages(Stage.COMPLETED); 032 033 setStoryMission(); 034 035 makeImportant(baird.getMarket(), null, Stage.GO_TO_ACADEMY); 036 setStageOnMemoryFlag(Stage.COMPLETED, baird.getMarket(), "$gaIntro_completed"); 037 038 setRepFactionChangesNone(); 039 setRepPersonChangesNone(); 040 041 return true; 042 } 043 044 protected void updateInteractionDataImpl() { 045 046 } 047 048 @Override 049 public void addDescriptionForNonEndStage(TooltipMakerAPI info, float width, float height) { 050 float opad = 10f; 051 Color h = Misc.getHighlightColor(); 052 if (currentStage == Stage.GO_TO_ACADEMY) { 053 info.addPara("Go to the Galatia Academy and meet with the new Provost, " + baird.getNameString() + ".", opad); 054 } 055 } 056 057 @Override 058 public boolean addNextStepText(TooltipMakerAPI info, Color tc, float pad) { 059 Color h = Misc.getHighlightColor(); 060 if (currentStage == Stage.GO_TO_ACADEMY) { 061 info.addPara("Go to the Galatia Academy", tc, pad); 062 return true; 063 } 064 return false; 065 } 066 067 @Override 068 public String getBaseName() { 069 return "Visit the Academy"; 070 } 071 072 @Override 073 public String getPostfixForState() { 074 if (startingStage != null) { 075 return ""; 076 } 077 return super.getPostfixForState(); 078 } 079 080 081} 082 083 084 085 086