001package com.fs.starfarer.api.campaign;
002
003import java.util.List;
004import java.util.Map;
005import java.util.Set;
006
007import com.fs.starfarer.api.campaign.rules.MemoryAPI;
008import com.fs.starfarer.api.characters.AdminData;
009import com.fs.starfarer.api.characters.FullName.Gender;
010import com.fs.starfarer.api.characters.PersonAPI;
011
012public interface CharacterDataAPI {
013
014        PersonAPI getPerson();
015        
016        String getName();
017
018        
019        MemoryAPI getMemory();
020        MemoryAPI getMemoryWithoutUpdate();
021
022        Set<String> getAbilities();
023        void addAbility(String id);
024        void removeAbility(String id);
025
026        Map<String, Object> getCustom();
027
028        Set<String> getHullMods();
029        void addHullMod(String id);
030        void removeHullMod(String id);
031
032        boolean knowsHullMod(String id);
033
034        List<AdminData> getAdmins();
035        void addAdmin(PersonAPI admin);
036        void removeAdmin(PersonAPI admin);
037
038        void setPortraitName(String portraitName);
039        void setName(String name, Gender gender);
040
041        Set<String> getSkillsEverMadeElite();
042
043        String getSavefileVersion();
044
045        void setSavefileVersion(String skillVersion);
046
047        String getHonorific();
048        void setHonorific(String honorific);
049
050}