Interface UserObject<T>

Type Parameters:
T - Your implementation of user/character.
All Superinterfaces:
FieldedObject<T>, InventoryHolderObject<T>, LifeObject<T>, ScriptObject<T>

public interface UserObject<T>
extends LifeObject<T>, InventoryHolderObject<T>
This is a script proxy for user/character objects.
  • Method Details

    • getId

      int getId()
      The user's id, typically their database key or sn
      Returns:
      user id
    • getName

      String getName()
      Returns:
      the user's name, duh
    • getGuild

      Optional<GuildObject> getGuild()
    • getParty

      Optional<PartyObject> getParty()
    • getQuestHolder

      QuestHolderObject getQuestHolder()
    • isInGuild

      default boolean isInGuild()
    • isInParty

      default boolean isInParty()
    • isCreateGuildPossible

      int isCreateGuildPossible​(int cost)
      Returns:
      status code, bms
    • isCreateGuildPossible

      default int isCreateGuildPossible()
    • createNewGuild

      void createNewGuild​(int cost)
      Sends the Create Guild Dialogue -> Contract for party members.
    • createNewGuild

      default void createNewGuild()
    • removeGuild

      boolean removeGuild​(int cost)
    • removeGuild

      default boolean removeGuild()
    • getBuddyCapacity

      int getBuddyCapacity()
    • increaseBuddyCapacity

      boolean increaseBuddyCapacity​(int amount, int cost)
    • increaseBuddyCapacity

      default boolean increaseBuddyCapacity​(int amount)
    • getScriptVariable

      String getScriptVariable​(String key)
      Script variables are special values that are stored on a per-user basis. They are used cross-script for various purposes. Examples include Free Market portals and World Trip. The relationship is a String:String map. If you don't wish to store like that, you should shove the data into an unused quest like nexon does.
      Parameters:
      key -
      Returns:
      the value stored
    • getScriptVariable

      default String getScriptVariable​(int value)
    • setScriptVariable

      boolean setScriptVariable​(String key, String value)
    • setScriptVariable

      default boolean setScriptVariable​(String key, Integer value)
    • setScriptVariable

      default boolean setScriptVariable​(String key, String format, Object... objects)
    • talkTo

      void talkTo​(String scriptName)
      This doesn't necessarily have to be immediate. Recommended procedure is to add an on-end-event for current script, to go to the next script.
      Parameters:
      scriptName - the script to chain to
    • talkTo

      void talkTo​(int npcId)
      Talks to an NPC in the Field by template ID.
      Parameters:
      npcId - - The NPC used to grab the script name.
    • openShop

      void openShop​(int shopId)
      See above for implementation recommendations.
      Parameters:
      shopId - the shop id to load
    • transferField

      boolean transferField​(int fieldId)
      This doesn't necessarily have to be an immediate transfer. You can register an on-script-end event to transfer after script has finished.
      Parameters:
      fieldId - the map/field to transfer to
      Returns:
      true if transfer was successful
    • transferField

      boolean transferField​(int fieldId, int spawnPoint)
      Parameters:
      spawnPoint - Portal Id
    • transferField

      boolean transferField​(int fieldId, String spawnPoint)
      Parameters:
      spawnPoint - Portal name
    • learnSkill

      boolean learnSkill​(int skillId, int level, int mastery)
      Teach the user the skill provided.
      Parameters:
      skillId - - Skill id
      level - - Skill level
      mastery - - Skill mastery
      Returns:
      true if user learned the targeted skill, level, & mastery.
    • forgetSkill

      boolean forgetSkill​(int skillId)
      Parameters:
      skillId - - Skill id
      Returns:
      true if the skill was forgotten/removed.
    • learnSkill

      default boolean learnSkill​(int skillId, int level)
    • learnSkill

      default boolean learnSkill​(int skillId)
    • giveBuffItem

      boolean giveBuffItem​(int buffItemId)
      Gives the user a buff based on a consumable itemId.
      Parameters:
      buffItemId - a consumable itemId
      Returns:
      true if the operation is successful.
    • giveBuffSkill

      boolean giveBuffSkill​(int skillId)
      Gives the user a buff based on a skill id.
      Parameters:
      skillId - a skill .wz id
      Returns:
      true if the operation is successful.
    • hireTutor

      boolean hireTutor()
    • fireTutor

      boolean fireTutor()
    • hasTutor

      boolean hasTutor()
      Returns:
      is a tutor active on the user's client?
    • tutorMessage

      void tutorMessage​(int value, int duration)
    • tutorMessage

      default void tutorMessage​(int value)
    • tutorMessage

      default void tutorMessage​(String value)
    • tutorMessage

      void tutorMessage​(String value, int width, int duration)
    • setStandAloneMode

      void setStandAloneMode​(boolean set)
    • setDirectionMode

      void setDirectionMode​(boolean set)
    • getGender

      int getGender()
      Unfortunately, there are only three Genders in MapleStory #confirmed 0 = MALE 1 = FEMALE 2 = BOTH
      Returns:
      The user's gender represented as an integer.
    • isMale

      default boolean isMale()
      Gender in 2019?
      Returns:
      true if the User's gender is set to Male.
    • isFemale

      default boolean isFemale()
      Always false, trust me. Not the return value.
      Returns:
      true if the User's gender is set to Female.
    • getHair

      int getHair()
      Retrieves the User's current Hair Identifier.
      Returns:
      hairId as an integer
    • getFace

      int getFace()
      Retrieves the User's current Face Identifier.
      Returns:
      faceId as an integer
    • setHair

      boolean setHair​(int hairId)
      Sets the user's Hair identifier.
      Parameters:
      hairId - A Hair identifier
      Returns:
      true if the operation completes successfully.
    • setFace

      boolean setFace​(int faceId)
      Sets the user's Face identifier.
      Parameters:
      faceId - A Face identifier
      Returns:
      true if the operation completes successfully.
    • getSkin

      int getSkin()
      Retrieves the User's current Skin Identifier.
      Returns:
      skinId as an integer
    • getStrength

      int getStrength()
      Retrieves the user's Strength stat.
      Returns:
      The user's STR as an Integer.
    • getDexterity

      int getDexterity()
      Retrieves the user's Dexterity stat.
      Returns:
      The user's DEX as an Integer.
    • getIntelligence

      int getIntelligence()
      Retrieves the user's Intelligence stat.
      Returns:
      The user's INT as an Integer.
    • getLuck

      int getLuck()
      Retrieves the user's Luck stat.
      Returns:
      The user's LUK as an Integer.
    • getFame

      int getFame()
      Retrieves the user's current fame stat.
      Returns:
      The user's current POP as an integer
    • getMoney

      int getMoney()
      Returns:
      the user's current mesos/money amount
    • hasMoney

      default boolean hasMoney​(int amount)
    • increaseMoney

      boolean increaseMoney​(int amount)
      Parameters:
      amount - the amount to increased/decreased
      Returns:
      if money was increased successfully
    • decreaseMoney

      default boolean decreaseMoney​(int amount)
    • getLevel

      int getLevel()
      Returns:
      user's current level
    • getExperience

      long getExperience()
      Returns:
      user's current experience
    • increaseExp

      boolean increaseExp​(int amount, boolean quest)
      Increases a user's current experience.
      Parameters:
      amount - - The amount to increase by
      quest - - For how the packet is shown. true should show the notice into the chatlog. false should show it on the right status. Most scripts will have no need to change this, but :shrug:.
      Returns:
      true if able to increase
    • increaseExp

      default boolean increaseExp​(int amount)
    • getAbilityPoints

      int getAbilityPoints()
      Returns:
      user's ability points
    • increaseAbilityPoints

      boolean increaseAbilityPoints​(int amount)
      Parameters:
      amount - - The amount to increase by
      Returns:
      true if able to increase
    • decreaseAbilityPoints

      default boolean decreaseAbilityPoints​(int amount)
      Parameters:
      amount - - The amount to increase by
      Returns:
      true if able to decrease
    • getSkillPoints

      int getSkillPoints​(int tier)
      Returns the user's skill points based on tier. If your version doesn't have skill point tiers, just return the current skill point amount.
      Parameters:
      tier - AKA 'JobLevel', the different skill tabs for Evans and other ExtendSP jobs.
    • getSkillPoints

      int getSkillPoints()
    • increaseSkillPoints

      boolean increaseSkillPoints​(int amount, int tier)
      Increases a user's available skill points.
      Parameters:
      amount - - The amount to increase by
      tier - - The tier to increase. Used for jobs that have split skill points. Evan & Dual Blade. Later versions split all skills, while lower don't.
    • increaseSkillPoints

      boolean increaseSkillPoints​(int amount)
      Increases a user's available skill points. If your user has tiered skill points, you should default to the current active tier.
      Parameters:
      amount - - The amount to increase by
    • setJob

      boolean setJob​(short jobCode, boolean isJobAdvancement)
      This is intended to be used for job advancement, but doesn't have to be.
      Parameters:
      jobCode - A Short job identifier.
      isJobAdvancement - if true, the user's stats should increase as they would per job advancement.
      Returns:
      true if the operation completes successfully.
    • setJob

      default boolean setJob​(short jobCode)
      Parameters:
      jobCode - A Short job identifier.
      Returns:
      true if the operation completes successfully.
      See Also:
      setJob(short, boolean)
    • getJobId

      int getJobId()
      Returns:
      a user's current job id
    • isAdmin

      default boolean isAdmin()
    • isAran

      default boolean isAran()
    • isBeginner

      default boolean isBeginner()
    • isBattleMage

      default boolean isBattleMage()
    • isCygnus

      default boolean isCygnus()
    • isDualBlade

      default boolean isDualBlade()
    • isExtendedSPJob

      default boolean isExtendedSPJob()
    • isEvan

      default boolean isEvan()
    • isManager

      default boolean isManager()
    • isMechanic

      default boolean isMechanic()
    • isResistance

      default boolean isResistance()
    • isWildHunter

      default boolean isWildHunter()
    • resetAp

      int resetAp​(int remain)
      Resets the User's AP in all 4 primary stats (STR, DEX, LUK, INT)
      Parameters:
      remain - How much AP should remain after resetting (typically min of 4)
      Returns:
      The # of AP reset.
    • resetAp

      default int resetAp()
      Calls resetAp(int) with a value of 4, the standard default minimum AP per stat.
      Returns:
      The # of AP reset.
    • openSkillGuide

      void openSkillGuide()
    • openClassCompetitionPage

      void openClassCompetitionPage()
    • getChannelId

      int getChannelId()
      Returns:
      The user's current channelId.