package com.lucasdnd.ags.gameplay.actions; import java.util.Random; /** * Describes the Actions a Character an perform inside the store. The Action may be related to a Product, * like renting a game, playing a console or eating something. Hence the 3 Market Products as Attributes. * * The list of Strings are the things a character may speak before, during or after performing that Action. * * @author tulio * */ public abstract class Action { // The Character State related to this Action protected int state; // What the Character thinks of this current Action. // If he's trying to rent a game and the store doesn't have it, it will be negative, for example. protected int actionRating; protected int positiveActionPoints; // How many points a positive reaction will grant protected int negativeActionPoints; // same, for negative // What the Character may say about that protected String[] neutralTalks; protected String[] negativeTalks; protected String[] positiveTalks; public String getRandomNeutralTalk() { return neutralTalks[new Random().nextInt(neutralTalks.length)]; } public String getRandomNegativeTalk() { return negativeTalks[new Random().nextInt(negativeTalks.length)]; } public String getRandomPositiveTalk() { return positiveTalks[new Random().nextInt(positiveTalks.length)]; } public int getState() { return state; } public void setState(int state) { this.state = state; } public String[] getNeutralTalks() { return neutralTalks; } public void setNeutralTalks(String[] neutralTalks) { this.neutralTalks = neutralTalks; } public String[] getNegativeTalks() { return negativeTalks; } public void setNegativeTalks(String[] negativeTalks) { this.negativeTalks = negativeTalks; } public String[] getPositiveTalks() { return positiveTalks; } public void setPositiveTalks(String[] positiveTalks) { this.positiveTalks = positiveTalks; } public int getActionRating() { return actionRating; } public void setActionRating(int actionRating) { this.actionRating = actionRating; } public int getPositiveActionPoints() { return positiveActionPoints; } public void setPositiveActionPoints(int positiveActionPoints) { this.positiveActionPoints = positiveActionPoints; } public int getNegativeActionPoints() { return negativeActionPoints; } public void setNegativeActionPoints(int negativeActionPoints) { this.negativeActionPoints = negativeActionPoints; } }