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;
}
}